格式字符

写在前面

在写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,-1

4. u格式符

用来输出unsigned型数据,即无符号数,以十进制形式输出

posted @ 2017-09-25 20:50  清水jx  阅读(452)  评论(0编辑  收藏  举报