项目4 循环结构程序设计.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文档。上传文档
查看更多
项目4 循环结构程序设计

项目4 循环结构程序设计 【任务目标】 掌握for语句、while语句和do-while语句的使用 掌握break语句和continue语句的使用 能够利用循环语句解决实际问题 任务1 while语句——超市收费系统 【问题提出】在日常生活中遇到的有些循环问题,事前不知道循环次数,例如,在刚生产的1批药丸(每粒10g)中混入一个外观完全相同的不合格药丸(15g),为了查找该药丸,逐个称重量,直到查到15g的药丸为止,但事前并不知道要查多少次,这时候就要使用循环语句中的while语句。 【安排任务】如果你在超市工作,你领导让你为超市编写一个收费系统,你能做到吗?那就要想想,这个收费系统的工作过程,当顾客从超市购物出来要付款的时候,顾客把购买的东西递给收银员后,收银员对所有的商品条形码扫描,扫描一个就得到该商品的价格并自动累加,最后扫描完,收银员一打回车,总价钱就得到了。那这个超市的收费系统到底是如何实现的? 【思路指导】 1、收银员对商品条形码扫描的过程就是把商品的价格输入的过程,定义一个变量x为商品的价格。 2、收银员要重复的对商品的价格进行扫描,但是收银员并不知道这种重复的动作要进行多少次,所以我们要用思考用哪种循环语句。 3、在求总价格的时候我们可以假设有一个盒子s,用来放所有商品的总价钱;收银员每扫描一次,也就是把该商品的价格输入给x,然后把x的值转移加入到s盒子里,重复操作,直到收银员打回车,在这里用“0”代表回车;最后输出s盒子中的值,就得到所有商品的总价格。 【解决方案】 #includestdio.h void main() {float x,s=0; /*定义变量,分别存放每个商品的价钱和总价钱,实型数据*/ printf(“请输入商品价格”); scanf(“%f”,x); /*输入第一个商品的价钱给x*/ while(x!=0) /*不是“回车”就执行*/ { s=s+x; /*加到总价钱里*/ scanf(“%f”,x); } /*输入每个商品的价钱给x*/ printf(“总价钱=%f”,s); } /*输出总价钱*/ 【归纳分析】 1、while其一般形式: ?while(循环条件) { 循环体语句; } 执行过程: 2、使用while语句时,需注意: (1)while语句的特点是先判断表达式的值,如果表达式的值一开始就为“假“,则循环体将一次也不执行。 (2)当循环体为多个语句组成,必须用{}括起来,形成复合语句。如果不加花括弧,则while 语句的范围只到while语句后面第一个分号基本语句处。 (3)为了使循环最终能够结束,而不至于使循环体语句无穷执行,即产生“死循环”。因此,每执行一次循环体,条件表达式的值都应该有所变化,这既可以在表达式本身中实现,也可以在循环体中实现。 (4)遇到数列求和,求积的一类问题,一般可以考虑使用循环解决。 注意循环初值的设置。一般对于累加器常设置为0,累乘器常设置为1。 (5)循环体也可以是空语句,只有分号,什么也不做。 【技能训练一】期末考试结束之后,老师让你分别统计c语言这门课程及格和不及格的人数,编程来实现这个操作。 #includestdio.h void main() {int a=0,b=0; float score; printf(请输入学生成绩:\n); scanf(%f,score); while(score!=0) { if(score=60) a++; else b++; scanf(%f,score);} printf(a=%d,b=%d\n,a,b); } 程序运行结果如下: 【技能训练二】有一张厚度为0.1毫米的纸,假设它足够大,重复将其对折,问对折多少次之后,其厚度可以抵达(再对折一次就超过)珠穆朗玛峰的高度? 【思路指导】 重复对折一张纸,实质就是厚度乘以2,次数加1。 用顺序结构编程为:h=h*2; n=n+1; 循环:这样的语句一直重复写到h满足题目要求为止。 【解决方案】 #includestdio.h void main() { double h=0.1; int n=0; /* n用来累计对折次数*/ while(h=8848180) { h=h*2; n=n+1;} printf(对折次数为:%d,此时厚度:%.2f\n,n-1,h/2);} 【运行情况】 【技能训练三】计算近似值 的近似值,直到最后

文档评论(0)

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

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

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档