写在前面
在写C语言的输出语句我们会常常用到这些格式字符,主要有以下几类
1. d格式符
- %d,按整型数据的实际长度输出
- %md m 为指定的输出字段的宽度。如果数据的位数小于m,则左端补以空格,若大于m,则按实际位数输出。如
printf("%4d,%4d",a,b);
若a=123,b=12345,则输出结果为123,12345
- %ld,输出长整型数据
2. o格式符
以八进制数形式输出整数。由于是将内存单元中的各位的值(0或1)按八进制形式输出,因此输出的数值不带符号,即将符号位也一起作为八进制数的一部分输出。例如:
int a=-1; printf("%d,%o",a,a);
-1在内存单元中的存放形式(以补码形式存放)如下:
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 输出为 -1,177777 不会输出带负号的八进制整数。对长整数(long型)可以用“%lo”格式输出。同样可以指定字段宽度,如 printf(“%8o”,a) 输出为177777。3. x格式符
以十六进制数形式输出整数。同样不会出现负的十六进制数。例如:
int a=-1; printf("%x,%o,%d",a,a,a);
输出结果为
ffff,177777,-14. u格式符
用来输出unsigned型数据,即无符号数,以十进制形式输出