大学生的自我救赎: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<stdio.h>

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
请按任意键继续. . .

*/
posted @ 2020-06-25 16:03  我有颗小粒的痣  阅读(137)  评论(0)    收藏  举报