C语言中格式控制字符使用歌诀

来源 :电脑迷·中旬刊 | 被引量 : 0次 | 上传用户:dalang003
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  C语言中的格式控制符对标识符或表达式的格式进行控制,它决定了标识符或表达式的输出数据的长度、对齐方式、小数位数等形式,是 C 语言中一个非常重要的概念,也是学习的难点。本人结合使用情况,将常用的格式控制符以歌诀总结如下,希望对各位初学者、爱好者有所帮助。文中代码在 BC3.1 中进行了验证。
  1 常用形式
  C 语言中的格式控制符常用形式如下:%[{+,-}] [0][#] [{m,m.n}] [{l,h}] <格式控制符>。
  2 使用歌诀
  格式控制字符多,结合灵活可寻踪。
  [ ] 可选| 互斥,< > 、% 必须用。
  + 为正号- 向左,无+ 无- 按默认。
  h、l、L 短长双,d c s f要弄懂。
  # 实点无为0 X,数前有0左代空。
  两数点隔最常见,整实字串要分清,
  前占数宽按实输,后留位数有0充。
  3 歌诀解析
  (3.1)格式控制字符多,结合灵活可寻踪。
  格式控制字符在 printf()等函数中使用比较复杂,尤其是在%和格式转换字符(如 d、c、s、f)之间插入一些“格式控制字符”就更为繁琐,需要理解,才能掌握。
  (3.2)[ ]可选|互斥,< > 、%必须用。
  中括号[ ]中的内容为可选,尖括号< >中的内容为必选,分隔符|两侧选项只能选其一, %为格式控制的起始符,必须用。
  (3.3)+ 为正号- 向左,无+ 无- 按默认。
  +:为正数符号,用时将在输出数前加正数符号“+”;
  -:是左对齐标志;在没有+/-的情况下,默认为右对齐。
  例1:已知程序
  #include
  void main()
  {int a=123;
  printf(“ 12345678901234567890\n”);
  printf(“a=%d------ ( a=%%d) \n”,a);
  printf(“a=%+6d--- ( a=%%+6d) \n”,a);
  printf(“a=%-6d--- ( a=%%-6d) \n”,a);
  }
  运行结果:
  12345678901234567890
  a=123------ ( a=%d)
  a= +123--- ( a=%+6d)
  a=123 --- ( a=%-6d)
  4)h、l、L 短长双,d c s f要弄懂。
  h\l\L: h常用在 d\o\x\u 之前,指定输出短整型(short)数;l在整型前表示输出长整型(long)数 ,在实数前表示输出双精度实型(double)数;L在实数前表示输出长双精度实型(long double)数。d、c、s、f 分别表示整型、字符、字串和实型数据。
  5)# 实点无为0 X,数前有0左代空。
  #:对实数表示必须输出小数点;对无符号数表示在八、十六进制数前显示前导符 0 或0x 或 0X;
  0:表示数据长度小于指定长度时,左边空格用 0 代替;
  例2:已知
  Unsigned u=32767; double f=2.5e5;
  printf(“ 12345678901234567890\n”);
  printf(“u=%#010x---- ( u=%%#010x) \n”,u);
  printf(“f=%#15.0f---- ( f=%%#15.0f) \n”,f);
  运行结果:
  12345678901234567890
  u=0x00007FFF---- ( u=%#010x)
  f= 250000.---- ( f=%#15.0f)
  6)两数点隔最常见,整实字串要分清,
  7)前占数宽按实输,后留位数有0充。
  m\m.n: m 表示输出数据总长度,当指定长度少于数据位数时,按原数输出;n的作用因作用的数据类型不同:
  1)整数:输出n 位整数,当整数的位数少于 n时,左边补 0;
  2)字符串:只要输出字符串前 n 个字符;
  3)实数:指保留的小数位数,不足后面补 0,如小数位大于n则对n+1位四舍五入。
  例3:已知
  int a=123;
  printf(“ 12345678901234567890\n”);
  printf(“a=%+6.6d--- ( a=%%6.6d) \n”,a);
  printf(“a=%+6.4d--- ( a=%%6.4d) \n”,a);
  運行结果:
  12345678901234567890
  a=000123--- ( a=%6.6d)
  a= 0123--- ( a=%6.4d)
  例4:已知
  char ch=’A’;
  double f1=2.5e5,f2=3.14159;
  printf(“ 12345678901234567890\n”);
  printf(“ch=%04c---- ( ch=%%04c) \n”,ch);
  printf(“st=%06.3s----( st=%%6.3s)\n”,”abcd”);
  printf(“f1=%-15.0f--------(f1=%%-15.0f) \n”,f1);
  printf(“f1=%+15.4f-------- (f1=%%+15.4f) \n”,f1);
  printf(“f2=%15.4f-------- (f2=%%15.4f)\n”,f2);
  则运行结果是:
  12345678901234567890
  ch=000A---- ( ch=%04c)
  st=000abc---- ( st=%6.3s)
  f1=250000 --------( f1=%-15.0f)
  f1= +250000.0000-------- ( f1=%%+15.4f)
  f2= 3.1416-------- ( f2=%%15.4f)
  C 语言中的格式控制符直接影响程序输出的外观,作用非常重要,编程都会与它打交道,学好它,可以借鉴歌诀用心体会、多上机练习,勤思考,养成做笔记的好习惯,相信你会学好的。
