第7讲循环嵌套break与continue循环小结

上传人:无*** 文档编号:170425808 上传时间:2022-11-21 格式:PPT 页数:18 大小:160.50KB
收藏 版权申诉 举报 下载
第7讲循环嵌套break与continue循环小结_第1页
第1页 / 共18页
第7讲循环嵌套break与continue循环小结_第2页
第2页 / 共18页
第7讲循环嵌套break与continue循环小结_第3页
第3页 / 共18页
资源描述:

《第7讲循环嵌套break与continue循环小结》由会员分享,可在线阅读,更多相关《第7讲循环嵌套break与continue循环小结(18页珍藏版)》请在装配图网上搜索。

1、第7讲第第4 4章章 循环程序设计循环程序设计4.1 4.1 循环概述循环概述4.2 while4.2 while语句语句4.3 for4.3 for语句语句4.4 do4.4 dowhilewhile语句语句4.5 4.5 循环的嵌套循环的嵌套4.6 break4.6 break与与continuecontinue语句语句循环的嵌套循环的嵌套v三种循环可互相嵌套三种循环可互相嵌套,层数不限层数不限v外层循环可包含两个以上内循环外层循环可包含两个以上内循环,但不能相互交叉但不能相互交叉v嵌套循环的执行流程嵌套循环的执行流程(1)while()while().(2)do do while();.

2、while();(3)while()do while();.(4)for(;)do while();while().内循环外循环内循环v嵌套循环的跳转嵌套循环的跳转禁止:禁止:l从外层跳入内层从外层跳入内层l跳入同层的另一循环跳入同层的另一循环l向上跳转向上跳转 4.5 辅助控制语句break语句v功能:在循环语句和switch语句中,终止并跳出循环体或开关体v说明:lbreak只能终止并跳出最近一层的结构lbreak不能用于循环语句和switch语句之外的任何其它语句之中exprbreak;假假(0)真真(非非0)whiledobreak;.expr假假(0)真真(非非0)whileexpr

3、2break;.假假(0)真真(非非0)forexpr1expr3switchexpr语句组语句组1break;语句组语句组2break;语句组语句组nbreak;语句组语句组break;.const 1const 2const ndefaultcase 例例 break举例:输出圆面积,面积大于举例:输出圆面积,面积大于100时停止时停止#define PI 3.14159fvoid main()int r;float area;for(r=1;r100)break;printf(r=%d,area=%.2fn,r,area);例例 break举例:小写字母转换成大写字母举例:小写字母转换成

4、大写字母,直至输入非字母字符直至输入非字母字符#include void main()int i,j;char c;while(1)c=getchar();if(c=a&c=z)putchar(c-a+A);else break;continue语句v功能:结束本次循环,跳过循环体中尚未执行的语句,进行下一次是否执行循环体的判断v仅用于循环语句中exprcontinue;假(0)真(非0)while真(非0)docontinue;.expr假(0)whileexpr2continue;.假(0)真(非0)forexpr1expr3例例 求输入的十个整数中正数的个数及其平均值求输入的十个整数中正

5、数的个数及其平均值#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个学生。已知他们参加某次考试个学生。已知他们参加某次考试的成绩(的成绩(0到到100之间的整数),求全班学生在这之间的整数),求全班学生在这次考试中的总成绩。次考试中的总成绩。#incl

6、ude 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,scor

7、e,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)标志控制的循环)标志控制的循环 因为我们事先能够准确地知道计数器的循环会执行多少次,因为我们事先能够准确地知道计数器的循环会执行多少

8、次,所以把计数器控制的循环有时称为所以把计数器控制的循环有时称为“定数循环定数循环”;因为我们;因为我们事先不知道标志控制的循环会执行多少次,所以把标记控制事先不知道标志控制的循环会执行多少次,所以把标记控制的循环有时称为的循环有时称为“不定数循环不定数循环”。在计数器控制的循环中,控制变量用来计算循环的次数。在计数器控制的循环中,控制变量用来计算循环的次数。控制变量的值在每次执行完一组循环指令后递增(或递减)。控制变量的值在每次执行完一组循环指令后递增(或递减)。当控制变量的值表明达到了预定的循环次数时,循环终止并当控制变量的值表明达到了预定的循环次数时,循环终止并继续执行循环结构后的语句。

9、继续执行循环结构后的语句。在如下情况下可用标记值控制循环过程:在如下情况下可用标记值控制循环过程:1)事先不知道准确的循环次数)事先不知道准确的循环次数 2)循环体中包含每次循环都要获取数据的语句)循环体中包含每次循环都要获取数据的语句 标记值表示获取数据的结束。标记值是在所有合法数据标记值表示获取数据的结束。标记值是在所有合法数据项都提供给程序后键入的值。标记值必须不同于正常的数据项都提供给程序后键入的值。标记值必须不同于正常的数据项。项。例:协助破案。假设已经查清,有例:协助破案。假设已经查清,有A、B、C、D、E五个嫌疑人可能参与制造了一起抢劫银行五个嫌疑人可能参与制造了一起抢劫银行案,

10、但是不知道其中哪几个人是真正的案犯。案,但是不知道其中哪几个人是真正的案犯。不过,有确凿证据表明:不过,有确凿证据表明:如果如果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+)fo

11、r(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 criminal: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 c

12、riminal);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;循环语句的效率循环语句的效率建议二:如果循环体内存在逻辑判断,并且循环次数很大,建议二:如果循环体内存在逻辑判断,并且循环次数很大,宜将逻辑判断移到循环体的外面。宜将逻辑判断移到循环体的外面。for(i=0;iN;i+)if(conditon)DoSomething();elseDoSomething();if(condition)for(i=0;iN;i+)DoSomething();else for(i=0;iN;i+)DoSomething();

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!