循环嵌套break与continue循环小结课件_第1页
循环嵌套break与continue循环小结课件_第2页
循环嵌套break与continue循环小结课件_第3页
循环嵌套break与continue循环小结课件_第4页
循环嵌套break与continue循环小结课件_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第7讲第4章 循环程序设计4.1 循环概述4.2 while语句4.3 for语句4.4 dowhile语句4.5 循环的嵌套4.6 break与continue语句循环的嵌套三种循环可互相嵌套,层数不限外层循环可包含两个以上内循环,但不能相互交叉嵌套循环的执行流程(1) while() while() . (2) do do while( ); . while( );(3) while() do while( ); . (4) for( ; ;) do while(); while() .内循环外循环内循环嵌套循环的跳转禁止:从外层跳入内层跳入同层的另一循环向上跳转 4.5 辅助控制语句br

2、eak语句功能:在循环语句和switch语句中,终止并跳出循环体或开关体说明:break只能终止并跳出最近一层的结构break不能用于循环语句和switch语句之外的任何其它语句之中exprbreak;假(0)真(非0)whiledobreak;.expr假(0)真(非0)whileexpr2break;.假(0)真(非0)forexpr1expr3switchexpr语句组1break;语句组2break;语句组nbreak;语句组break;.const 1const 2const ndefaultcase 例 break举例:输出圆面积,面积大于100时停止#define PI 3.14

3、159fvoid main() int r; float area; for(r=1;r100)break; printf(r=%d,area=%.2fn,r,area); 例 break举例:小写字母转换成大写字母,直至输入非字母字符#include void main() int i,j; char c; while(1) c=getchar(); if(c=a & c=z) putchar(c-a+A); else break; continue语句功能:结束本次循环,跳过循环体中尚未执行的语句,进行下一次是否执行循环体的判断仅用于循环语句中exprcontinue;假(0)真(非0)w

4、hile真(非0)docontinue;.expr假(0)whileexpr2continue;.假(0)真(非0)forexpr1expr3例 求输入的十个整数中正数的个数及其平均值#include void main() int i,num=0,a; float sum=0; for(i=0;i10;i+) scanf(%d,&a);if(a=0) continue;num+;sum+=a; printf(%d plus integers sum :%6.0fn,num,sum); printf(Mean value:%6.2fn,sum/num);循环小结例:某个班有10个学生。已知他们

5、参加某次考试的成绩(0到100之间的整数),求全班学生在这次考试中的总成绩。#include main() int counter,score,total=0; printf(Enter score:); for(counter=1;counter=10;counter+) scanf(%d,&score); total+=score; printf(Class average is %dn,total/10);例:某个班有若干个学生。已知他们参加某次考试的成绩(0到100之间的整数),求全班学生在这次考试中的总成绩。#include void main() int counter=1, sc

6、ore, total=0; printf(Enter score,-1 to end:); scanf(%d,&score); while(score!=-1) total+=score; counter+; printf(“Enter score,-1 to end:”); scanf(“%d”,&score); printf(Class average is %d,total/(counter-1); 前面讨论了两种循环: 1)计数器控制的循环 2)标志控制的循环 因为我们事先能够准确地知道计数器的循环会执行多少次,所以把计数器控制的循环有时称为“定数循环”;因为我们事先不知道标志控制的循

7、环会执行多少次,所以把标记控制的循环有时称为“不定数循环”。 在计数器控制的循环中,控制变量用来计算循环的次数。控制变量的值在每次执行完一组循环指令后递增(或递减)。当控制变量的值表明达到了预定的循环次数时,循环终止并继续执行循环结构后的语句。 在如下情况下可用标记值控制循环过程: 1)事先不知道准确的循环次数 2)循环体中包含每次循环都要获取数据的语句 标记值表示获取数据的结束。标记值是在所有合法数据项都提供给程序后键入的值。标记值必须不同于正常的数据项。例:协助破案。假设已经查清,有A、B、C、D、E五个嫌疑人可能参与制造了一起抢劫银行案,但是不知道其中哪几个人是真正的案犯。不过,有确凿证

8、据表明: 如果A参与了作案,则B和C一定会参与。 B和C两人中只有一人参与了作案。 C和D要么都参与了作案,要么都没有参与。 D和E两人中至少有一人参与作案。 如果E作案,则A和D一定参与作案。main() int a,b,c,d,e; int count=0; for(a=0;a2;a+) for(b=0;b2;b+) for(c=0;c2;c+) for(d=0;d2;d+) for(e=0;e=1); count+=(e=0|(e=1&a=1&d=1); if(count=5) goto finish; finish: printf(Suspect a is %s.n,(a=1)?a c

9、riminal:not a criminal); printf(Suspect b is %s.n,(b=1)?a criminal:not a criminal); printf(Suspect c is %s.n,(c=1)?a criminal:not a criminal); printf(Suspect d is %s.n,(d=1)?a criminal:not a criminal); printf(Suspect e is %s.n,(e=1)?a criminal:not a criminal);循环语句的效率建议一:在多重嵌套循环中,如果有可能,应当将最长的循环放在最内层,最短的循环放在最外层,这样可以减少CPU跨切循环层的次数,从而优化程序的性能。for(row=0;row100;row+) for(col=0;col5;col+) sum+=arowcol; for(col=0;col5;col+) for(row=0;col100;col+) sum+=arowcol; 循环语句的效率建议二:如果循环体内存在逻辑判断,并且循环次数很

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论