第07讲循环结构程序设计.ppt

上传人:王** 文档编号:533997 上传时间:2023-11-15 格式:PPT 页数:25 大小:457KB
下载 相关 举报
第07讲循环结构程序设计.ppt_第1页
第1页 / 共25页
第07讲循环结构程序设计.ppt_第2页
第2页 / 共25页
第07讲循环结构程序设计.ppt_第3页
第3页 / 共25页
第07讲循环结构程序设计.ppt_第4页
第4页 / 共25页
第07讲循环结构程序设计.ppt_第5页
第5页 / 共25页
第07讲循环结构程序设计.ppt_第6页
第6页 / 共25页
第07讲循环结构程序设计.ppt_第7页
第7页 / 共25页
第07讲循环结构程序设计.ppt_第8页
第8页 / 共25页
第07讲循环结构程序设计.ppt_第9页
第9页 / 共25页
第07讲循环结构程序设计.ppt_第10页
第10页 / 共25页
亲,该文档总共25页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《第07讲循环结构程序设计.ppt》由会员分享,可在线阅读,更多相关《第07讲循环结构程序设计.ppt(25页珍藏版)》请在优知文库上搜索。

1、2023-11-131 Program Design in C LanguagePage第七讲第七讲第五章第五章 嵌套循环结构嵌套循环结构continue 语句和语句和 break 语句语句goto语句语句2023-11-132 Program Design in C LanguagePage在一个循环体内又包含另一个或多个完整在一个循环体内又包含另一个或多个完整的循环结构,称为循环的嵌套。的循环结构,称为循环的嵌套。说明:说明:(1)嵌套原则嵌套原则:不允许交叉。不允许交叉。(2)循环与分支可以相互嵌套但不允许交叉。循环与分支可以相互嵌套但不允许交叉。5.4 嵌套循环结构 2023-11-1

2、33 Program Design in C LanguagePage*输出图形:输出图形:程序段:程序段:for(i=1;i=4;i+)printf(*);printf(n);5.4 嵌套循环结构 2023-11-134 Program Design in C LanguagePage其中语句:其中语句:printf(*);等价于等价于for(j=1;j=8;j+)printf(*);于是构成了二重循环语句:于是构成了二重循环语句:for(i=1;i=4;i+)for(j=1;j=8;j+)printf(*);printf(n);5.4 嵌套循环结构 2023-11-135 Program

3、Design in C LanguagePage 上面的例子中:上面的例子中:外循环由循环控制变量外循环由循环控制变量i控制,控制,i由由1递增到递增到4。for(i=1;i=4;i+)for(j=1;j=8;j+)printf(*);printf(n);每执行每执行1次外循环,都要执行由循环控制变量次外循环,都要执行由循环控制变量j控制的控制的8次内循环操作和次内循环操作和1次换行操作。次换行操作。5.4 嵌套循环结构 2023-11-136 Program Design in C LanguagePageint n=1,i,j;while(n=3)printf(输出外循环输出外循环 n=%

4、dn,n);i=1;while(i=2)printf(1)输出内循环输出内循环 i=%dn,i);i+;j=1;while(j=3)printf(2)输出内循环输出内循环 j=%dn,j);j+;n+;例例 读程序,写出运行结果。读程序,写出运行结果。5.4 嵌套循环结构 2023-11-137 Program Design in C LanguagePage输出结果:输出结果:5.4 嵌套循环结构 2023-11-138 Program Design in C LanguagePage对每对每1行而言,列编号从行而言,列编号从1行编号行编号行编号从行编号从19 例例 输出输出九九乘法表九九乘

5、法表1*1=11*2=2 2*2=41*3=3 2*3=6 3*3=9 1*9=9 2*9=18 9*9=815.4 嵌套循环结构 2023-11-139 Program Design in C LanguagePage#includevoid main()int i,j;/*i表示行编号,表示行编号,j表示列编号表示列编号*/for(i=1;i=9;i+)for(j=1;j=i;j+)printf(%d*%d=%-2d,j,i,j*i);printf(n);5.4 嵌套循环结构 2023-11-1310 Program Design in C LanguagePage例例 输出如下图形:输出

6、如下图形:*5.4 嵌套循环结构 行编号从行编号从15 对每对每1行而言,行而言,*个数为个数为2行编号行编号-1基准行基准行对每对每1行而言,空格个数为行而言,空格个数为5-行编号行编号2023-11-1311 Program Design in C LanguagePage#includevoid main()int i,j,k;/*i表示行编号,表示行编号,j表示空格个表示空格个 数,数,k表示表示*个数个数*/for(i=1;i=5;i+)for(j=1;j=5-i;j+)printf();for(k=1;k=2*i-1;k+)printf(*);printf(n);5.4 嵌套循环结

7、构 2023-11-1312 Program Design in C LanguagePage1、continue语句语句格式:格式:continue;功能:结束本次循环,直接使程序回到循功能:结束本次循环,直接使程序回到循环控制条件重新判断。环控制条件重新判断。注意:注意:continue语句只能用于循环结构。语句只能用于循环结构。5.5 continue语句和break语句 2023-11-1313 Program Design in C LanguagePage例例 对除对除5的倍数以外的的倍数以外的1100的数求和。的数求和。#includevoid main()int i,s=0;f

