第三章 数的输入和输出.pptVIP

  1. 1、本文档共34页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
C语言程序设计 吕俊白 第三章 数据的输入和输出 将程序中的数据送到外部设备(如屏幕、打印机等)称为程序的输出。 程序从外部设备获取数据称为输入。 C语言本身不提供I/O语句,I/O操作是由函数实现的。 使用标准I/O函数库中的I/O函数时,一般应在程序开头加入: #include stdio.h 3.1 printf函数 3.1.1 printf函数的格式 一般格式:printf(格式控制,输出表列) 格式控制由两种成分组成: 1.普通字符:照原样输出。 2.格式说明:由%和格式字符组成,其作用是将输出的数据转换为指定的格式输出。 格式说明的完整格式: % - 0 m.n l/h 格式字符 3.1.2 格式字符说明 1、格式字符:用以指定输出项的数据类型和输出格式。参见P:37表3-1 %d:以带符号的十进制形式输出整数 %o:以八进制无符号形式输出整数 %x:以十六进制无符号形式输出整数 %u:以无符号十进制形式输出整数 %c:以字符形式输出,只输出一个字符 %s:输出字符串 %f:以小数形式输出单,双精度数,隐含输出六位小数 %e:以指数形式输出实数 %g:选用%f或%e格式中输出宽度较短的一种格式,不输出无意义的0 注意: 在设计格式参数时,每个格式项要与所对应的输出项参数的类型、次序相一致,否则将会出现错误。如:不应用%f输出整数 除了X,E,G外,其他格式字符必须用小写字母。如:%d不能写成%D 可以在printf函数中的“格式控制”字符串内包含“转义字符”。如:”\n”等。 2、域宽及精度描述符m.n (1)域宽 在“%”与格式字符之间插入一个整数常量来指定输出的宽度。如: %md 输出时,将该指定宽度与格式字符规定的输出宽度进行比较,按较大的宽度输出。 如果指定的输出宽度不够,则按格式字符规定的数据宽度输出; 如果指定的输出宽度较大,默认情况下数据右对齐,左边补以空格。 (2)精度描述符 对于float或double类型的实数,可以用m.n的形式在指定宽度的同时指定小数位的位数。 其中:m指定域宽,即输出数据的总宽度; n指定精度,对于实数,表示输出n位小数(不指定n时,隐含的精度为n=6位)。 输出时按以下步骤进行: ①控制输出精度:当输出数据的小数位大于n指定的宽度时,截去右边多余的小数,并对截去的第一位小数进行四舍五入;当输出数据的小数位小于n指定的宽度时,在小数的右边添0。 ②将控制输出精度后的数据的宽度与m进行比较,按较大的宽度输出。 /*例ch3_1 输出实数时指定小数位数。*/ #include stdio.h void main() { float f=123.456; printf(%f,%10f,%10.2f,%.2f,%-10.2f,%10.5f,%7.5f\n,     f,f,f,f,f,f,f); } 注意: %f用来输出实数(含单、双精度)时,在输出的数字中并非全部数字都是有效数字。 g格式符根据数值的大小,自动选取f格式或e格式(选择输出宽度最短的一种),且不输出无意义的零。对于格式字符g,m指输出数据的总宽度,精度n用来指定输出的有效数字。 输出数据的实际精度并不主要取决于格式项中的域宽与精度,也不完全取决于输入的数据精度,而主要取决于数据在机器内的存储精度。所以,增加域宽与输入精度并不一定能提高输出数据的实际精度。 对于整数,若输出的数字少于精度n指定的个数,则在数字前面加0补足;若输出的数字多于n指定的个数时,按数字的实际宽度输出。 #includestdio.h void main() { int a=123; printf(%d,%4d,%04d,%.6d,%.2d\n,a,a,a,a,a); } /*ch3_2.c*/ 对于字符串,域宽精度中的n表示从左至右截取的字符个数,即用来指定最多输出的字符个数,然后,将该宽度和m进行比较,按较大的宽度输出,若大于m,则突破m的限制输出,若小于m,则左补空格。 3、长度修正符 l:对整型指long型, 如:%ld,%lx,%lo,%lu;   对实型指double型,如:%lf h:只用于将整型的格式字符修正为short型,如:%hd,%hx,%ho,%hu; 对于加了长度修正符的格式字符也可以指定域宽精度。 4、在“%”和格式字符间加一个“+”号,可以使输出的数总是带有“+”号或“-”号 5、在“%”和格式字符o和x之间插入一个“#”号,将在输出的八进制数前添加0,在输出的十六进制数前添加0x 3.2 scanf函数 3.2.1 scanf函数的格式 一般形式: scanf(格式控制,地址表列) 作用:用来输入若干个任何类型的数据。具体地说,是按格式参数的要求,从终端

文档评论(0)

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

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

1亿VIP精品文档

相关文档