5.2 格式输入输出函数
格式化输入输出函数就是之前常用的函数scanf_s()与函数printf(),函数scanf()_s用于标准输入,也就是通过键盘读取并格式化;函数printf()用于标准输出,即输出数据到屏幕上。
5.2.1 格式输出函数printf()
格式输出函数printf()主要是将标准输入流读入的数据向输出设备进行输出,一般形式如下:
printf("格式字符串"); printf("格式字符串",输出项列表);
说明如下:
(1)“格式字符串”用来指定输出的格式,由“普通字符”和“格式控制字符”组成。“普通字符”是除了格式说明符之外的需要原样输出的字符,一般是输出时的提示性信息,也可以输出空格及转义字符;“格式控制字符”由“%”和格式说明符组成,如%c、%d、%f等,用于将输出项依次转换为指定的格式输出。
例如,若已经定义了基本整型变量a并且将a赋值为10,则可以这样输出a的值:
int a=10; printf(“变量a 的值为:%d\n”, a);
输出的结果如下:
a的值是:10
C语言中的格式字符及说明如表5-1所示。
表5-1 C语言中的格式字符及说明
(2)“输出项列表”是需要输出的若干数据的列表,各项间由逗号隔开,每一项既可以是常量、变量,也可以是表达式,按照“格式字符串”规定的格式输出具体的值。例如,上个例子中也可以这样输出结果:
例如,若已经定义了基本整型变量a、b,并且将a赋值为10,b的值为a+5,则可以这样输出a和b的值:
int a=10,b; printf(“a=%d b=%d\n”, a, a+5);
输出的结果如下:
a=10 b=15
【例5.1】编写程序,定义整型变量a,字符型变量b,浮点型变量c,并为a、b、c分别赋值,最后通过输出函数printf()输出变量a、b、c的值(源代码\ch5\5.1.txt)。
程序运行结果如图5-1所示。
图5-1 例5.1的程序运行结果
5.2.2 格式输入函数scanf_s()
格式输入函数scanf_s()与printf()相对应,按照用户所指定的格式通过键盘将数据输入到指定的变量之中。函数scanf_s()的书写格式如下:
scanf_s("格式字符串",地址列表);
说明如下:
(1)“格式字符串”的含义与函数printf()中的“格式字符串”基本相同,由“普通字符”和“格式控制字符”组成,用来指定输入的格式。
(2)“地址列表”是由若干个地址组成的列表,变量的地址可以利用运算符&(取地址符号)求出。
(3)程序运行时,按照“格式字符串”的格式依次输入数据,其中“普通字符”要在输入的时候原样录入,以“回车”作为输入结束的标志。
【例5.2】编写程序,定义整型变量a、b,浮点型变量c、d,通过输入函数scanf_s()在键盘中输入数值,最后输出变量a、b、c、d的值(源代码\ch5\5.2.txt)。
程序运行结果如图5-2所示。
图5-2 例5.2的程序运行结果
☆大牛提醒☆
函数scanf_s()“格式字符串”中的“普通字符”都需要在运行程序时原样输入,为了避免不必要的操作造成程序运行时的失误,建议除了“格式控制字符”之外只保留最基本的分隔符,不要出现多余符号。如果是为了显示输入过程中的提示性信息,则可以用函数printf()输出字符串。