收藏 分销(赏)

C语言程序设计框图PPT.ppt

上传人:天**** 文档编号:5438022 上传时间:2024-11-02 格式:PPT 页数:86 大小:800KB
下载 相关 举报
C语言程序设计框图PPT.ppt_第1页
第1页 / 共86页
C语言程序设计框图PPT.ppt_第2页
第2页 / 共86页
C语言程序设计框图PPT.ppt_第3页
第3页 / 共86页
C语言程序设计框图PPT.ppt_第4页
第4页 / 共86页
C语言程序设计框图PPT.ppt_第5页
第5页 / 共86页
点击查看更多>>
资源描述

1、C语言程序设计电子教案 第3章控制结构 第第3 3章控制结构章控制结构 返回总目录C语言程序设计电子教案 第3章控制结构目录目录 3.1 3.1程序结构框图程序结构框图 3.23.2二分支结构二分支结构 3.33.3多分支结构多分支结构 3.63.6习题三习题三 3.43.4循环结构循环结构 3.53.5breakbreak与与continuecontinue语句语句 返回总目录C语言程序设计电子教案 第3章控制结构基本要求:基本要求:)熟悉C语言的程序结构框图;)熟悉C语言的二分支结构、多分支结构和循环结构;)熟练掌握结构化程序设计方法。学习重点:学习重点:)流程图、N-S图、循环结构;)结

2、构化程序设计方法。C语言程序设计电子教案 第3章控制结构3.1程序结构框图程序结构框图3.1.13.1.1 自然语言描述自然语言描述 l程序设计的关键是程序设计的关键是算法算法。l算法算法是实际问题求解步骤的描述是实际问题求解步骤的描述。有了正确有效的。有了正确有效的算法,就可以用任何一种计算机语言编写程序,解算法,就可以用任何一种计算机语言编写程序,解决各种问题。决各种问题。l算法可采用算法可采用自然语言自然语言、流程图流程图或或N-SN-S图图等进行描述。等进行描述。自然语言描述:用人们日常所使用的语言自然语言描述:用人们日常所使用的语言(如英如英语、汉语语、汉语)进行算法的描述。进行算法

3、的描述。返回目录C语言程序设计电子教案 第3章控制结构3.1程序结构框图程序结构框图3.1.13.1.1 自然语言描述自然语言描述 例例3.23.2求求s=1+2+3+s=1+2+3+100+100之和。之和。解题思路解题思路要将要将11001100累加到累加到s s变量上去,如果采用先初始化变量上去,如果采用先初始化变量变量s=0s=0,然后用语句序列,然后用语句序列s=s+1s=s+1;s=s+2s=s+2;则要重复写则要重复写100100个个加法赋值语句,很显然,这种算法不可取。改用下述算法。加法赋值语句,很显然,这种算法不可取。改用下述算法。算法步骤:算法步骤:(1)(1)设设s=0,

4、n=0s=0,n=0;(2)(2)变量变量n n值加值加1 1,即,即n=n+1n=n+1;(3)(3)将将n n加到变量加到变量s s中,即中,即s=s+ns=s+n;(4)(4)如果如果n n值小于值小于100100,返回去执行第,返回去执行第2 2步。否则执行第步。否则执行第5 5步;步;(5)(5)输出输出s s变量的值。变量的值。C语言程序设计电子教案 第3章控制结构3.1程序结构框图程序结构框图3.1.23.1.2 流程图流程图 流程图是一种传统的算法描述方法,流程图是一种传统的算法描述方法,l它用几种不同的几何图来代表不同性质的操作它用几种不同的几何图来代表不同性质的操作;l用流

5、程线来指示算法的执行方向用流程线来指示算法的执行方向.用流程图表示的算法简单直观,容易转化成相应的语用流程图表示的算法简单直观,容易转化成相应的语言程序。言程序。C语言程序设计电子教案 第3章控制结构3.1程序结构框图程序结构框图3.1.23.1.2 流程图流程图 表示算法表示算法的开始或的开始或结束;结束;表示数据表示数据的输入和的输入和输出;输出;在在实际中输实际中输入输出也入输出也常用矩形常用矩形框表示。框表示。用来对给定的用来对给定的条件进行判断,条件进行判断,根据条件成立根据条件成立与否来决定其与否来决定其后的操作,它后的操作,它有一个入口和有一个入口和两个出口;两个出口;用来表用来

