printf函数称为格式输出函数,其关键字最末一个字母f即为“格式(format)”之意。其功能是按照用户指定的格式,把指定的数据显示到显示器屏幕上。在前面的例题中我们已经多次使用过这个函数。
一般形式:
printf函数是一个标准库函数,它是函数原型在头文件“stdio。h”。但作为一个特例,不要求在使用printf函数之前必须包含stdio.h文件。printf函数调用的一般形式为:
printf(“格式控制字符串”,输出表列)
其中格式控制字符串用于指定输出格式。格式控制穿可以是字符串和非格式字符串两种组成。个是字符串是以%开头的字符串,在其后面跟有各种格式字符串,以说明输出数据的类型、形式、长度、小数位数等。如:
"%d"表示按十进制整型输出;
"%ld"表示按十进制长整型输出;
"%c"表示按字符型输出;
非格式字符串原样输出,在显示中起提示作用。输出表列中给出了各种输出项,要求个是字符串和个输出项在数量上和类型上应该以一一对应。
格式字符串:
(1)类型
d 以十进制形式输出带符号整数
o 以八进制形式输出无符号整数
x,X 以十六进制形式输出无符号整数
u 以十进制形式输出无符号整数
f 以小数形式输出单双精度实数
e,E 以指数形式输出单双精度实数
g,G 以%f或者%e中较短的输出宽度输出单双精度实数
c 输出某个字符
s 输出字符串
(2)标志
- 结果左对齐,右边填空格
+ 输出符号(+/-)
空格 输出值为正时冠以空格,为负时冠以负号
对c、s、d、u类无影响;
对o类,在输出时加前缀0;
# 对x类,在输出时 加前缀0x;
对e、g、f类当结果有小数时才给出小数点。
(3)输出最小宽度
用十进制整数来表示输出的最少位数。若实际位数多余定义的宽度,则按实际位数输出,若实际位数少于定义的宽度则补以空格或0;
使用printf函数时还要注意一个问题,那就是输出列表中的求值问题。不同的编译系统不一定相同,可以从左到右,也可以从右到左.
求值顺序虽是自右向左,但是输出顺序还是自左向右。