C输出格式总结

 

一般格式

         printf(格式控制,输出表列) 例如:printf("i=%d,ch=%c/n",i,ch);

说明:

   (1)格式控制是用双撇号括起来的字符串,也称转换控制字符串,它包括两种信息:

         ①格式说明:由%和格式字符组成,它的作用是将输出的数据转换为指定的格式输出。

         ②普通字符,即需要原样输出的字符。

   (2)输出表列是需要输出的一些数据,可以是表达式

   (3) printf函数的一般形式可以表示为

         printf(参数1,参数2,……,参数n)

         功能是将参数2~参数n按参数1给定的格式输出

格式字符(9)

    (1)d(或i)格式符。用来输出十进制整数,有以下几种用法:

        ①%d,按整型数据的实际长度输出。

        ②%md,m为指定的输出字段的宽度。如果数据的位数小于m,则左端补以空格,若大于m,则按实际位数输出。

        ③%ld(%mld 也可),输出长整型数据。

                    例如:long a=123456;

                                printf("%ld",a);

 (2)o格式符,以八进制数形式输出整数。格式:%o,%mo,%lo,%mlo都可。

    (3)x(X)格式符,以十六进制数形式输出整数。格式:%x,%mx,%lx,%mlx都可。

    (4)u格式符,用来输出unsigned型数据,即无符号数,以十进制数形式输出。格式:%u,%mu,%lu都可。

    (5)c格式符,用来输出一个字符。格式:%c,%mc都可。

    (6)s格式符,用来输出一个字符串。格式:%s,%ms,%-ms,%m.ns,%-m.ns都可。

    (7)f格式符,用来输出实数(包括单、双精度),以小数形式输出。格式:%f,%m.nf,%-m.nf都可。

               注意:单精度实数的有效位数一般为7,双精度为16位。

    (8)e(E)格式符,以指数形式输出实数。格式:%e,%m.ne,%-m.ne都可。

    (9)g(G)格式符,用来输出实数,它根据数值的大小,自动选f格式或e格式(选择输出时占宽度较小的一种)。

说明

(1)除了XEG(用大写字母表示)外,其他格式字符必须用小写字母;

(2)“格式控制字符串内可以包含转义字符;

(3)如果想输出字符%,则应该在格式控制字符串中用连续两个%表示,如:

     printf("%f%%",1.0/3);

(4)格式字符表参见下表

1 printf格式字符

格式字符

说     明

d,i

以带符号的十进制形式输出整数(正数不输出符号)

o

以八进制无符号形式输出整数(不输出前导符0)

x,X

以十六进制无符号形式输出整数(不输出前导符0x),x则输出十六进制数的af时以小写形式输出,用X,则以大写字母输出

u

以无符号十进制形式输出整数

c

以字符形式输出,只输出一个字符

s

输出字符串

f

以小数形式输出单、双精度数,隐含输出6位小数

e,E

以指数形式输出实数

g,G

选用%f%e格式中输出宽度较短的一种格式,不输出无意义的0

2   printf的附加格式说明字符

 

实列:

void main()

{

        int a=123;
        float b=1.23f;

        int c = 1;


        printf("%-4d\n%4d\n%2d\n%1d\n%d\n",a,a,a,a,a);
        printf("%-4.3f\n%4f\n%2f\n%1f\n%f\n",b,b,b,b,b);
        printf("%2d\n%-2d\n",c,c);

}

运行结果如下:
123_         %-md的形式,实际字段宽比指定的小,因此右补空格;
_123         %md的形式,实际字段宽比指定的小,因此左补空格;
123           %md的形式,实际字段宽比指定的大,因此按实际位数输出;
123           同上
123           未指定输出宽度,按实际位数输出
1.230        %-m.nf的形式,保留n位小数,指定m位字段.由于实际位数比指定宽度大(见注),因此按实际位数输出
1.230000 %mf的形式,未指定保留小数位数,默认6.由于实际位数比指定宽度大,因此按实际位数输出
1.230000 %mf的形式,未指定保留小数位数,默认6.由于实际位数比指定宽度大,因此按实际位数输出
1.230000 %f的形式,未指定保留小数位数默认6.未指定输出字段
_1              %md 的形式,实际字段宽比指定的小,因此左补空格

1_              %-md 的形式,实际字段宽比指定的小,因此右补空格

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值