6、表示一般示一般的数据的数据处理;处理;表示算表示算法执行法执行流程;流程;用来链用来链接画在接画在不同地不同地点的流点的流程图。程图。常用流程图符号C语言程序设计电子教案 第3章控制结构3.1程序结构框图程序结构框图3.1.23.1.2 流程图流程图 例例3.4 3.4 将例将例3.23.2中的算法用流程图表示,如下图所示。中的算法用流程图表示,如下图所示。C语言程序设计电子教案 第3章控制结构3.1程序结构框图程序结构框图3.1.33.1.3 N NS S图图 N-SN-S图是程序算法的另一种图形表示,它是由美图是程序算法的另一种图形表示,它是由美国人国人I.NassiI.Nassi和和B.

7、ShneidermanB.Shneiderman共同提出来的,其依共同提出来的,其依据是:因为任何算法都是由顺序结构、分支据是:因为任何算法都是由顺序结构、分支(选择选择)结构、循环结构这三种结构所组成,所以可以不需结构、循环结构这三种结构所组成,所以可以不需要各结构之间的流程线,全部算法写在一个矩形框要各结构之间的流程线,全部算法写在一个矩形框内,矩形框内由顺序、选择、循环三种结构组成。内,矩形框内由顺序、选择、循环三种结构组成。C语言程序设计电子教案 第3章控制结构3.1程序结构框图程序结构框图3.1.33.1.3 N NS S图图 3种基本结构的NS图顺序结构:顺序结构:它是按照语句它是

8、按照语句出现的先后顺出现的先后顺序依次执行的。序依次执行的。如上图所示,如上图所示,先执行先执行A A模块,模块,再执行再执行B B模块。模块。分支结构:分支结构:它是根据给定条件它是根据给定条件进行判断,选择其进行判断,选择其中的一个分支执行。中的一个分支执行。如上图所示,如上图所示,P P表表示条件,当示条件,当P P成立成立时执行分支时执行分支A A模块,模块,否则执行分支否则执行分支B B模模块。块。当型循环:当型循环:当条件满足时,重当条件满足时,重复执行某一操作。复执行某一操作。如上图所示,当条如上图所示,当条件件P P为为“真真”时,反时,反复执行复执行A A模块操作,模块操作,

9、直到直到P P为为“假假”时才时才终止循环,继续执终止循环,继续执行循环后面的语句。行循环后面的语句。直到型循环:直到型循环:它是先执行循环体操作,再它是先执行循环体操作,再判断条件,如果条件满足,判断条件,如果条件满足,则继续执行循环体操作,直则继续执行循环体操作,直到条件不满足时,才退出循到条件不满足时,才退出循环。环。如上图所示,首先执行如上图所示,首先执行A A模块操作,然后再判断给定模块操作,然后再判断给定的条件的条件P P是否成立,如果成立,是否成立,如果成立,反复执行反复执行A A模块操作,直到条模块操作,直到条件件P P不成立。不成立。C语言程序设计电子教案 第3章控制结构3.

10、1程序结构框图程序结构框图3.1.33.1.3 N NS S图图 例例3.6 3.6 将例将例3.23.2中的算法用中的算法用N-SN-S图表示,如下图所示。图表示,如下图所示。C语言程序设计电子教案 第3章控制结构3.1程序结构框图程序结构框图3.1.43.1.4 结构化程序设计结构化程序设计 l结构化程序设计的基本思想是:任何程序都由顺序结构、结构化程序设计的基本思想是:任何程序都由顺序结构、分支结构和循环结构这三种基本结构组成。分支结构和循环结构这三种基本结构组成。l结构化程序:由结构化程序:由3 3种基本结构经过反复组合、嵌套构成的程种基本结构经过反复组合、嵌套构成的程序。序。l结构化