其他文献
元明清时期,陇右地区呈现出多元性的文化结构,并以其独特的地域特征与人文环境催生出一批个性鲜明、博学深邃的文学家,虽然作品数量不多,但具有较高的艺术造诣,且创作风格迥
【教学内容】苏教版小学语文一年级上册《家》第二课时。【教学目标】1.能正确、流利、有感情地朗读和背诵课文。2.学会“土”和“子”两个生字,读准字音,理解字义,熟记字形,
期刊
期刊
摘要:随着社会经济的不断发展和科学技术的日益更新,我们迎来了信息化时代,互联网在人们生产生活中得到广泛应用。随着计算机网络的不断应用,网络计算机安全隐患也频发。由于计算机本身的缺陷以及个人操作不规范等因素,使得网络安全隐患长期存在。因而,要想使计算机技术进一步发展,需要充分了解并研究网络安全发生的原因,继而提出切实可行的对策,从而提高计算机网络的安全性。  关键词:计算机网络;安全问题;防护措施 
公案小说和侦探小说诞生于不同的地域和时代环境,但两者在不少地方存在相似之处,可算一对素未谋面的“远亲”。1840年鸦片战争后中国的国门被强行打开,西方文明大量涌入,侦探小说
在分析瞬时功率频谱特性的基础上,提出了一种基于瞬时功率的变压器励磁涌流和内部故障电流识别新方法.该方法主要依据变压器两侧三相差瞬时功率幅频特性中直流分量和基频分量
摘要:面对现代信息技术快速发展的现状,人们对计算机软件开发技术提出了更高的要求,其中被广泛应用的技术是JAVA编程技术,它在静态面向对象编程语言中属于代表性语言技术,本文将重点分析计算机软件JAVA编程的特点,希望可以提高计算机软件的实用性。  关键词:计算机;编程特点;软件开发  JAVA作为面向对象编程语言,摒弃了C++中难以被理解的指针、多继承等特征,反而具有简单易用和功能强大两个基本特征,
如果区域供热公司想以可与各单独供热方案相媲美的价格提供热量,它们中的许多家目前正面临着巨大的成本压力.为了保持竞争性,区域供热公司一方面必须采用不会发生少读现象的
期刊
丘迟研究分为家族研究、个人研究、作品研究三个方面。丘迟字希范,吴兴乌程人,齐梁时期文人,家族世代为官,有数十篇文学作品传世。家族成员有曾祖父丘系、祖父丘道真、从祖父