- 1、本文档共37页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* 4.3 scanf()语句交互式输入方法 数据输入 【例4.9】计算300.0×0.05。 #include stdio.h int main() { float num1,num2,product; num1=300.0; num2=.05; product=num1*num2; printf(%f * %f = %f\n,num1,num2,product); return 0; } * 【例4.10】计算任意两个整数的乘积。 #include stdio.h int main() { float num1, num2, product; printf(请输入被乘数:); /*输入数据提示*/ scanf(%f,num1); printf(请输入乘数:); scanf(%f,num2); product = num1 * num2; printf(%f * %f = %f\n ,num1,num2,product); return 0; } * “如影随行”换行符 【例4.11】换行符对程序输入输出的影响 #include stdio.h int main() { char fkey, skey; printf(请输入一个字符: ); scanf(%c,fkey); printf(刚才键入的字符是 %d,fkey); printf(\n请输入另一个字符 : ); scanf(%c,skey); printf(刚才键入的字符是 %d\n,skey); return 0; } 当scanf() 函数用于接收字符时,有时会得到意想不到的结果。该程序使用scanf() 函数接收键盘输入的一个字符,并把它存储到变量fkey中,然后使用第二个scanf() 函数接收第二个字符,存储到变量skey中。程序运行结果如下: 响应第一个提示时,按下了两个键: A键和回车键。 在大多数计算机系统中,这两个字符在它们 被键入后立即存储在被称为键盘缓冲区(buffer) 的临时存储区中。 从字符的观点来看,这表示不同的字符输入。 第一个字符是A,被存储为65, 第二个字符用回车键的ASCII码存储在缓冲区中。 第二次调用scanf()函数时,它会获取这个代码而 不会等待任何另外的按键。 这些键一般不会影响数据的输入 。 只有在已经输入某些数据之后 请求输入一个字符时, 这些控制字符才会影响输入结果。 * 【例4.12】 处理“如影随行”换行符的方法。 #include stdio.h int main() { char fkey,skey; printf(请输入一个字符: ); scanf(%c%c,fkey,skey);/*回车键的代码给变量skey*/ printf(刚才键入字符ASCII码是%d,fkey); printf(\n请输入另一个字符:: ); scanf(%c,skey); /*接收另一个代码*/ printf(刚才键入字符的ASCII码是%d\n,skey); return 0; } 程序中第一个scanf()函数接收两个紧接着的字符,当用户输入m并按压回车键时,m→fkey,回车键→ skey。第二次调用scanf()函数时,把下一个输入的字符的n → skey中,也就屏蔽了回车键对程序运行产生的副作用。 * 输入验证 一个健全的程序应该能检测并有效地响应意外的输入。 【例4.13】计算三个数的平均值。 #include stdio.h int main() { int num1,num2,num3; double average; /*获得输入数据*/ printf(请输入三个整数,数据之间用空格分隔: ); scanf(%d %d %d,num1,num2,num3);/*计算平均值*/ average = (num1 + num2 + num3) / 3.0;/*显示结果*/ printf(The average of %d ,%d,and %d is %f\n, num1,num2,num3,average); return 0; } 当输入3个整数时,程序正确。 但一旦输入的数据不完全符合要求, 第二个数输入20.5时,就会发生错误。 20→num2,无效的字符(小数点) →num3, 被转换为-858 933 460存储在变量中。 所以最后的结果为10,20和-858 933 460 的平均值-286 331 143.333 333。 第三个输入的数值为非整型数据, 则最后输入的数据的整数部分被赋值给变
您可能关注的文档
最近下载
- Unit 5 We’re family 第1课时(Get ready)(课件)外研版(三起)(2024)英语三年级上册.pptx
- 中国民间传说:田螺姑娘.ppt
- 医院岗位风险分级监管制度.docx VIP
- 八年级班级工作计划第一学期.pdf VIP
- 甘肃省平凉崆峒区2024年中考联考数学试卷含解析.doc
- 硅片加工表面抛光.ppt
- 正大猪三宝饲料推广会流程和操作实务.ppt
- 安徽省腰椎间盘突出症分级诊疗指南(2015年版)安徽省医学会(发布时间:2016-01).pdf VIP
- 国家食品安全抽样检验抽样单&填表说明.doc
- TASCAM达斯冠专业音响CD-RW901MKII说明书用户手册(1).pdf
文档评论(0)