首先格式字符由%[标志][输出最小宽度][.精度][长度]这五部分组成。接下来一一介绍。
1,格式字符:用来表示输出数据的类型。
d:以十进制形式输出带符号整数(正数不带符号)
u:以十进制形式输出无符号整数
o:以八进制形式输出无符号整数(输出结果不带前缀o)
x或X:以十六进制输出无符号整数(输出结果不带前缀ox)
f:以小数形式输出单,双精度实数
e或E:以指数形式输出单双精度实数
g或G:以%f或%e中较短的输出宽度输出单,双精度实数
c:输出单个字符
s:输出字符串
注:以上的格式字符除X,E,G以外都必须小写。
2,标志
-:结果左对齐,右边加空格。
+:输出符号(正号或负号)
空格:输出值为正时值前加空格,为负时加负号
#:对c,s,d,u类没有影响;对o类,在输出时加前缀o;对x类输出时加前缀ox;对e,g,f类当结果有小数时加小数点
3,输出最小宽度:指定数据在输出设备上显示时所占据的总宽度。若实际位数多于定义宽度,则按实际位数输出,若小于则补加空格或0
4,精度:精度格式符以"."开头,后跟十进制整数。对于不同的数据类型,精度的含义也有所不同。一般有以下几种类型。
a,在使用%d时,精度表示最小要打印的数字的个数,实际位数小于精度数值时,输出整数时要在左边补上0
b,在使用%f,%e,%E时,精度表示小数的位数
c,在使用%s时,精度表示输出的字符串中字符的个数。若实际位数大于所定义的精度数,则要截去超过的部分
5,长度:长度的格式符有h和l两种
%ld:用于长整型数据的输出
%hd:用于短整型数据的输出
%lf:用于双精度型数据的输出
格式字符串是在输入和输出时使用的,对于程序的结果会产生直接影响。
相同的代码更改一个格式字符或精度就会得到一个不一样的数据。
这里就需要我们熟练的掌握它们和编写代码是的细心了。