收藏 分销(赏)

chap5循环结构.pptx

上传人:可**** 文档编号:1714624 上传时间:2024-05-08 格式:PPTX 页数:15 大小:162.53KB
下载 相关 举报
chap5循环结构.pptx_第1页
第1页 / 共15页
chap5循环结构.pptx_第2页
第2页 / 共15页
chap5循环结构.pptx_第3页
第3页 / 共15页
chap5循环结构.pptx_第4页
第4页 / 共15页
chap5循环结构.pptx_第5页
第5页 / 共15页
点击查看更多>>
资源描述

1、“语语句句标标号号”为为某某一一语语句句前前的的一一个个标标识识符符。其其定定名名规规则则与变量名相同。与变量名相同。例例5.1 用用 if 语句和语句和goto语句构成循环求语句构成循环求 。在在C中,除非不得已时才使用中,除非不得已时才使用goto语句。语句。main()int i,sum=0;i=1;loop:if(i=100)/*语语句句标标号号后后的的“:”是是必必须须的的 */sum=sum+i;i+;goto loop;printf(“%d”,sum);用用while语语句句可可实实现现“当当型型”循循环环,语语句句形形式式为:为:while(表达式表达式)语句;语句;说明:说明

2、:“表表达达式式”的的值值为为真真(非非0)时时执执行行“语语句句”,然然后后返返回回while处处判判断断“表表达达式式”是是否否为为假假(0),若若为为假假,则则转转去去执执行行“语语句句”后后面面的的语语句句,否否则则,继续执行继续执行“语句语句”。“语句语句”可以是用可以是用 括起的复合语句。括起的复合语句。3.while 语句语句例例5.2用用while语语句句求求1+2+100 。main()int i,sum=0;i=1;while (i=100)sum=sum+i;i+;printf(“%d”,sum);用用dowhile语语句句可可实实现现“直直到到型型”循循环环,语语句句形

3、形式为:式为:do 语句;语句;while(表达式表达式);说明:说明:执执行行“语语句句”后后,判判断断“表表达达式式”是是否否为为假假(0),若若为为假假,则则结结束束循循环环,否否则则返返回回do处处继继续续执执行行“语语句句”。“语句语句”可以是用可以是用 括起的复合语句。括起的复合语句。while循循环环是是先先判判断断“表表达达式式”,后后执执行行“语语句句”。因此。因此。while循环可能一次也不会执行。循环可能一次也不会执行。do while循循环环是是先先执执行行“语语句句”,后后判判断断“表表达达式式”。因此,。因此,do while 循环至少要执行循环至少要执行 1 次次

4、。4.do while语句语句例例5.3 用用do while语句求语句求1+2+100 。main()int i,sum=0;i=1;do sum=sum+i;i+;while(i=100);printf(“%d”,sum);main()int i,sum=0;for(i=1;i=100;i+)sum=sum+i;printf(“%d”,sum);5.for 语句语句for语句的一般形式:语句的一般形式:for(表达式表达式1;表达式表达式2;表达式表达式3)语句;语句;其中:其中:“语句语句”可以是用可以是用 括起的复合语句。括起的复合语句。for语句的执行过程如图所示。语句的执行过程如图

5、所示。例例5.3 用用 for 循环语句求循环语句求1+2+100 。i=1;for(;i=100;i+)sum=sum+i;如如果果省省略略“表表达达式式2”或或三三个个表表达达式式均均省省略略,则则成成为为“死死循循环环”。如:如:for(i=1;i+)sum=sum+i;for(;)语句;语句;“表达式表达式3”可置于可置于“语句语句”中。如:中。如:for(sum=0,i=1;i=100;)sum=sum+i;i+;如果只有如果只有“表达式表达式2”,则完全等同于,则完全等同于while循环。如:循环。如:“表达式表达式1”可置于可置于for语句之前,但必须保留语句之前,但必须保留“;

6、”。如:。如:“表表达达式式1”可可以以是是设设置置循循环环变变量量初初值值的的赋赋值值表表达达式式,也也可可以以是是与与循环变量无关的其它表达式。如:循环变量无关的其它表达式。如:for(sum=0;i=100;i+)sum=sum+i;“表表达达式式1”和和“表表达达式式3”可可以以是是简简单单表表达达式式,也也可可以以是是逗逗号号表表达达式。如:式。如:for(i=0,j=100;i=j;i+,j-)k=i+j;“表表达达式式2”一一般般为为关关系系表表达达式式或或逻逻辑辑表表达达式式,但但也也可可以以是是数数值值表表达式或字符表达式,只要其值为非达式或字符表达式,只要其值为非0,就执行

7、,就执行“语句语句”。for(sum=0,i=1;i=100;)sum=sum+i;i+;while(i=100)sum=sum+i;i+;1)break语句语句 break语语句句用用于于从从while、do while和和for循循环环中中跳跳出去而终止其循环。出去而终止其循环。例例:for(i=1;i30)break;printf(“%f n”,s);注注:break语语句句不不能能用用于于循循环环语语句句和和switch语语句句以以外外的的任何其它语句中。任何其它语句中。2)continue语句语句continue语句的作用是结束本次循环并开始下一次循环。语句的作用是结束本次循环并开始

8、下一次循环。6.break 语句和语句和 continue 语句语句例例5.4 编编程程输输出出100 200之之间间不不能能被被3整整除除的的数。数。main()int n;for(n=100;n=200;n+)if(n%3=0)continue;printf(“%d”,n);3)break语句和语句和continue语句执行流程比较语句执行流程比较例例5.5 用用“辗转相除法辗转相除法”求正整数求正整数m和和n的最大公约数。的最大公约数。“辗转相除法辗转相除法”的步骤为:的步骤为:若若mn,则,则m n;m%n r;若若r=0,转,转 n m,r n,转,转 输出输出n。main()int

9、 r,m,n;printf(“Enter m,n=”);scanf(“%d%d”,&m,&n);printf(“m=%d,n=%dn”,m,n);if(mn)r=m;m=n;n=r;r=m%n;while(r!=0)m=n;n=r;r=m%n;printf(“H.C.F=%dn”,n);例例5.6 求求100 200之间的所有素数之间的所有素数(循环嵌套循环嵌套)。#include“math.h”main()int f,m,i,k,n=0;for(m=101;m=200;m=m+2)if(n%10=0)printf(“n”);k=sqrt(m);f=1;for(i=2;i=k;i+)if(m%

10、i=0)f=0;break;if(f=1)printf(“%d”,m);n=n+1;例例5.8 编程求编程求1000以内的完数。以内的完数。(一个数等于因子之和为完数一个数等于因子之和为完数)#include“stdio.h”main()int m,n,sum;for(m=2;m1000;m+)sum=1;for(n=2;nm;n+)if(m%n=0)sum+=n;if(m=sum)printf(%d=1,m);for(n=2;nm;n+)if(m%n=0)printf(+%d,n);printf(n);循环小结循环小结:For while dowhile 三种循环可以相互转换。三种循环可以相互转换。用用if goto 可以构成循环可以构成循环,但不符合结构化程序设计但不符合结构化程序设计,尽量少用尽量少用或不用。或不用。三种循环可以相互嵌套。三种循环可以相互嵌套。本章习题:本章习题:P97 5.12 5.13 5.16 5.18P99 5.20 5.24 5.25 5.32 5.36 5.37

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服