C语言-格式输入输出中“%d,%o,%x,%e,%f,%s,%p”

格式说明总是由“%”字符开始的,不同类型的数据用不同的格式字符。 格式字符有d,o,x,u,c,s,f,e,g,p等。

1.转换说明

%d整型输出,%md,m为指定的输出字段的宽度,%ld长整型输出。

%i有符号十进制整数(与%d相同)。

%u以十进制数输出unsigned型数据(无符号数)。

%o以八进制数形式输出整数。

%x以十六进制数形式输出整数。

%c用来输出一个字符。

%s用来输出一个字符串。

%f用来输出实数,以小数形式输出,默认情况下保留小数点6位。

%e以指数形式输出实数。

%g根据大小自动选f格式或e格式,且不输出无意义的零。

%p用于变量地址的输出。

%%            "%"

%a(%A)     浮点数、十六进制数字和p-(P-)记数法(C99)

scanf("%d%c%s",&a,&b,str);

printf("%d%c",a,b);

 

2.标志-五种标志 (-、+、空格、0)

-     项目是左对齐的:也就是说,会把项目打印在字段的左侧开始处

例如:”%-20s”

+    有符号的值若为正,则显示带加号的符号:若为负,则带减号的符号

例如:”%+6.2f”

(空格) 有符号的值若为正,则显示带前导空格(但是不显示符号):若为负,则带减号符号。+标示会覆盖空格标志

例如:”% 6.2f”

#   使用转换说明的可选形式。若为%o格式,则以0开始;若为%x%X格式,则以0x0X开始,对于所有的浮点形式,#保证了即使不限任何数字,也打印一个小数点字符。对于%g%G格式,它防止尾随零被删除。

例如:“%#o”、“%#8.0f”和“%+#10.3E

 0   对于所有的数字格式,用前导零而不是用空格填充字段宽度。如果出现-标志或者指定了精度(对于整数)则忽略该标志。

 

3.格式字符串(格式)

      [标志][输出最少宽度][.精度][长度]类型

     "%-md" :左对齐,若m比实际少时,按实际输出。

     "%m.ns":输出m位,取字符串(左起)n位,左补空格,当n>m or m省略时m=n

                      e.g.    "%7.2s"   输入CHINA

                                             输出"     CH"

     "%m.nf":输出浮点数,m为宽度,n为小数点右边数位

                      e.g.    "%3.1f"    输入3852.99

                                               输出3853.0 

      长度:为h短整形量,l为长整形量

 

posted @ 2020-11-19 10:09  bellin124  阅读(2420)  评论(0编辑  收藏  举报