C语言的格式控制字符在printf()输出时比较常见,如下:
%o : 以八进制输出整数值;
%d : 以十进制输出整数值;
%x : 以十六进制输出整数值;
%u : 以无符号形式输出整数值;
%c : 输出字符;
%s : 输出字符串;
%f : 以十进制输出浮点数;
%e : 以科学计数法输出浮点数;
------------------------------------------------------------------------------------------------------------------------------
说明:
<1>在使用C语言的printf()输出时会发现有%4d和%04d的类型:
%4d表示输出宽度为4的整形数值,采用右对齐形式,实际宽度小于4时,左边以空格填充,当实际宽度大于4时,以实际宽度输出。如x=12;printf("%4dn", x);的结果为 12(12前面有2个空格);当x=123456;printf("%4dn", x);时,输出结果为123456。
%04d与%4d相似,只是把空格改为0即可。如x=12;printf("%4dn", x);的结果为0012,也是采用右对齐形式。
<2>在使用C语言的printf()输出时的%f、%lf、 %8f、%.4f、%8.4f的类型:
float用%f,double用%lf,在一定情况下,同一个数用%f和%lf输出时,输出结可能相同,但不管怎么样,两者的格式最好分别对应,可以避免不必要的麻烦。
%f表示默认输出6位小数; %8f表示输出宽度为8的数(宽度范围包括该数的整数部分、小数点和小数部分),若该数的实际宽度超出此宽度8,则按实际宽度输出,且都按6位小数输出; %.4f表示输出4位小数(输出宽度不受限制); %8.4f表示输出宽度为8的4位小数的数(宽度范围包括整数、小数点和小数部分),在一定程度上%8.4f和%8.4lf输出的结果是相同的,但他们属于不同类型的数值(单精度浮点型和双精度浮点型);
(本篇章为小编于学习过程中的感悟和总结,难免存在疏忽和错误之处,希望能够得到各位大神的批评指正)



