C语言输入输出教学方法的探讨

2022-05-30 07:43王晓东
客联 2022年6期
关键词:输入输出C语言

摘 要:输入输出是C语言程序设计课程教学的重要内容,重点是printf函数和scanf函数的学习与应用。本文简述了在教学实践中如何讲解C语言输入输出知识的经验和方法,并且解答了学生在编程实践中遇到的常见问题。

关键词:C语言;教学;输入;输出

一、引言

在编写程序时经常需要从键盘输入数据,或者将程序的运行结果显示在屏幕上,那么如何完成这一类的功能呢?这里要和学生讲清楚,C语言本身并不提供专用的输入/输出语句,其输入/输出功能是由标准输入/输出库函数实现的,相应的头文件是stdio.h。这样做的好处显而易见,大大降低了学习输入输出知识的难度,只需要学生掌握几个专用库函数的用法即可。

在讲解C语言输入输出库函数时,可以先简单介绍一下putchar函数和getchar函数,这两个库函数是专门用于单个字符数据的输入和输出的。putchar函数是字符输出库函数,其功能是在屏幕上输出一个字符,给学生讲解以下这个案例即可。

char c='A';

putchar('A'); /*输出大写字母A*/

putchar(c); /*输出字符变量c的值,即大写字母A*/

getchar函数是字符输入库函数。其功能是从键盘上输入一个字符,并以回车键确认,给学生讲解以下这个案例即可。

char c;

c=getchar(); /*从键盘输入一个字符*/

putchar函数和getchar函数的功能很有限,一次只能输入或输出一个字符。格式化输入输出函数一次能够输入或输出多个不同类型的数据,而且可以规定格式。其中printf函数用来向标准输出设备(显示器)输出数据,scanf函数则用来从标准输入设备(键盘)输入数据,这也是C语言输入输出知识教学的重点。

二、printf

printf函数是格式输出库函数,其一般形式为:printf(格式控制字符串,输出项列表);例如:

int a=3,b=5;

printf("a=%d,b=%d\n",a,b);

输出结果是:

a=3,b=5

printf函数的参数分为格式控制字符串和输出项列表两类。格式控制字符串是函数的第一个参数,调用时不能省略。其中包括普通字符和格式字符,用来输出一些提示信息,以及控制输出项列表的输出格式。普通字符按原样输出,格式字符由%和格式说明字符组成,用于说明对应输出项的输出格式。在讲课时应先让学生熟练掌握几种基本类型数据的格式符,例如%d对应十进制整数,%f对应浮点数,%c对应字符,%s则对应字符串。

输出项列表列出需要输出的数据项,它们可以是变量、常量、表达式和函数调用等等,各个输出项之间用逗号隔开。输出项的数目可以是多个,甚至也可以是0,这取决于程序员编程时的实际需要。例如:

int i=97;

char c='A';

printf("i=%d,c=%c",i,c);

程序运行结果为:

i=97,c=A

"i=%d,c=%c"是格式控制字符串,其中“i=”和“,c=”的内容都是普通字符,因此按原样输出。%d和%c是格式字符,表示在相应位置将输出项列表中的第一个数据项(即i)以十进制整数的形式输出,将第二个数据项(即c)以字符的形式输出。讲课时应对学生强调,格式字符和输出项列表中的数据项在数量和类型上都应该保持一致。至于类似于%5.2f这样的细节知识,教师可以在适当时机和学生提一下,它表示以五位浮点数的格式输出,并带两位小数。

三、scanf

scanf是格式输入库函数,其一般形式为:scanf(格式控制字符串,地址列表);scanf函数的形式与printf函数有很多相似的地方,讲课时会相对轻松一些,重点是让学生注意两个库函数之间的联系与区别。scanf的参数也由两部分组成,分别是格式控制字符串和地址列表。格式控制字符串用来控制输入数据的格式,它包括格式字符和普通字符。scanf函数的格式字符与printf函数相似,但是也有一些不同之处。例如双精度型数据专门用%lf描述,举例如下:

int i;

float f;

long l;

double d;

scanf("%d%f%ld%lf",&i,&f,&l,&d);/*l是長整型,使用%ld;d是双精度型,使用%lf*/

格式字符应与存放数据的变量在类型上严格保持一致,否则scanf函数将停止处理,变量就无法得到正确的数值。宽度指示符成为输入截取符,用来按指定的宽度截取输入的数据。例如:

scanf("%2d%4d%f",&x,&y,&z);/*从键盘输入x,y,z的值*/

如果程序运行时输入:10200 9.3<回车>,则将10赋给x,200赋给y,9.3赋给z。其中%2d控制第一个数据只取两个字符,将前面的10转换成整数赋给x;%4d控制第二个数据只取4个字符,但是截取了200之后,接下来的第4个字符是空格,因此将200赋给y。

格式控制字符串中的普通字符实际上是数据分隔符,以分隔多个数据,默认数据分隔符是空格。从键盘输入时,不仅要原封不动地输入这些字符,而且它们的位置也不能改变。例如:scanf("a=%d,b=%d",&a,&b);在程序运行时,应该按照如下的方式输入:

a=12,b=34<回车>

否则变量a和b就不能得到正确的数值。讲课时应建议学生在使用scanf函数时,尽量将格式控制字符串写得简单明了,以方便数据的输入。

四、结语

scanf函数和printf函数是C语言输入输出知识教学的重点,教学时应让学生切实理解函数参数的意义,掌握格式控制字符串的书写方法,并在编程实践中熟练运用。

参考文献:

[1] 王晓东. C程序设计简明教程(第二版)[M].北京:中国水利水电出版社, 2008.

猜你喜欢
输入输出C语言
基于Visual Studio Code的C语言程序设计实践教学探索
基于C语言的计算机软件编程
高职高专院校C语言程序设计教学改革探索
虹桥THALES二次雷达S模式信号输出配置探讨
浅议习得理论下初中英语教学的策略调整
高中英语阅读与写作有效结合
丰富输出活动提升语用能力研究
论子函数在C语言数据格式输出中的应用