第02章数据类型、运算符和表达式讲解.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第02章数据类型、运算符和表达式讲解

讨论1:因格式控制串未指定输入数据之间的分隔符,故输入数据之间可用空格分隔,也可用回车键、跳格键(tab)分隔。即以下3种输入均合法: 30???20↙ 30↙ 20↙ 30(按tab键)20↙ 讨论2:若希望用指定字符做输入数据之间的分隔,则可在scanf函数的格式控制串中指定。例如,下列scanf函数调用指定逗号做输入数据之间的分隔: scanf(%d,%d,a,b); 这样,输入数据时,数据之间必须用逗号分隔: 30,20↙ 否则导致输入结果出错。 作用:将输入的字符序列转换成基本类型数据。 组成:由%开始、依次由星号(*)、宽度指示符、格式修饰符和格式字符组成。 设有下列变量说明: int a,b; unsigned c,d,e; short int f; 输入有符号十进制整数可用格式字符d: scanf(%d,a); scanf(%3d%d,a,b); 运行时若输入:11112↙ 则将前三个字符111转换成整数后存入变量a,将剩余的字符12转换成整数后存入变量b。但这种方法输入数据时容易出错,建议少用。 输入有符号八进制、十进制和十六进制整数可用格式字符i: scanf(%i,a); 输入数据按何种进制转换,取决于运行时的输入。 若运行时输入:077↙ 则为输入八进制数据。 若运行时输入:99↙ 则为输入十进制数据。 若运行时输入:0x77↙ 则为输入十六进制数据。 输入无符号八进制、十进制和十六进制整数分别用格式字符o、u和x: scanf(%o%u%x,c,d,e); 运行时若输入:77 99 ff↙ 则系统自动将77(八进制)转换成整数后存入变量c,将99(十进制)转换成整数后存入变量d,将ff(十六进制)转换成整数后存入变量e。但若输入非法字符,则输入数据将出错。 输入有符号十进制短整数可用格式字符d和格式修饰符h: scanf(%hd,f); 设有下列变量说明: float x; double y; 输入float型实数可用格式字符f或e: scanf(%f,x);  也可指定输入数据所占字符数: scanf(%5f,x); 运行时若输入:12.34↙ 则将前5个字符12.34转换成实数后存入变量x。 输入double型实数必须用格式字符lf或le: scanf(%lf,y); 格式字符c可用于转换输入的一个字符数据: char c,d,e; scanf(%c%c%c,c,d,e); 运行时输入1: abc↙  则变量c得到a,变量d得到b,变量e得到c。 运行时输入2: ?a?b?c↙ 则变量c得到空格,变量d得到a,变量e得到空格。 注意:与其他格式字符不同,格式字符c转换输入的字符时,不跳过空白符。 格式控制串中的*:表示跳过它指定的数据项。 例如: int a,b; scanf(%d%*d%d,a,b); 运行时若输入:1?2?3↙ 则读入字符串1并转换成整数1给变量a,%*d表示读入字符串2并转换成整数2但不给任何变量,最后再读入字符串3并转换成整数3送给变量b。 再如: scanf(%*c); 可使程序运行到此暂停,等待用户按回车键继续。 输入数据时,若遇下列情况则认为该数据结束: 未指定分隔符时遇空白符(空格、回车或跳格),或指定分隔符时遇指定分隔符。 取完指定个数的字符。如%3d,只取3个字符。 遇非法字符。如输入十进制数时出现a、b等。 遇文件结束符EOF DOS、Windows操作系统为Ctrl+Z组合键 UNIX操作系统为Return+Ctrl+d组合键 Macintosh操作系统为Ctrl+d组合键 演示程序1 编写一个程序,将以吋为单位的长度值转换成以厘米为单位的长度值,输出结果的精度为10-3。转换公式为:1吋=2.54厘米。请按以下输入输出格式编程。 输入格式: 请输入长度值(吋)?12.3↙ 输出格式: 12.300吋=31.242厘米 分析: 输入输出是人-机交流界面,应非常重视。 输入数据时应有提示,输出数据时要注意可读性。 本题重点是设计输入输出格式。参见源程序。 源程序: #includestdio.h int main(void) { float inch, /*保存输入的长度值(吋)*/ cm; /*保存转换后的长度值(厘米)*/ printf(请输入长度值(吋)?); scanf(%f,inch); cm=2.54f*inch; /*吋转

文档评论(0)

000 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档