格式输入与输出详解二:

格式输入与输出详解:

1. printf函数的一般格式为 : printf(格式控制,输出表列);

     例如 printf(%d,%c\n,i,c);
     格式控制是用双撇号括起来的字符串,也称“转换控制字符串”,它包括两种信息。
  1,格式说明。 格式说明由“%”和格式字符组成,如%d,%c等,作用是将输出的数据转换为指定的格式。

2,普通字符,普通字符既需要原样输出的字符,

 输出表列:是需要输出的一些数据,可以是表达式。
二。格式字符

1 %d,按十进制整形数据的实际长度输出

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

  %ld ,输出长整形数据,例如 

long int a = 135790;

printf("%ld",a);如果用%d输出,就会发生错误,因为整型的数据范围为-32768~32767。对于long型数据应当用%ld格式输出。

对于长整形数据也可以指定字段宽度。

一个int数据也可以用%d或%ld格式输出。

2.o格式字符,以8进制整数形式输出,注意由于将内存单元中的各位的值(0或1)按8进制形式输出,因此输出的数值不带符号,即将符号位也一起作为8进制数的一部分输出。 

3.x格式符,以十六进制数形式输出整数

4.u格式符,用来输出unsigned型数据,即无符号数,以十进制整数形式输出,

5.c格式符,用来输出一个字符。也可以指定字符宽度,
   char c = a;
   int i = 97;
      printf(%c,%d,c,c);
      printf(%c,%d,i,i); printf(%3c,c);这时c变量输出占3列,前两列补空格。

6.%s 格式字符,用来输出一个字符串。
       1.  %s 例如 : printf(%s,CHINA);

       2   %ms  输出的字符串占m列,如果字符串本身大于 m,则突破m的限制,将字符串全部输出,若串长小于m,则左补空格。

       3  %-ms   如果串长小于m,则在m列范围内,字符向左靠拢,右端补空格。

       4  %m.ns  输出占m列,但只取字符串中左端n个字符,输出在m列的右侧,左端补空格

       5  %-m.ns  其中m,n含义同上,n个字符输出在m列的左侧,右补空格,如果n大于m,则m自动取n,既保证n个字符正常输出

     7,  f格式符。用来输出实数,以小数形式输出

          1  %f  不指定字段宽度,由系统自动指定,使整数部分全部输出,并输出6位小数。应当注意,在输出的数字中并非全部数字都是有效数字。单精度实数的有效位一般为7位,

     2  %m.nf, 指定输出的数据共占m列,其中有n位小数,如果数值长度小于m,则左端补空格。

     3  %m.nf  %-m.nf 基本相同,只是是输出的数值向左端靠,右端补空格。

 

  e 格式符,以指数形式输出实数

可指定输出数据占的宽度

   %m.ne  %-m.ne  含义与上述相同

g 格式符,用来输出实数,它根据数值的大小,自动选用f格式或e格式(选择输出时占宽度比较小的一种,且不输出无意义的零)

 

总结

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

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

   X ,x   16进制无符号形式输出整数(不输出前导符 0x ),用x 则输出16进制中的a~f时以小写形式输出,用X时,则以大写字母输出

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

   c 以字符型式输出,只输出一个字符

   s 输出字符串

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

   E , e  以指数形式输出实数,用e时指数以“e”表示(如1.2e+02),用E时以“E”表示,如(1.2E+02)

   G ,g 选用%f%e格式中输出宽度较短的一种格式,不输出无意义的0,用“G”时,若以指数形式输出,则指数以大写表示。

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值