荆鸟—SKy - xuweiyue的BLOG http://xuweiyue.52rd.net - 复制 - 收藏
xuweiyue 发表于 2008-3-25 12:15:00

格式输出小结:
(1)最常用的格式是%d,含义是以10进制形式打印一个整数。
如果输出的整数是负数,则,输出的第一个字符就是‘-’号
(2)%u格式与%d格式类似,只不过要求打印无符号10进制整数。
(3)%o格式请求输出8进制整数
(4)%x和%X格式请求输出16进制整数。
%x格式中用小写字母a,b,c,d,e,f来表示10到15之间的数
%X格式中用大写字母A,B,C,D,E,F来表示10到15之间的数
共同点:8进制和16进制整数总是作为无符号数处理的。
(5)%s格式用于打印字符串,与之对应的参数应该是一个字符指针,待输出的字符始于该指针所指向的地址,直到出现一个空字符('\0')
才终止。
(6)%c格式用于打印单个字符:例如:
printf("%c",c); 等价于 putchar(c);
(7)%g,%f和%e这三个格式用于打印浮点值。
%g格式用于打印那些不需要按列对齐的浮点数特别有用。其作用有二:
一,去掉该数尾多余的零(没有达到六位的数)
二,保留六位有效数字(多余六位的)
%e格式用于打印浮点数时,一律显示地使用指数形式:例如:输出圆周率时是:3.141593e+00

两者的区别:
%g格式打印出的数是总共6位有效数字
%e格式打印出小数点后的6位有效数字

%f禁止使用指数形式来表示浮点数。因此圆周率输出为:3.141593
(但注意它的精度要求:也是小数点后6位有效数字)
(8)%%格式用于打印一个%字符。
(9)%E和%G只是在输出时用大写字母(E)代替了小写字母(e)

另外需要注意的一些知识点:


***************************************
对齐规则:
(1)当指定宽度大于要输出位数时,数右对齐,左端补空格
当前缀'-'号时,想要数左对齐,右端补空格
大大的前提:只有当“指定宽度”存在时,前缀'-'才有意义。
经验:一般来说,左端对齐的形式看上去要美观整齐一点。

***************************************
输出正负号的技巧:(记住)例如:
printf("%+d %+d %+d\n",-5,0,5);
只要在中间加个“+”号就行。作用是输出符号位(即,数的正负号)
如果不希望正数的前面出现‘+’号,可用下面的方法


***************************************
只要在中间加个“ ”号(即:空格)就行。(记住)例如:
作用:如果一个数是非负数,就在它的前面插入一个空格。
int i;
for(i=-3;i<=3;i++)
    printf("% d\n",i); //注意%和d之间有一个空格
输出结果如下:
-3
-2
-1
0
1
2
3

问题:如果‘+’和‘ ’同时出现在“中间”时,要以‘+’为准。

两个符号的共同点:用于对齐输出的数:(尤其对于小数来说)
                  两种格式:%+e和% e

阅读全文(1474) | 评论(0)
评 论
昵 称: 匿名
验证码: 5233
博 主
进入xuweiyue的首页
博客名称:荆鸟—SKy
日志总数:14
评论数量:2
访问次数:26093
建立时间:2008年3月5日
导 航
日 历
«September 2010»
1234
567891011
12131415161718
19202122232425
2627282930
公 告
低调做人,专心做事 MSN:xuwei_yue@hotmail.com 欢迎做WinCE驱动的人加我一起讨论,目前在做WinCE蓝牙驱动
日 志
评 论
52RD网友谢谢!~非常感谢!(9-4)
HW(游客)小问题,但是容易忽略(3-13)
链 接