06_循环控制.docVIP

  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文档。上传文档
查看更多
第六讲? 第六章 循环控制 内容: §6.1? goto语句构成的循环结构 §6.2?? while语句构成的循环结构 §6.3?? do-while语句构成的循环结构 §6.4?? for语句构成的循环结构   在许多问题中,我们都需要使用循环结构,使得某一段程序能循环执行。例如要想计算sin0°~sin90°的函数值,间隔为1°;又如在对若干个数进行排序时,如果只用选择结构,势必会使问题非常复杂,程序非常繁琐。但如果使用了循环结构,你会发现,即使对大量的数据进行排序,程序的长度也基本保持不变。 C语言的循环结构共有下列四种: ??? goto 语句 ??? while 语句 ??? do-while 语句 ??? for 语句 §6.1 goto语句以及用goto构成的循环结构 一、goto语句 1. 格式: goto 语句标号; 2. 执行过程: 程序运行到goto语句时,无条件转移到语句标号所指定的语句去运行。 3. 使用说明: ?(1) 在goto语句中,语句标号是用标识符来表示的.使用goto语句时,程序中一定要有相应的标识符,且标识符后要加“:”。 (2) goto语句一般与if语句一起构成循环结构。 二、用goto语句构成循环结构 ??? 在循环体内部,使用goto语句可以从循环体内部跳到循环体之外,但由于这种结构不符合结构化原则,故一般不用。只有在多层循环中由最内层向最外层跳出时才使用。 §6.2 while 语句以及用while语句实现当型循环结构 除了关系运算之外,我们还会遇到这样的问题:若干个开关并联,在何种条件下,电路接通;若干个开关串联,在何种条件下,电路接通.这类问题就是我们上个,,,,期讲过的逻辑运算问题。 一、while 语句 1. 格式: while (表达式) 语句 2. 执行过程: 先计算表达式之值,若为非0(即条件成立),执行后面的语句(称之为循环体)之后,再计算表达式之值进行判断;若为0(即条件不成立),跳过语句,向下执行。 3. 说明:? (1) while 语句中的表达式可以是算术、字符、关系、逻辑等表达式。 (2) while 语句中的循环体可以是一个简单语句、控制语句,也可以是一个复合语句,此时要用花括号{}括起来。 (3) 在循环体中,应该能够使循环体向结束方向变化,否则会构成死循环。 (4) 从结构上来讲,while语句先判断条件再执行循环体,类似与当型循环。 二、举例 请看下面的程序,程序的功能是:求1+2+3+.......+100之值 main () {int i,s; ?i=1; /* 存放加数的变量应赋以适当的初值 */ ?s=0; /* 存放连加和的变量s,在求和之前赋初值0 */ ?while (i=100) ?{s=s+i; ? i++;} /* 每进行一次循环,使i之值增加1,向循环体结束方向变化 */ ?printf(i=%d s=%d\n,i,s); } 程序运行的结果为: i=101 s=5050 ??? 从程序运行结果可以看出,当程序运行结束时,i的值为101而不是100,想一想这是为什么?一定要注意while语句的执行过程。 ??? 再想一想,如果去掉while(i=100)后面的一对花括号,程序还能得出正确的结果吗?为什么? 再看下面的一段程序 main() {int i=1; ?while(i0) ?printf(%d ,i); } 想一想,这段程序运行的结果是什么?是否构成死循环?为什么会构成死循环? §6.3 do-while 语句 一、do-while 语句构成的直到型循环结构 1. 格式: do 语句 ?????? while (表达式); 2. 执行过程: 先执行语句(循环体),然后计算表达式之值,若为非0(条件成立),继续执行循环体;若为0(条件不成立),则跳出循环结构,执行下面的语句。 3. 使用说明:? (1)在循环体中,表达式之值一定要由非0向0转化的语句,否则将构成死循环。 (2)从结构上来讲,do-while语句先执行循环体,类似与直到型循环,但在画结构化流程图时,图中和条件与程序中的条件则相反,因直到型循环结构是当条件不成立时执行循环体,条件成立时跳出循环体。 二、与while语句的区别: ??? 无论条件是否成立(即表达式为0还是非0),do-while结构至少要执行一次循环体,而while结构可能一次循环体也不执行就跳出循环结构。 下面的程序是用do-while语句实现求:1+2+3+.......+100之值。 main () {int i,s; ?i=1; /* 存放加数的变量应赋以适当的初值 */ ?s=0; /* 存放连加和的变量s,在求和之前赋初值0 */ ?do ?{s=s+i; ? i++;}

文档评论(0)

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

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

1亿VIP精品文档

相关文档