内容正文:
3.3 格式化输出函数printf()
程序运行中,有时候需要从外部设备(例如键盘)上得到一些原始数据,程序计算结束后,通常要把计算结果发送到外部设备(例如显示器)上,以便人们对结果进行分析。我们把程序从外部设备上获得数据的操作称为“输入”,而把程序发送数据到外部设备的操作称为“输出”。不像其他的高级语言,C语言没有专门的输入输出语句,输入输出的操作,是通过调用C语言的库函数来实现的。printf()函数是最常用的输出函数,它的作用是向计算机系统默认的输出设备(一般指显示器)输出一个或多个任意指定类型的数据。
下一页
返回
3.3 格式化输出函数printf()
调用printf()函数的一般格式为:
printf("格式字符串", [输出项表]);
其中: “格式化字符串”由控制输出格式的字符组成的字符串。输出表达式表是用逗号分隔的若干个表达式。C语言系统将按照自右向左的顺序,依次计算“输出表达式表”中诸表达式的值,然后按照“格式化字符串”中规定的格式输出到显示器上显示。函数返回值为返回输出数据的个数。
上一页
下一页
返回
3.3 格式化输出函数printf()
3.3.2格式字符
格式指示符的一般形式为:
%[修饰符]格式字符
其中,修饰符与格式字符的具体用法如下:
1.格式字符
printf函数中常用的格式字符如表3-1所示。
2.长度修饰符
长度修饰符“l”或“L”加在%和格式字符之间。输出长整型数据的时候,一定要加长度修饰符,否则,得不到正确的显示结果。
上一页
下一页
返回
3.3 格式化输出函数printf()
3.宽度修饰和精度修饰
可以在%和格式字符之间加入形如“m.n”(m、n均为整数)的修饰,其中:m为宽度修饰,n为精度修饰。宽度修饰用来指定数据的输出宽度,精度修饰对不同的格式字符,作用不同:对于格式字符f,用来指定输出小数位的位数;对于格式字符e,用来指定输出有效数字的位数;对于格式字符d,用来指定必须输出的数字的个数。
上一页
下一页
返回
3.3 格式化输出函数printf()
4.左对齐修饰
如果在指定了宽度修饰时,且指定宽度大于数据需要的实际宽度,则数据左边补空格,补够指定的宽度,这种对齐方式称为“右对齐”,系统默认的输出为右对齐;当然也可以在数据的右边补空格来补够指定的宽度,这种对齐方式称为“左对齐”。指定左对齐的时候,使用左对齐修饰符“-”,例如语句:
printf("%-7.2f
", 1.23456);
输出结果为:
1.23□□□(右边补3个空格)。
上一页
下一页
返回
3.3 格式化输出函数printf()
3.3.3使用说明
(1)printf()函数可以输出常量、变量和表达式的值。但格式控制字符串中的格式指示符,必须按从左到右的顺序,与输出项表中的每个数据一一对应,否则出错。
(2)格式字符x、e、g可以用小写字母,也可以用大写字母。使用大写字母时,输出数据中包含的字母也大写。除了x、e、g格式字符外,其它格式字符必须用小写字母,例如:%f不能写成%F。
(3)格式字符紧跟在“%”后面就作为格式字符,否则将作为普通字符使用(原样输出),例如:printf("c=%c, f=%f
", c, f);中的c=和f=,都是普通字符。
(4)输出项表的执行方向为自右向左。例如:定义int m=1;则执行printf("%d, %d
",++ m, m,m++);语句后的输出结果为:3,2
上一页
返回
3.4 格式化输入函数scanf()
3.4.1scanf()函数的一般格式
调用scanf( )函数的一般格式为:
scanf("格式字符串", 输入变量地址表);
scanf()函数是格式化输入函数, 它从键盘按照“格式字符串”中规定的格式读取若干个数据,按“输入变量地址表”中变量的顺序,依次存入对应的变量。其函数返回值为读取的数据个数。格式字符串与输入项地址表的用法如下:
(1) 格式字符串
格式字符串可以包含三种类型的字符:格式指示符、空白字符(空格、跳格键(Tab键)、回车键)和非空白字符(又称普通字符)。格式指示符用来指定数据的输入格式;空白字符作为相邻2个输入数据的缺省分隔符;非空白字符在输入有效数据时,必须原样一起输入。
下一页
返回
3.4 格式化输入函数sca