- 1、本文档共15页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
7输入输出问题课案
要目 输入问题 输入循环及其控制 字符输入的控制 理解输入过程 标准输入/输出及其重新定向 输入与计算机系统的安全性 输入输出问题 循环输入问题 通过简单实例介绍scanf和getchar的使用。例子程序都是输入确定的几项数据,比较简单 一般而言,程序常要输入一系列数据,可能要输入一组类似的数据,也可能写程序时无法确定要输入的数据项数 这些情况下就需要写输入的循环 下面研究循环处理多项输入时可能遇到的问题 特别研究描述循环输入的技术(循环输入的控制问题) 这里的关键问题是:如何写程序,使使用者可以通过输入控制程序里循环的执行和结束(让使用程序的人可以控制程序里循环的执行) 下面先从最简单的形式开始 通过计数器控制的输入循环 如编程时知道要输入的数据项数,就可以用计数器直接控制输入循环。例如由各月降雨量统计一年总量: #include stdio.h int main() { double x, sum; int n; for (sum=0, n=1; n = 12; ++n) { printf(Enter the data of %dth month:“, n); scanf(%lf, x); sum = sum + x; } printf(Annual Precipitation: %f\n, sum); return 0; } 用特殊结束值控制输入循环 如果编程时不能确定需要输入的数据项数(可能有时多有时少),就不能采用简单的计数循环方法,需另辟蹊径 一种常用技术是结束标志法: 人为规定一个特殊的 “结束标志”值 该结束标志是一个特殊输入值,它应不是正常输入数据 让程序在循环中不断检测得到的数据,一旦看到这个特殊数据,就知道数据全部输入完毕,应结束循环了 采用这一类技术时 循环结束条件就是写程序的人与使用者之间的一种约定 当输入值满足约定时就让循环结束 货单汇总 假设每次输入数量,要求统计货物总数。我们可以规定通过输入 0 通知程序所有数据都已输入完毕 #include stdio.h int main() { int amount = 0; int number = 100; while (number != 0) { printf(“Input number: ); scanf(“%d, number); amount = amount + number; } printf(Total amount: %d\n, amount); return 0; } 程序中循环体的执行次数完全由程序执行时外部提供的输入数据项数决定(输入多少项后输入单价0) 最后一种循环形式 #include stdio.h int main() { int amount = 0; int number; do { printf(“Input number: ); scanf(“%d, number); amount = amount + number; }while (number != 0); printf(Total amount: %d\n, amount); return 0; } 问题 上面两种方式可以解决许多程序里的数据输入循环的控制问题,但有时也会遇到困难 例:假定现在要写程序求一批输入的实数的平均值 事先不知道可能输入哪些数据。任何数值都可能出现在要求我们求平均值的数据中 如果选0作为“结束标志”,而实际数据里有0,这个程序就不能正确处理了(任何选择都有问题) 这是最一般的输入控制问题,也很常见。要解决这类问题,就需要进一步理解scanf的功能 C标准库的所有输入函数都采用类似的设计 后面可看到相关情况 深入理解scanf scanf的返回值是int类型,它顺序处理格式串,根据格式串的要求完成输入、转换和对变量的赋值 工作正常结束时返回所完成的数据转换项数 如果执行一开始就遇到文件结束,就返回一个特殊符号常量 EOF(是一个int值,后面介绍) 如果没处理完整个格式串就失败了,它返回已经完成的数据转换项数(一个整数) scanf 将输入得到的数据与正在处理的转换描述比较 如果相符就完成一项转换。例如:如果转换描述是 %d,输入得到了一串数字,就成功把它们转换为一个整数 如果实际输入与转换描述不匹配,则转换失败 深入理解scanf 如果转换描述要求读整数或者浮点数,scanf会跳过遇到的空白字符,从下一非空白字符开始处理 scanf要求三方面一致:转换描述、对应参数的类型、实际输入。假如格式串要求做整数转换,赋给整型变量;而实际输入的不是
您可能关注的文档
- 7水电站压力管道b.ppt
- 健康生活1——合理运动.pptx
- 7个习惯教材.ppt
- 健康知识竞赛84.doc
- 健康知识竞赛90分.doc
- 健康知识竞赛题.docx
- 健康知识竞赛.doc
- 健康生活产业展.pptx
- 健康管理可行性研究报告.docx
- 健康管理师培训知识汇编(仅供参考).doc
- 中国国家标准 GB/T 5211.9-2025颜料和体质颜料通用试验方法 第9部分:相同类型着色颜料耐光性的比较.pdf
- 《GB/T 5211.9-2025颜料和体质颜料通用试验方法 第9部分:相同类型着色颜料耐光性的比较》.pdf
- 《GB/T 37228-2025安全与韧性 应急管理 突发事件管理指南》.pdf
- GB/T 23724.3-2025起重机 检查 第3部分:塔式起重机.pdf
- 中国国家标准 GB/T 25163-2025防止儿童开启包装 可重新盖紧包装的要求与试验方法.pdf
- 《GB/T 25163-2025防止儿童开启包装 可重新盖紧包装的要求与试验方法》.pdf
- GB/T 16263.5-2025信息技术 ASN.1编码规则 第5部分:W3C XML模式定义到ASN.1的映射.pdf
- 中国国家标准 GB/T 16263.5-2025信息技术 ASN.1编码规则 第5部分:W3C XML模式定义到ASN.1的映射.pdf
- 《GB/T 16263.5-2025信息技术 ASN.1编码规则 第5部分:W3C XML模式定义到ASN.1的映射》.pdf
- GB/T 11349.2-2025机械振动与冲击 机械导纳的试验确定 第2部分:用激振器作单点平动激励测量.pdf
最近下载
- 宾馆装修改造项目立项建议书.doc VIP
- 悬臂法挂篮施工监测方案.docx VIP
- 财税大楼装修项目建议书.doc VIP
- XXX教学楼装修改造项目建议书.pdf VIP
- 提高胸外科患者肺功能锻炼的依从性品管圈汇报书ppt.pptx
- 2025广西百色工业投资发展集团有限公司招聘27人笔试参考题库附答案解析.docx VIP
- 2025国内短剧行业市场规模、出海短剧市场机遇及未来短剧制作方向分析报告.pptx VIP
- 2025广西百色工业投资发展集团有限公司招聘27人考试备考题库及答案解析.docx VIP
- 2025广西百色工业投资发展集团有限公司招聘27人笔试备考试题及答案解析.docx VIP
- 小升初语文成语错别字专项练习.pdf VIP
文档评论(0)