格式化输入/输出函数
格式输出函数(printf)
格式字符表
格式字符说明
d或i 以十进制形式输出带符号整数(正数不输出符号)
o 以八进制形式输出无符号整数(不输出前缀0)
x,X 以十六进制形式输出无符号整数(不输出前缀0x),对于x用abcdef输出;对于X用ABCDEF输出
u 以十进制形式输出无符号整数
f 以小数形式输出单、双精度实数,隐含输出6位小数
e,E 以指数形式输出单、双精度实数,数字部分小数位数为6位小数,指数部分占5位,用“E”时,指数以大写表示
g,G 以%f或%e中较短的输出宽度输出单、双精度实数,不输出无意义的0,用“G”
时,则指数以大写表示
c 输出单个字符
s 输出字符串
p 输出标量的内存地址
未指定宽度和指定输出宽度时的输出结果
输出语句输出结果
printf(“%3d\n”,4321); 4321(按实际位数输出)
printf(“%f\n”,123.54); 123.540000(按实际需要宽度输出)
printf(“%12f\n”,123.54); 凵凵123.540000(输出右对齐,左边填空格)
printf(“%e\n”,123.54); 1.235400e+002(按实际需要宽度输出)
printf(“%14e\n”,1213.54); 凵1.235400e+002(输出右对齐,左边填空格)
printf(“%g\n”,123.5); 123.5(%f格式比采用%e格式输出宽度小)
printf(“%8g\n”,123.5); 凵凵凵123.5(输出右对齐,左边填空格)
指定精度时的输出结果
输出语句输出结果
printf(“%8.3f\n”,123.55); 凵123.550
printf(“%8.1f\n”,123.55); 凵凵凵123.6
printf(“%8.0f\n”,123.55); 凵凵凵凵凵124
printf(“%g\n”,123.56789); 123.568
printf(“%.7g\n”,123.56789); 123.5679
printf(“%.5s\n”,”abcdefg”); abcde
注:在VC中float类型有7位有效数字,double类型有16位有效数字
标志及其意义
标志意义
-输出结果左对齐,右边填空格;缺省则输出结果右对齐,左边填空格
+输出符号(正号或负号)
空格输出值为正时冠以空格,为负时冠以负号
﹟对c,s,d,u类无影响;对o类,在输出时加前缀0,对x类,在输出时加前缀0x 0 对数值格式,在指定宽度的同时,输出数据左边空格处填以数字0
标志的用法
输出语句输出结果
printf(“%6d\n”,111); 凵凵凵111
printf(“%-6d\n”,111); 111凵凵凵
printf(“%+d\n”,111); +111
printf(“% d\n”,111);/*%和d之间有一个空格*/ 凵111
printf(“% d\n”,-111);/*%和d之间有一个空格*/ -111
printf(“%#o\n”,10); 012
printf(“%#x\n”,16); 0x10
printf(“%06.2f\n”,1.6); 001.60
格式输入函数(scanf)
Scanf格式字符
格式字符说明
d,i 输入有符号的十进制整数
o 输入无符号的八进制整数
x,X 输入无符号的十六进制整数
u 输入无符号的十进制整数
f,e 输入实型数(用小数形式或指数形式)
c 输入单个字符
s 输入字符串,结果存入字符数组中。
输入时,以第一个非空白字符开始,以第一个空白字符结束,系统自动加上’\0’作为字符串结束标志
2014年4月11日。