13 格式化输入.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
13 格式化输入

第12单元 格式化输入/输出 12.1格式化输出函数printf() 函数printf()被称为格式化输出函数,即可以用来对数据按一定格式进行显示。 12.1.1 格式参数结构 函数printf()的格式参数字符串由3种字符组成: (1)普通字符,即需要照原样显示的字符。 (2)转义字符,即由反斜杠“\”引出的字符,用于显示控制,如换行、制表等。 (3)格式字段中的字符。前面已经介绍了函数printf()的字段,但是那是一种简化的格式字段。简化的格式字段还不能形成有效的格式显示。printf()函数完整的格式字段如图12.1所示。包含在其中的字符分别用于格式修饰、显示宽度说明、精度说明、显示长度修正以及格式符(类型及其他)。这些是格式参数中的关键字符。 12.1.2 基本格式符 12.1.3 长度修饰符 12.1.4 域宽与精度说明 域宽与精度说明的格式为m.n。其中: m为输出域宽,用字符数表示。对实数,还包括了一个小数点的位置。 n为精度,其用法有如下几种情形: · 配合格式码f、e/E时,指定小数点后面的位数;未指定精度时,默认小数点后6位。 · 配合格式码g/G时,指定有效位的数目。 · 作用于字符串时,精度符限制最大域宽。 · 作用于整型数据时,指定必须显示的最小位数,不足时左侧补0。 代码12.1 #include stdio.h int main (void){ printf(“%12.5f\n”,123.1234567); printf(“%12f\n”,123.1234567); printf(“%12.5g\n”,123.1234567); printf(“%5.10s%s\n”,”abcdefghijklm”,”a”); printf(“%12.8d\n”,12345); return 0; } 需要指出的是:输出数据的实际精度并不主要取决于格式说明字段中的域宽与精度,也不取决于输入的数据精度,而主要取决于数据在机器内的存储精度。例如,一般的C语言系统对float只能提供7位有效数字,double有大约16位有效数字。格式说明字段中指定的域宽再大、精度再长,所得到的多余位数上的数字是无意义的,所以增加域宽与精度并不能提高输出数据的实际精度。 12.1.4 前缀修饰符 代码12.2 对于数据的定义如下: double x = 333.0123456789, y = -555.0123456789; int i = 123456; 按照不同的格式说明字段,用printf()函数输出的结果见表12.4。 代码12.3 一个显示美国各州面积、森林覆盖面积和森林覆盖率的简单程序。 /****** 美国各州面积列表 ******/ #include stdio.h int main (void){ double ar ,por,perc; printf(%-12s%12s%12s%12s\n,State,Area,Forest,Percent); printf(------------------------------------------------\n); ar = 50750; por = 33945; perc = por/ar*100; printf(%-12s%12.0f%12.0f%10.2f%%\n,Alabama,ar,por, perc); ar = 591000;por = 201642; perc = por/ar*100; printf(%-12s%12.0f%12.0f%10.2f%%\n,Alaska,ar,por, perc); ar = 114000;por = 30287; perc = por/ar*100; printf(%-12s%12.0f%12.0f%10.2f%%\n,Arlzona,ar,por, perc); ar = 53187;por = 26542; perc = por/ar*100; printf(%-12s%12.0f%12.0f%10.2f%%\n,Arkanasas,ar,por, perc); ar = 158706;por = 61532; perc = por/ar*100; printf(%-12s%12.0f%12.0f%10.2f%%\n,California,ar,por, perc); ar = 104000;por = 33340; perc = por/ar*100; printf(%-12s%12.0f%12.0f%10.2f%%\n,Colorado,ar,por, perc); printf(“……\n”); return

文档评论(0)

yan698698 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档