欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

C格式化输出代码实例讲解

程序员文章站 2022-06-27 22:43:31
C格式化输出代码实例讲解 /* C格式化输出: >了解:格式控制字符串:(Format control string),由转换说明符(Conversion spec...

C格式化输出代码实例讲解

/*
C格式化输出:
>了解:格式控制字符串:(Format control string),由转换说明符(Conversion specifier), 标记(Flag), 域宽(Filed Width ), 精度(Precision), 文本字符(Literal character)组成。

1.不同进制的打印:%d, %o, %x;

2.打印浮点数:%e, 一般小数点后六位显示. %g,根据数据的绝对值大小来判断用浮点表示还是科学计数法表示。

3.域宽的打印:
%5d 中5表示的就是域宽为5,超出域宽不影响数据的表示,域宽大于数据的实际数位,数据自动向右对齐。

4.精度的打印:
%.5f 中会将浮点数的精度确定为小数点后5位
%.5d 中精度表示打印数据的最小位数,若精度 5 前为点(.)或者零(0)则用 0 补齐,若 5 前没有任何什么点缀 则->参考域宽
%.5s 中精度表示从一个字符串中打印出来的最大字符个数。

5.标记:
-(减号)在域宽中左对齐
+(加号)在正数前加上+,在负数前面加上-;
# 在不同进制上加上相应的前缀例如:0, 0x, 0X,或者浮点数没有小数部分时,强制显示小数点

时间:Dec 29, 2017 14:12
*/

#include

int main()
{
    int a = 789;
    float b =12.345;
    const char *s = "heheda!";

    printf("%05d\n", a);
    printf("%#05o\n", a);
    printf("%#05x\n", a);
    printf("%-5d\n",a);
    printf("%+5d\n",a);

    printf("%020f\n", b);
    printf("%10.2f\n", b);
    printf("%010.2f\n", b);
    printf("%10.2e\n", b);
    printf("%010.2e\n", b);
    printf("%-5f\n",b);
    printf("%+5f\n",b);

    printf("%020s\n", s);
    printf("%.5s\n", s);

    return 0;
}

/**************
00789
01425
0x315
789
 +789
0000000000012.345000
     12.35
0000012.35
 1.23e+001
01.23e+001
12.345000
+12.345000
000000000000heheda!
hehed
请按任意键继续. . .

*/