第6章 循环控制.ppt

  1. 1、本文档共65页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
6.6 循环的嵌套 一个循环体内又包含另一个完整的循环结构,称为循环的嵌套。内嵌的循环中还可以嵌套循环,这就是多层循环。各种语言中关于循环的嵌套的概念都是一样的。 三种循环(while循环、dowhile循环和for循环)可以互相嵌套。例如,下面几种都是合法的形式: (1) while( ) {… while( ) {…} } (2) do {… do {… } while( ); } while( ); (3) for(;;) { for(; ;) {…} } (4) while( ) {… do {…} while( ); … } (5) for(; ;) {… while( ) { } … } (6) do { … for (; ;) { } } while( ); 6.7 几种循环的比较 (1) 四种循环都可以用来处理同一问题,一般情况下它们可以互相代替。但一般不提倡用goto型循环。 (2) while和dowhile循环,只在while后面指定循环条件,在循环体中应包含使循环趋于结束的语句(如i++,或i=i+1等)。 for循环可以在表达式3中包含使循环趋于结束的操作,甚至可以将循环体中的操作全部放到表达式3中。因此for语句的功能更强,凡用while循环能完成的,用for循环都能实现。 (3) 用while和dowhile循环时,循环变量初始化的操作应在while和dowhile语句之前完成。而for语句可以在表达式1中实现循环变量的初始化。 (4) while循型、dowhile循环和for循环,可以用break语句跳出循环,用continue语句结束本次循环(break语句和continue语句见6.8节)。而对用goto语句和if语句构成的循环,不能用break语句和continue语句进行控制。  6.8.1 break语句 在4.4节中已经介绍过用break语句可以使流程跳出Switch结构,继续执行Switch语句下面的一个语句。实际上,break语句还可以用来从循环体内跳出循环体,即提前结束循环,接着执行循环下面的语句。如: for(r=1;r=10;r++) { area=Pi*r*r; if(area100) break; printf(%f,area); } 6.8 break语句和continue语句 计算r=1到r=10时的圆面积,直到面积area大于100为止。从上面的for循环可以看到:当area100时,执行break语句,提前结束循环,即不再继续执行其余的几次循环。 break语句的一般形式为: break; break语句不能用于循环语句和Switch语句之外的任何其他语句中。 6.8.2 continue语句 一般形式为: continue; 其作用为结束本次循环,即跳过循环体中下面尚未执行的语句,接着进行下一次是否执行循环的判定。 continue语句和break语句的区别是:continue语句只结束本次循环,而不是终止整个循环的执行。而break语句则是结束整个循环过程,不再判断执行循环的条件是否成立。如果有以下两个循环结构: (1) while(表达式1) { … if(表达式2) break; … } (2) while(表达式1) {… if(表达式2) continue; … } 程序(1)的流程图如图6.10所示,而程序(2)的流程如图6.11所示。请注意图6.10和图6.11中当“表达式2”为真时流程的转向。 图6.10 图6.11 例6.5把100~200之间的不能被3整除的数输出。 main() {int n; for (n=100;n=200;n++) {if (n%3==0) continue; printf(%d,n); } } 当n能被3整除时,执行continue语句,结束本次循环(即

文档评论(0)

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

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

1亿VIP精品文档

相关文档