11、程序设计方法:结构化程序设计方法:自顶向下,逐步细化自顶向下,逐步细化模块化设计模块化设计结构化编码结构化编码C语言程序设计电子教案 第3章控制结构3.1程序结构框图程序结构框图3.1.43.1.4 结构化程序设计结构化程序设计 l结构化程序设计具有以下特点:结构化程序设计具有以下特点:一个程序单元由顺序、分支、循环这一个程序单元由顺序、分支、循环这3 3种基本结构组成。种基本结构组成。3 3种基本种基本结构经过反复嵌套,可以表示任何复杂的算法。结构经过反复嵌套,可以表示任何复杂的算法。一个大的程序由若干个不同功能的小模块组成。一个大的程序由若干个不同功能的小模块组成。每个小模块只有一个入口和

12、一个出口。每个小模块只有一个入口和一个出口。程序中不能有无穷循环(死循环)。程序中不能有无穷循环(死循环)。程序中不能有在任何条件下都执行不到的语句(死语句)。程序中不能有在任何条件下都执行不到的语句(死语句)。用结构化思想设计出来的计算机程序,具有清晰的模块界面,因用结构化思想设计出来的计算机程序,具有清晰的模块界面,因此,在书写程序时,我们应根据逻辑结构和层次深度的不同,采此,在书写程序时,我们应根据逻辑结构和层次深度的不同,采用缩进对齐的方式,将程序模块写在不同的位置,这样可以提高用缩进对齐的方式,将程序模块写在不同的位置,这样可以提高程序的可读性,有助于调试程序,找出程序的逻辑错误。程

13、序的可读性,有助于调试程序,找出程序的逻辑错误。C语言程序设计电子教案 第3章控制结构3.1程序结构框图程序结构框图3.1.53.1.5 结构化程序的语句结构化程序的语句 表达式语句表达式语句:由由“表达式分号表达式分号”构成。如赋值语句、构成。如赋值语句、函数调用语句。函数调用语句。空语句:空语句:只由一个分号构成。空语句执行不产生任何动只由一个分号构成。空语句执行不产生任何动作,常用于循环体中。作,常用于循环体中。控制语句:控制语句:完成一定的程序流程控制功能。如完成一定的程序流程控制功能。如if-elseif-else,switch-caseswitch-case,forfor,whil