8、or(i=1;i=100;i+)if(!(i%5)continue;/*i是是5的倍数则结束本次循环的倍数则结束本次循环*/s+=i;/*i不是不是5的倍数则进行求和的倍数则进行求和*/printf(s=%dn,s);5.5 continue语句和break语句 2023-11-1314 Program Design in C LanguagePage#includevoid main()int i,cnt=0;for(i=1;i=50;i+)if(i%3=0)continue;printf(%dt,i);cnt+;printf(ntotal:%dn,cnt);例例 统计统计150之间不能被之

9、间不能被3整除的数的个数并输出这些数。整除的数的个数并输出这些数。5.5 continue语句和break语句 2023-11-1315 Program Design in C LanguagePage格式:格式:break;功能:功能:立即终止循环语句的执行,执行后立即终止循环语句的执行,执行后续语句。续语句。2、break语句语句注意:注意:(1)break语句只能用在语句只能用在switch语句和循环语句和循环语句中。语句中。(2)break只能跳出直接包含它的循环语句只能跳出直接包含它的循环语句(或者直接包含它的(或者直接包含它的switch语句)。语句)。5.5 continue语句

10、和break语句 2023-11-1316 Program Design in C LanguagePage例例 统计输入的字符个数并输出它们,以统计输入的字符个数并输出它们,以“!”终止。终止。#includevoid main()char ch;int cnt=0;while(1)ch=getchar();if(ch=!)break;cnt+;printf(%c,ch);printf(n字符个数字符个数=%dn,cnt);5.5 continue语句和break语句 2023-11-1317 Program Design in C LanguagePage例例 输出输出3100中的所有素数

11、。中的所有素数。分析:分析:1)对于某整数对于某整数n,如果不能被,如果不能被2n/2中的任何整数中的任何整数所整除所整除,则该整数为素数,否则该整数为合数。则该整数为素数,否则该整数为合数。上述描述可用一个上述描述可用一个for语句来表示:语句来表示:for(i=2;i=n/2;i+)if(n%i=0)break;表示只要表示只要n能被能被2n/2中任何一个整数所整除,则中任何一个整数所整除,则n一定为合数,素数判断过程立即终止。一定为合数,素数判断过程立即终止。2)对于对于3100之间的整数,可以表示如下:之间的整数,可以表示如下:for(n=3;n=100;n+)5.5 continue

12、语句和break语句 2023-11-1318 Program Design in C LanguagePage#includevoid main()int n,i;for(n=3;n=100;n+)for(i=2;in/2)/*条件满足则条件满足则n为素数为素数*/printf(%dt,n);printf(n);5.5 continue语句和break语句 2023-11-1319 Program Design in C LanguagePage格式:格式:goto 标号标号;标号标号:语句语句作用:使程序流程无条件转向标号所标示作用:使程序流程无条件转向标号所标示的位置。的位置。5.6 g

13、oto语句和语句标号的使用 2023-11-1320 Program Design in C LanguagePage#includevoid main()int n=3,i;L1:if(n=100)i=2;L2:if(in/2)printf(%dt,n);n+;goto L1;例例 输出输出3100中的所有素数。中的所有素数。5.6 goto语句和语句标号的使用 2023-11-1321 Program Design in C LanguagePage说明:说明:1)goto语句为无条件转向语句,可与语句为无条件转向语句,可与if语语句配合形成循环结构。句配合形成循环结构。2)在循环结构中可

14、使用在循环结构中可使用goto语句来一次跳语句来一次跳出多层循环。出多层循环。3)标号的命名规则同变量名。标号的命名规则同变量名。4)goto语句不符合结构化程序设计原则,语句不符合结构化程序设计原则,一般不主张使用。一般不主张使用。5.6 goto语句和语句标号的使用 2023-11-1322 Program Design in C LanguagePage#includevoid main()int i,j,k;for(i=1;i=4;i+)for(j=1;j=4;j+)for(k=1;k=4;k+)if(i!=j&j!=k&i!=k)printf(%dt,i*100+j*10+k);pr

15、intf(n);程序举例 例例 输出由输出由1、2、3、4四个数字组成的互不相四个数字组成的互不相同且无重复数字的三位数。同且无重复数字的三位数。2023-11-1323 Program Design in C LanguagePage程序举例 例例 中国古代数学家张丘建在他的算经中中国古代数学家张丘建在他的算经中提出了著名的提出了著名的“百钱买百鸡问题百钱买百鸡问题”:鸡翁一,:鸡翁一,值钱五,鸡母一,值钱三,鸡雏三,值钱一,值钱五,鸡母一,值钱三,鸡雏三,值钱一,百钱买百鸡,问翁、母、雏各几何?百钱买百鸡,问翁、母、雏各几何?请编写程序求解该问题。请编写程序求解该问题。2023-11-13

16、24 Program Design in C LanguagePage#includevoid main()int cock,hen,chick;for(cock=0;cock=20;cock+)for(hen=0;hen=33;hen+)chick=100-cock-hen;if(chick%3=0&cock*5+hen*3+chick/3=100)printf(cock=%dthen=%dtchick=%dn,cock,hen,chick);程序举例 2023-11-1325 Program Design in C LanguagePage上机实验内容:上机实验内容:熟悉嵌套循环结构,熟悉嵌套循环结构,continue和和break语句;语句;实验教程实验教程第第5 5章章 实验二、实验三实验二、实验三

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 大学课件

copyright@ 2008-2023 yzwku网站版权所有

经营许可证编号:宁ICP备2022001189号-2

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