一、格式输入、输出函数
计算机向外部设备(如显示器、打印机、磁盘等)输出数据称为“输出”。
从外部设备(如键盘、鼠标、扫描仪、光盘、磁盘)向计算机输入数据称为“输入”。
输入与输出是以计算机主机为主体而言。
C语言本身不提供输入/输出语句,输入/输出操作由函数实现。
在C标准函数库中提供了一些输入/输出函数。
如printf()函数,格式输出;scanf()函数,格式输入;putchar()函数,字符输出;getchar()函数,字符输入。
二、格式输出函数printf()
printf()函数包含在stdio.h文件中,因此在程序的开头需要将其包含进来。
1.功能
按照用户指定的格式,向系统的输出设备,如屏幕输出若干个任意类型数据。
2.格式
printf("格式控制字符串",输出列表);
例
printf("请输入账号:\n");printf("%d,%c",i,str);
3.说明
“格式控制字符串”是用双引号括起来的字符串。
也称“转换控制字符串”,它指定输出数据项的类型和格式。
它包括格式说明、普通字符、转义字符。
1)格式说明字符串:
格式说明符由“%”和格式字符串组成,它的作用是将输出的数据项转换为指定的格式输出。
例如:
%d:按十进制整型输出;
%ld:按十进制长整型输出;(小写的L)
%c:按字符型输出;
%f:按单精度型输出;
%7.2f:按单精度型输出,输出宽度为7,保留两位小数。
%5d:按十进制整型输出,宽度为5,数据不足宽度时,左补空格,即右对齐。
%-5d:按十进制整型输出,宽度为5,数据不足宽度时,右补空格,即左对齐。
2)格式字符串的一般形式如下:
[标志][输出最小宽度][.精度]类型
其中:
方括号[]中的项为可选项。
标志:表示标志字符。
有-+#空格4种。
其中最常用的为“-”左对齐,长度不足时,右补空格。默认是右对齐,左补空格。
输出最小宽度:用十进制整数来表示输出的最少位数。
若实际数多于定义的宽度,则按实际位数输出,若实际位数少于定义的宽度则补以空格或0。
精度:精度格式符以“.”开头,后跟十进制整数。
本项的意义是如果输出数字,则表示小数的位数。
如果输出的是字符,则表示输出字符的个数。
若实际位数大于所定义的精度数,则截去超过的部分。
类型:类型字符也称格式说明符,用以表示输出数据的类型。
由“%”和格式字符串组成,其格式字符和附加格式说明字符。
3)printf()函数常用格式字符
格式字符 | 说明 |
d | 以带符号的十进制形式输出整数(正数不输出符号) |
o | 以八进制无符号形式输出整数(不输出前导符0) |
x,X | 以十六进制无符号形式输出整数(不输出前导符0x或0X) |
u | 以无符号十进制形式输出整数 |
c | 以字符形式输出,只输出一个字符。 |
s | 以字符串形式输出 |
f | 以小数形式输出单、双精度数,隐含输出6位小数。 |
e,E | 以标准形式输出单、双精度数,数字部分小数位数位6位。 |
g,G | 选用%f或%e格式中输出宽度较短的一种格式,不输出无意义的0。 |
总之,就是输出时的那个“%d”这样的代替品。
例:
#includevoid main() {
printf("%x,%o,%d,%c", 10, 15, 60, 66);}
分析:
就是把十进制数,进行%x十六进制转换输出;%o八进制转换输出;%d十进制转换输出;%c字符的形式转换输出。
运行结果:
printf()函数附加格式说明
附加格式说明符 |