概述
域宽:
可以在格式声明中指定输出数据的域宽(所占的列数),如用 “%5d”,指定输出数据所占 5 列,输出的数据显示在此 5 列区域的左侧。如:
printf("%5dn%5dn",12,-345);
输出结果为:
12 ( 12 前面有 3 个空格)
-345 (-345前面有1个空格)
其他任何输出格式均可以指定域宽,如%c、%f、%s。
输出字符时:
一个整数,如果在 0-127 范围中,也可以用 “%c” 使之按字符形式输出,在输出前,系统会将该整数作为 ASCLL 码转换成相应的字符;
short a = 121;
printf("%c",a);
输出字符y,如果整数比较大,则把它最后一个字节的信息一字符形式输出。如: int a = 377; y 存储形式:00000000 00000000 00000000 01111001
printf("%c",a);
可见最后一个字节为 01111001,即十进制的 121,它是 ‘y’ 的ASCLL代码。
f 格式符
1)基本型 %f(没得讲,不讲了)
2)指定数据宽度和小数位数,用%m.nf
m指的是输出的数据占 m 列(包括小数、小数点),n 指的是小数占 n 列。
例如:printf("%20.15fn",a/3); 输出的结果占 20 列(包括小数、小数点),小数占 15 列。
3)输出的数据向左对齐,用%-m.nf
在 m.n 的前面加一个负号,其作用与 %m.nf 形式作用基本相同,但当数据长度不超过m 时,数据向左靠,右端补空格。如:
printf("%-25.15f,%25.15fn",a,a);
第一次输出 a 时输出结果向左端靠,右端空 5 列。第二次输出 a 时输出结果向右端靠,左端空 5 列。
g格式符:
用来输出浮点数,系统自动选 f 格式或 e 格式输出,选择其中长度较短的格式,不输出无意义的 0。如:
double a = 12345678954321;
printf("%ft%et%gn",a,a,a);
输出之后可以看到 %f 格式输出占 21 列,用 %e 格式输出占 13 列,故 %g 采用 %e 格式输出。
还有 e 格式符、i 格式符、o 格式符、x 格式符、u 格式符,翻书去!
printf函数中用到的格式字符和格式附加字符
格式字符 | 说明 |
---|---|
d,i | 以带符号的十进制形式输出整数(正数不输出符号) |
o | 以八进制无符号形式输出整数(不输出前导符 0 ) |
x,X | 以十六进制无符号形式输出整数(不输出前导符 0x),用 x 则输出十六进制数的 a~f 时以小写形式输出,用 X 时,则以大写字母输出 |
u | 以无符号十进制形式输出整数 |
c | 以字符形式输出,只输出一个字符 |
s | 输出字符串 |
f | 以小数形式输出单、双精度数,隐含输出 6 位小数 |
e,E | 以指数形式输出实数,用 e 时指数以 ”e“ 表示(如 1.2e+02),用 E 时指数以 ”E“ 表示(如 1.2E+02) |
g,G | 选用 %f 或 %e 格式中输出宽度较短的一种格式,不输出无意义的 0。用 G 时,若以指数形式输出,则指数以大写表示 |
l | 长整型整数,可加在格式符 d、o、x、u 前面 |
m(代表一个正整数) | 数据最小宽度 |
n (代表一个正整数) | 对实数,表示输出 n 位小数;对字符串,表示截取的字符个数 |
– | 输出的数字或字符在域内向左靠 |
最后
以上就是知性服饰为你收集整理的输出函数——printf注意事项的全部内容,希望文章能够帮你解决输出函数——printf注意事项所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复