C语言之格式化输出字符

1、格式化输出字符:

%d   十进制有符号整数

%ld  十进制long有符号整数

%u   十进制无符号整数

%o   以八进制表示的整数

%x   以十六进制表示的整数

%f    float型浮点数

%lf   double型浮点数

%e   指数形式的浮点数

%c   单个字符

%s   字符串

%p   指针的值

2、特殊应用:

%5d     要求宽度为5位,如果不足5位,前面空格补齐;如果足够5位,此语句无效。

%05d   要求宽度为5位,如果不足5位,前面0补齐;如果足够5位,此语句无效。

%-5d    要求宽度为5位,如果不足5位,后面空格补齐;如果足够5位,此语句无效。

%.2d    小数点后只保留2位小数。

#include <stdio.h>

// 格式化输出字符的使用

int main()
{
    // 1、输出整数
    int  a = 100;
    // ①输出十进制数 用%d
    printf("a = %d\n", a);
    // ②输出八进制数 用%o
    printf("a = %o\n", a);
    printf("a = %#o\n", a);   // 使用%#o,可以输出八进制数的前导符(0)
    // ③输出十六进制数 用%x
    printf("a = %X\n", a);
    printf("a = %#x\n", a);   // 使用%#x,可以输出十六进制数的前导符(0x)

    // 输出浮点数数据
    // 默认小数点后保留6位,并且可以四舍五入,如果不够6位自动补0
    float b = 3.1415926;
    double c = 1234.1234;
    printf("b = %f\n", b);
    printf("c = %lf\n", c);

    // 输出字符,使用%c输出字符,使用%d可以输出字符的ASCII码值
    char d = 'y';
    printf("d = %c, d's ASCII:%d\n", d , d);

    // 输出字符串
    // 没有专门的变量保存字符串,一般使用数组来保存
    char e[] = "Hello World!";
    printf("%s\n", e);

    // 输出地址,使用%p
    int f = 999;
    // &:取一个变量的地址,一般地址用十六进制数标识
    printf("&f = %p\n", &f);

    printf("======================================\n");

    int m = 456;
    printf("%d%d\n", m, m);
    // %5d:输出的宽度为5,右对齐,如果实际数据的宽度小于5,则左边位置补空格,如果大于5,则没有用
    printf("%5d%5d\n", m , m);
    // %05d:输出的宽度为5,右对齐,如果实际数据的宽度小于5,则左边位置补0,如果大于5,则没有用
    printf("%05d%05d\n", m , m);
    // %-5d:输出的宽度为5,左对齐,如果实际数据的宽度小于5,则右边边位置补空格,如果大于5,则没有用
    printf("%-5d%-5d\n", m , m);

    float n = 3.6789;
    printf("n = %f\n", n);
    // %.2f:小数点后保留2位小数,并且四舍五入
    printf("n = %.2f\n", n);
    // %5.2f: 输出的宽度为5,并且小数点后面为2位小数,如果实际数据长度小于5,左边补空格,如果大于5,则正常输出
    printf("n = %5.2f\n", n);

    return 0;
}

执行结果如下:

猜你喜欢

转载自blog.csdn.net/weixin_40379143/article/details/108430108
今日推荐