14、ewhile,do-whiledo-while,breakbreak,continuecontinue,gotogoto,returnreturn。复合语句:复合语句:由一对大括号括起来的一条或多条语句。被由一对大括号括起来的一条或多条语句。被括起来的语句可以是这括起来的语句可以是这4 4类的任何一类语句,常用于函数体类的任何一类语句,常用于函数体或循环体。或循环体。C语言程序设计电子教案 第3章控制结构3.2二分支结构二分支结构3.2.13.2.1 二分支二分支ifif语句语句 基本形式:基本形式:if(表达式表达式)语句语句1;else 语句语句2;例如:if(xy)printf(“max

15、=%d”,x);else printf(“max=%d”,y);表达式表达式语句语句2假假(0)真(非真(非0)语句语句1 返回目录C语言程序设计电子教案 第3章控制结构3.2二分支结构二分支结构3.2.13.2.1 二分支二分支ifif语句语句 例例3.73.7求两个整数求两个整数x x、y y中较大的数,并赋给变量中较大的数,并赋给变量maxmax。解题思路解题思路x x、y y值由输入函数输入,根据其大小判断,大的赋给值由输入函数输入,根据其大小判断,大的赋给maxmax变量。变量。其其N-SN-S图如图图如图3.83.8所示,可以编写如下程序。所示,可以编写如下程序。#include#

16、includemain()main()int x,y,max;int x,y,max;printf(Input x,y=);printf(Input x,y=);scanf(%d,%d,&x,&y);scanf(%d,%d,&x,&y);if(xy)if(xy)max=x;max=x;elseelsemax=y;max=y;printf(Max=%dn,max);printf(Max=%dn,max);C语言程序设计电子教案 第3章控制结构3.2二分支结构二分支结构3.2.23.2.2 不平衡不平衡ifif语句语句 基本形式:基本形式:if(表达式表达式)语句;语句;例如:if(xy)prin

17、tf(“max=%d”,x);表达式表达式语句语句假(假(0)真(非真(非0)C语言程序设计电子教案 第3章控制结构3.2二分支结构二分支结构3.2.23.2.2 不平衡不平衡ifif语句语句 例例3.83.8设计一个程序,从键盘输入设计一个程序,从键盘输入3 3个整数,按由小到大的顺序输出。个整数,按由小到大的顺序输出。解题思路解题思路三个整数三个整数x x、y y、z z,两两比较,始终保持,两两比较,始终保持x x的值最小,的值最小,z z的值最的值最大,不满足此条件,则其值进行交换。基大,不满足此条件,则其值进行交换。基N-SN-S图如图图如图3.103.10所示,可以编写出程所示,可

18、以编写出程序如下:序如下:#includemain()int x,y,z,temp;printf(Input x,y,z=);scanf(%d,%d,%d,&x,&y,&z);if(xy)temp=x;x=y;y=temp;if(xz)temp=x;x=z;z=temp;if(yz)temp=y;y=z;z=temp;printf(%d,%d,%dn,x,y,z);C语言程序设计电子教案 第3章控制结构3.2二分支结构二分支结构3.2.33.2.3 ifif语句的嵌套语句的嵌套 if(expr1)if(expr2)statement1 else statement2else if(expr3)

19、statement3 else statement4内嵌内嵌if内嵌内嵌ifif(expr1)if(expr2)statement1 else statement2内嵌内嵌ifif(expr1)if(expr2)statement1else statement3 内嵌内嵌ifif(expr1)statement1else if(expr3)statement3 else statement4内嵌内嵌if 嵌套的一般形式嵌套的一般形式C语言程序设计电子教案 第3章控制结构3.2二分支结构二分支结构3.2.33.2.3 ifif语句的嵌套语句的嵌套 例例3.113.11计算分段函数的值:计算分段函

20、数的值:C语言程序设计电子教案 第3章控制结构3.2二分支结构二分支结构3.2.33.2.3 ifif语句的嵌套语句的嵌套#include#include main()float x,y;scanf(%f,&x);if(x0)y=x;else if(x=1)y=exp(x);else if(x10)y=log10(x);else y=sin(x);printf(Y=%6.2fn,y);例例3.113.11计算分段函数的值:计算分段函数的值:C语言程序设计电子教案 第3章控制结构lif if else else 配对原则:配对原则:缺省缺省 时,时,elseelse总是和总是和它上面离它最近的未

21、配对的它上面离它最近的未配对的ifif配对配对if()if()if()else.else.else.3.2二分支结构二分支结构3.2.33.2.3 ifif语句的嵌套语句的嵌套 通过通过“ifif语句的嵌套语句的嵌套”可实现可实现“多分支结构多分支结构”C语言程序设计电子教案 第3章控制结构3.2二分支结构二分支结构3.2.33.2.3 ifif语句的嵌套语句的嵌套 示例:示例:if(a=b)if(b=c)printf(“a=b=c”);else printf(“a!=b”);修改:修改:if(a=b)if(b=c)printf(“a=b=c”);else printf(“a!=b”);实现实

22、现if else 正确配对方法:加正确配对方法:加 C语言程序设计电子教案 第3章控制结构3.3多分支结构多分支结构3.3.13.3.1 多分支多分支switchswitch语句语句 lif if 语句的嵌套实现多分支语句的嵌套实现多分支:如果分支较多,则嵌套的如果分支较多,则嵌套的ifif语句层数就越多,程语句层数就越多,程序不但冗长而且理解也比较困难。因此,序不但冗长而且理解也比较困难。因此,C C语言又语言又提供了一种专门用于处理多分支结构的条件选择提供了一种专门用于处理多分支结构的条件选择语句,称为语句,称为switchswitch语句,又称开关语句。语句,又称开关语句。返回目录C语言

23、程序设计电子教案 第3章控制结构3.3多分支结构多分支结构3.3.13.3.1 多分支多分支switchswitch语句语句 lswitchswitch语句语句(开关语句开关语句)一般形式:一般形式:switch(switch(表达式表达式)case case 常量表达式常量表达式1:1:语句组语句组 1;break;1;break;case case常量表达式常量表达式2:2:语句组语句组 2;break;2;break;.case case常量表达式常量表达式n:n:语句组语句组 n;break;n;break;default:default:语句组语句组n+1;break;n+1;bre

24、ak;C语言程序设计电子教案 第3章控制结构3.3多分支结构多分支结构3.3.13.3.1 多分支多分支switchswitch语句语句 lswitchswitch语句语句(开关语句开关语句)执行过程:执行过程:switchswitch表达式表达式语句组语句组1 1语句组语句组2 2语句组语句组n n语句组语句组n+1n+1.defaultdefaultcasecase常量表达式常量表达式1 1 casecase常量表达式常量表达式2 2 casecase常量表达式常量表达式n n C语言程序设计电子教案 第3章控制结构l说明:说明:switchswitch后面的表达式的值类型可以是整型、字符

25、型或枚后面的表达式的值类型可以是整型、字符型或枚举型。举型。当表达式的值与某个当表达式的值与某个casecase中的常量表达式的值相等时,中的常量表达式的值相等时,就执行相应的就执行相应的casecase后的语句序列,直到遇到后的语句序列,直到遇到breakbreak语句或到语句或到达达switchswitch结构末尾。结构末尾。多个连续的多个连续的casecase语句可以共用一个语句序列。语句可以共用一个语句序列。case case 后的不同常量表达式的值不能相等。后的不同常量表达式的值不能相等。breakbreak的作用是改变程序在的作用是改变程序在switchswitch结构中的执行流程

26、,将结构中的执行流程,将程序流程跳出程序流程跳出switchswitch语句,转到语句,转到switchswitch语句后的下一条语句语句后的下一条语句去执行。去执行。switchswitch语句中允许嵌套语句中允许嵌套switchswitch语句。语句。3.3多分支结构多分支结构3.3.13.3.1 多分支多分支switchswitch语句语句 C语言程序设计电子教案 第3章控制结构例例3.143.14从键盘输入一学生成绩,判断学生成绩等级。如果成绩在90100分,等级为“A”,成绩在8089分,等级为“B”,成绩在7079分,等级为“C”,成绩在6069分,等级为“D”,成绩小于60分,等

27、级为“E”。main()main()int scoreint score;char gradechar grade;printf(printf(“Input studentInput students scores score:”);scanf(scanf(“%d%d”,&score),&score);switch (score/10)switch (score/10)case 10 case 10:case 9case 9:grade=grade=A A;breakbreak;case 8case 8:grade=grade=B B;breakbreak;case 7case 7:grade

28、=grade=C C;breakbreak;case 6case 6:grade=grade=D D;breakbreak;default default:grade=grade=E E;printf(printf(“The studentThe students grade is%cns grade is%cn”,grade),grade);3.3多分支结构多分支结构3.3.13.3.1 多分支多分支switchswitch语句语句 表达式score/10的值为10和9时共用相同的语句序列。C语言程序设计电子教案 第3章控制结构3.3多分支结构多分支结构3.3.23.3.2 多分支结构综合举

29、例多分支结构综合举例 例例3.153.15计算分段函数的值:计算分段函数的值:下面使用下面使用4种不同的方法实现该程序,以展现种不同的方法实现该程序,以展现C语言多语言多分支结构的风格。分支结构的风格。C语言程序设计电子教案 第3章控制结构3.3多分支结构多分支结构3.3.23.3.2 多分支结构综合举例多分支结构综合举例 (1)(1)使用不嵌套的使用不嵌套的ifif语句编程:语句编程:#include#include main()main()float x,yfloat x,y;scanf(scanf(“%f%f”,&x),&x);if(x0)if(x0)y=0y=0;if(0=x&x10)

30、if(0=x&x10)y=xy=x;if(10=x&x20)if(10=x&x20)y=10y=10;if(20=x&x40)if(20=x&x=40)if(x=40)y=40+xy=40+x;printf(printf(“y=%5.2fny=%5.2fn”,y),y);C语言程序设计电子教案 第3章控制结构3.3多分支结构多分支结构3.3.23.3.2 多分支结构综合举例多分支结构综合举例 (2)(2)使用嵌套的使用嵌套的ifif语句编程:语句编程:#include#include main()main()float x,yfloat x,y;scanf(scanf(“%f%f”,&x),&

31、x);if(x=0)if(x=0)if(x=10)if(x=10)if(x=20)if(x=20)if(x=40)if(x=40)y=40+xy=40+x;else else y=0.5*x+20y=0.5*x+20;else else y=10y=10;elseelsey=xy=x;else else y=0y=0;printf(printf(“y=%5.2fny=%5.2fn”,y),y);C语言程序设计电子教案 第3章控制结构3.3多分支结构多分支结构3.3.23.3.2 多分支结构综合举例多分支结构综合举例 (3)(3)使用使用ifelseifelse形式编程:形式编程:#includ

32、e#include main()main()float x,yfloat x,y;scanf(scanf(“%f%f”,&x),&x);if(x0)if(x0)y=0y=0;else if(x10)else if(x10)y=xy=x;else if(x20)else if(x20)y=10y=10;else if(x40)else if(x40)y=0.5*x+20y=0.5*x+20;else else y=40+xy=40+x;printf(printf(“y=%5.2fny=%5.2fn”,y),y);C语言程序设计电子教案 第3章控制结构3.3多分支结构多分支结构3.3.23.3.2

33、 多分支结构综合举例多分支结构综合举例 (4)(4)使用使用switchswitch语句编程:语句编程:#include#include main()main()float x,y float x,y;int zint z;scanf(scanf(“%f%f”,&x),&x);z=(int)(x/10)z=(int)(x/10);if(x0)z=-1if(x0)z=-1;switch(z)switch(z)case case 1 1:y=0y=0;breakbreak;case 0case 0:y=xy=x;breakbreak;case 1case 1:y=10y=10;breakbreak

34、;case 2case 2:case 3case 3:y=0.5*x+20y=0.5*x+20;breakbreak;defaultdefault:y=40+xy=40+x;printf(printf(“y=%5.2fny=%5.2fn”,y),y);C语言程序设计电子教案 第3章控制结构 返回目录3.4循环结构循环结构3.4.03.4.0 引例引例 例例3.163.16求求s=1+2+3+s=1+2+3+100+100之和。之和。解题思路设变量解题思路设变量s s存储累加和,其初值为存储累加和,其初值为0 0,变量,变量n n作为循环作为循环变量,其值由变量,其值由1 1变化到变化到1001

35、00,将,将n n的每一个值累加到的每一个值累加到s s变量,则可变量,则可以实现上述算法。以实现上述算法。(利用目前所学知识能编写如下程序)(利用目前所学知识能编写如下程序)#include#include main()main()int s=0,n=0int s=0,n=0;n=n+1n=n+1;s=s+ns=s+n;n=n+1n=n+1;s=s+ns=s+n;printf(printf(“s=%dns=%dn”,s),s);在上例中在上例中,n=n+1n=n+1;和;和s=s+ns=s+n;两语句会在程序中;两语句会在程序中反复出现反复出现100100次,使程序变次,使程序变得很长。为解

36、决这一问题,得很长。为解决这一问题,C C语言引入了循环结构。语言引入了循环结构。C C语言中实现循环结构的语语言中实现循环结构的语句有句有forfor语句、语句、whilewhile语语句和句和dowhiledowhile语句。语句。C语言程序设计电子教案 第3章控制结构3.4循环结构循环结构3.4.13.4.1 forfor语句语句 lforfor语句的一般形式语句的一般形式for(表达式表达式1;表达式;表达式2;表达式;表达式3)循环体;循环体;例如:例如:for(s=0,n=1;n=100;n+)s=s+n;C语言程序设计电子教案 第3章控制结构lforfor语句的执行过程语句的执行

37、过程(1)(1)计算表达式计算表达式1 1;(2)(2)计算表达式计算表达式2 2,若其值为非,若其值为非0 0,则,则执行第执行第3 3步;若为步;若为0 0,则转向第,则转向第6 6步执行;步执行;(3)(3)执行循环体;执行循环体;(4)(4)计算表达式计算表达式3 3;(5)(5)跳转到第跳转到第2 2步继续执行;步继续执行;(6)(6)终止循环,执行终止循环,执行forfor语句后的下一语句后的下一条语句。条语句。3.4循环结构循环结构3.4.13.4.1 forfor语句语句 C语言程序设计电子教案 第3章控制结构例例3.173.17例例3.163.16用用forfor语句实现,程

38、序如下:语句实现,程序如下:#include#include main()main()int s,nint s,n;for(s=0,n=1for(s=0,n=1;n=100n=100;n+)n+)s=s+ns=s+n;printf(printf(“s=%dns=%dn”,s),s);3.4循环结构循环结构3.4.13.4.1 forfor语句语句 C语言程序设计电子教案 第3章控制结构lforfor语句的说明语句的说明3.4循环结构循环结构(1)(1)在在forfor语句中,若表达式语句中,若表达式1 1缺省,则必须将表达式缺省,则必须将表达式1 1作为语作为语句安排在句安排在forfor语句

39、之前。语句之前。例例3.173.17例例3.163.16用用forfor语句实现,可以编写如下程序:语句实现,可以编写如下程序:#include#include main()main()int s,n;int s,n;s=0;n=1s=0;n=1;for(;n=100;n+)s=s+n;printf(printf(“s=%dns=%dn”,s),s);3.4.13.4.1 forfor语句语句 C语言程序设计电子教案 第3章控制结构lforfor语句的说明语句的说明3.4循环结构循环结构(2)(2)在在forfor语句中,若表达式语句中,若表达式2 2缺省,则系统默认循环控制条件缺省,则系统默

40、认循环控制条件为真(非为真(非0 0值),此时,如果不在循环体中加其它语句进行控制,值),此时,如果不在循环体中加其它语句进行控制,循环将无限制进行下去,即出现死循环。循环将无限制进行下去,即出现死循环。例例3.173.17例例3.163.16用用forfor语句实现,可以编写如下程序:语句实现,可以编写如下程序:#include#include main()main()int s,n;int s,n;for(s=0,n=1s=0,n=1;;n+)if(n100)break;s=s+n;printf(printf(“s=%dns=%dn”,s),s);3.4.13.4.1 forfor语句语句

41、 C语言程序设计电子教案 第3章控制结构lforfor语句的说明语句的说明3.4循环结构循环结构(3)(3)在在forfor语句中,若表达式语句中,若表达式3 3缺省,可将它的语句放在循环体缺省,可将它的语句放在循环体的最后。的最后。例例3.173.17例例3.163.16用用forfor语句实现,可以编写如下程序:语句实现,可以编写如下程序:#include#include main()main()int s,n;int s,n;for(s=0,n=1s=0,n=1;n=100n=100;)s=s+n;n+;printf(printf(“s=%dns=%dn”,s),s);3.4.13.4.

42、1 forfor语句语句 C语言程序设计电子教案 第3章控制结构lforfor语句的说明语句的说明3.4循环结构循环结构(4)(4)在在forfor语句中三个表达式都可以缺省,但其中的两个分号语句中三个表达式都可以缺省,但其中的两个分号不可省。不可省。例例3.173.17例例3.163.16用用forfor语句实现,可以编写如下程序:语句实现,可以编写如下程序:#include#include main()main()int s=0,n=1int s=0,n=1;for(;)s=s+n;n=n+1;if(n100)break;printf(printf(“s=%dns=%dn”,s),s);3

43、.4.13.4.1 forfor语句语句 C语言程序设计电子教案 第3章控制结构lforfor语句的说明语句的说明3.4循环结构循环结构(5)(5)循环体可以为空语句,但必须有分号(即循环为空语句)循环体可以为空语句,但必须有分号(即循环为空语句)例例3.173.17例例3.163.16用用forfor语句实现,可以编写如下程序:语句实现,可以编写如下程序:#include#include main()main()int s,nint s,n;for(s=0,n=1for(s=0,n=1;n=100n=100;s=s+ns=s+n,n+)n+);printf(printf(“s=%dns=%d

44、n”,s),s);3.4.13.4.1 forfor语句语句 C语言程序设计电子教案 第3章控制结构l思考与练习:思考与练习:例例3.163.16用用forfor语句实现,相应的程序在前面已经例举语句实现,相应的程序在前面已经例举了多种方法,请同学们试用其他可能的方法编写程序。了多种方法,请同学们试用其他可能的方法编写程序。另外,例另外,例3.163.16还可以用还可以用whilewhile语句、语句、do-whiledo-while语句、语句、if+gotoif+goto等方法实现。这说明,对于某个实际的编程问题,等方法实现。这说明,对于某个实际的编程问题,可以编写出很多种程序来解决同一问题

45、。所以,对我们初可以编写出很多种程序来解决同一问题。所以,对我们初学者来说,关键是要多学习、勤练习,熟则能生巧,到时,学者来说,关键是要多学习、勤练习,熟则能生巧,到时,编写起程序来就游刃有余了!编写起程序来就游刃有余了!加油吧!加油吧!3.4循环结构循环结构3.4.13.4.1 forfor语句语句 C语言程序设计电子教案 第3章控制结构3.4循环结构循环结构3.4.23.4.2 whilewhile语句语句 l while while语句的一般形式语句的一般形式while(while(表达式表达式)循环体;循环体;例如:例如:int n,s;int n,s;n=1;n=1;s=0;s=0;

46、while(n=100)while(n=100)s=s+n;s=s+n;n+;n+;C语言程序设计电子教案 第3章控制结构3.4循环结构循环结构3.4.23.4.2 whilewhile语句语句 l while while语句的执行过程语句的执行过程首先计算和判断表达式的值,首先计算和判断表达式的值,如果表达式的值为如果表达式的值为“真真”(非(非0 0),则执行循环体,然后程序),则执行循环体,然后程序转回去再计算和判断表达式的值,转回去再计算和判断表达式的值,直到表达式的值为直到表达式的值为“假假”(0 0),),终止终止whilewhile循环,继续执行循环,继续执行whilewhile

47、语句后的下一语句。语句后的下一语句。C语言程序设计电子教案 第3章控制结构3.4循环结构循环结构3.4.23.4.2 whilewhile语句语句 示例例示例例3.163.16用用whilewhile语句实现,可以编写如下程序:语句实现,可以编写如下程序:#include#include main()main()int s,n;int s,n;s=0;n=1s=0;n=1;while(n=100)s=s+n;n+;printf(printf(“s=%dns=%dn”,s),s);C语言程序设计电子教案 第3章控制结构3.4循环结构循环结构3.4.33.4.3 dodowhilewhile语句语

48、句 l do dowhilewhile语句的一般形式语句的一般形式dodo 循环体;循环体;whilewhile(表达式)(表达式)例如:例如:int n=1,s=0;int n=1,s=0;dodo s=s+n;s=s+n;n+;n+;while(n=100);while(n=100);C语言程序设计电子教案 第3章控制结构3.4循环结构循环结构3.4.33.4.3 dodowhilewhile语句语句 l do dowhilewhile语句的执行过程语句的执行过程dodowhilewhile语句的作用是无条件语句的作用是无条件地先执行循环体一次(无论表达式地先执行循环体一次(无论表达式的值

49、是否为的值是否为0 0或非或非0 0),所以又称为),所以又称为“直到型循环直到型循环”。循环体执行一次。循环体执行一次后,计算和判断表达式的值,若表后,计算和判断表达式的值,若表达式的值为达式的值为“真真”(非(非0 0),则程序),则程序转回去反复执行循环体,直到表达转回去反复执行循环体,直到表达式的值为式的值为“假假”(0 0),终止),终止dodowhilewhile语句,继续执行语句,继续执行dodowhilewhile语语句后的下一条语句。句后的下一条语句。C语言程序设计电子教案 第3章控制结构3.4循环结构循环结构3.4.33.4.3 dodowhilewhile语句语句 示例例

50、示例例3.163.16用用do-whiledo-while语句实现,可以编写如下程序:语句实现,可以编写如下程序:#include#include main()main()int s,n;int s,n;s=0;n=1s=0;n=1;dos=s+n;n+;while(n=100);printf(printf(“s=%dns=%dn”,s),s);C语言程序设计电子教案 第3章控制结构3.4循环结构循环结构3.4.43.4.4 循环嵌套循环嵌套循环嵌套循环嵌套 l循环嵌套:循环嵌套:指一个循环完全包含在另一个指一个循环完全包含在另一个循环的循环体中。循环的循环体中。lwhilewhile循环、循

展开阅读全文
部分上传会员的收益排行 01、路***(¥15400+),02、曲****(¥15300+),
03、wei****016(¥13200+),04、大***流(¥12600+),
05、Fis****915(¥4200+),06、h****i(¥4100+),
07、Q**(¥3400+),08、自******点(¥2400+),
09、h*****x(¥1400+),10、c****e(¥1100+),
11、be*****ha(¥800+),12、13********8(¥800+)。
相似文档                                   自信AI助手自信AI助手
搜索标签

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

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

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

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

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

gongan.png浙公网安备33021202000488号   

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

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

客服