C整型数据的输出

C整型数据的输出,整型数据格式说明符有以下几种。

  • d:有符号的十进制整数;
  • o:无符号的八进制整数;
  • u:无符号的十进制整数;
  • x或X:无符号的十六进制整数。

d格式符

d格式符,表示十进制整数(有符号数)。

用法:%d、%ld、%md、%lmd。
说明:%d表示按整数的实际长度输出,%ld表示长整型,可以输出long型数据。

格式说明中,在 “%”和格式说明符间可以插入以下附加符号。M表示一个正整数,用来控制输出数据的宽度。

对于%md或%lmd,如果m大于输出数据的宽度,则前面补空格;如果m小于输出数据的宽度,则按数据的实际长度输出。

对于%-md或%-lmd,如果m大于输出数据的宽度,则后面补空格;如果m小于输出数据的宽度,则按数据的实际长度输出。

#include <stdio.h>
void main()
{
    int a = 123;
    printf("%d,%2d,%5d,%-5d", a, a, a, a);
}

运行结果:

        123,123,  123,123

%d将数据按实际长度输出,即123;%2d指定的字段宽度为2,小于数据的宽度,因此按原数据宽度输出;%5d指定的字段宽度为5,大于数据的宽度,在数据的前面补两个空格;%-5d与%5d基本相同,但是空格补在数据的后面。

o格式符

o格式符,表示八进制无符号整数(o必须小写),没有表示八进制的前导0。

用法:%o、%lo、%mo、%lmo
说明:%lo表示八进制长整型,m指定输出字符的宽度。

#include <stdio.h>
void main()
{
    int a = -1;
    printf("%d,%o", a, a);
}

运行结果:

        -1,37777777777

在Visual C++ 6.0环境下,int型数据在内存中占4个字节。

X|x格式符

X|x格式符,表示十六进制整数,没有表示十六进制的前导0x。

用法:%x、%X、%lx

#include <stdio.h>
void main()
{
    int a = -1;
    printf("%d,%x,%X", a, a, a);
}

运行结果:

        -1,ffffffff,FFFFFFFF

u格式符

u格式符,表示无符号的十进制整数。
用法:%u

#include <stdio.h>
void main()
{
    int a = -1;
    printf("%d,%u", a, a);
}

运行结果:

        -1,4294967295
赞(0)

评论 抢沙发

评论前必须登录!