第九讲(循环).doc

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

第九讲 循环结构程序设计(上)(2学时) 【主要讲授内容】 重点难点教学方法 【学时安排】 while语句(当型循环) while语句的一般形式是: 其中:表达式称为“循环条件”,语句称为“循环体”。 为便于初学者理解,可以读做“当条件(循环条件)成立(为真),循环执行语句(循环体)” 执行过程是: 先计算while后面的表达式的值,如果其值为“真”则执行循环体, 在执行完循环体后,再次计算while后面的表达式的值,如果其值为“真”则继续执行循环体,如果表达式的值为假,退出此循环结构。 使用while语句需要注意以下几点: while语句的特点是先计算表达式的值,然后根据表达式的值决定是否执行循环体中的语句。因此,如果表达式的值一开始就为“假”,那么循环体一次也不执行。 当循环体为多个语句组成,必须用{}括起来,形成复合语句。 在循环体中应有使循环趋于结束的语句,以避免“死循环”的发生。 例:利用while语句,编写程序计算1+2+3+…+100。 解: 算法1:直接写出算式 S1: result=1+2+3+4+5+…+100 很简单。但是写都写得累死了。 算法2: 考虑到1+2+3+…+100可以改写为:(((1+2)+3)+…+100), S1:p1=1+2 S2: p2=p1+3 S3: p3=p2+4 … S99: p99=p98+100 结果在p100里。 此算法也一样麻烦,要写99步,同时要使用99个变量。本算法同样不适合编程。 算法3: S0: p=0,i=1(循环初值) S1: p=p+i, i=i+1(循环体) S2: 如果i小于或等于100,返回重新执行步骤S1及S2;否则,算法结束(循环控制)。 p中的值就是1+2+…+100的值。 从算法3可以看出这是一个典型的循环结构程序,流程图: 结论:编制循环程序要注意下面几个方面: 遇到数列求和,求积的一类问题,一般可以考虑使用循环解决。 注意循环初值的设置。一般对于累加器常常设置为0,累乘器常常设置为1。 循环体中做要重复的工作,同时要保证使循环倾向于结束。循环的结束由while中的表达式(条件)控制。 6、2 do-while语句(直到型循环) do-while语句的一般形式是: 其中:表达式称为“循环条件”,语句称为“循环体”。 为便于初学者理解,可以读做:“执行语句(循环体),当条件(循环条件)成立(为真)时,继续循环”或“执行语句(循环体),当条件(循环条件)不成立(为假)时,循环结束”-直到型循环。 执行过程是: 执行do后面循环体语句。 计算while后面的表达式的值,如果其值为“真”则继续执行循环体,如果表达式的值为假,退出此循环结构。 说明: do-while循环,总是先执行一次循环体,然后再求表达式的值,因此,无论表达式是否为“真”,循环体至少执行一次。 do-while循环与while循环十分相似,它们的主要区别是:while循环先判断循环条件再执行循环体,循环体可能一次也不执行。do-while循环先执行循环体,再判断循环条件,循环体至少执行一次。 其它:复合语句{},避免死循环要求同while循环。 C语言没有do-until(做…直到条件满足后循环停止),但是用do-while可以实现它,只要控制表达式为:!就可以了。 例:利用do-while语句计算机1+1/2+1/4+…+1/50。 6、3 for语句(当型循环) for语句的一般形式是: for是关键词,其后有3个表达式,各个表达式用“;”分隔。3个表达式可以是任意的表达式,通常主要用于for循环控制。 for循环执行过程如下: 计算表达式1。 计算表达式2,若其值为非0(循环条件成立),则转3)执行循环体;若其值为0(循环条件不成立),则转5)结束循环。 执行循环体。 计算表达式3,然后转2)判断循环条件是否成立。 结束循环,执行for循环之后的语句。 for语句最容易理解、最常用的形式是: 说明:(参看p.68例子) for语句中表达式1,表达式2,表达式3都可以省略,甚至三个表达式都同时省略,但是起分隔作用的“;”不能省略。 如果省略表达式1,即不在for语句中给循环变量赋初值,则应该在for语句前给循环变量赋初值。 如果省略表达式2,即不在表达式2的位置判断循环终止条件,循环无终止地进行,也就是认为表达式2始终为“真”。则应该在其它位置(如:循环体)安排检测及退出循环的机制。 如果省略表达式3,即不在此位置进行循环变量的修改,则应该其它位置(如:循环体)安排使循环趋向于结束的工作。 表达式1可以是设置循环变量初值的表达式(常用),也可以是与循环变量无关的其它表达式; 表达式1,表达式3可以是简单表达式,也可以是逗号表达式。 表达式2一般为关系

文档评论(0)

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

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

1亿VIP精品文档

相关文档