收藏 分销(赏)

C语言程序设计-第4节.pptx

上传人:精*** 文档编号:4171732 上传时间:2024-08-11 格式:PPTX 页数:59 大小:267.81KB
下载 相关 举报
C语言程序设计-第4节.pptx_第1页
第1页 / 共59页
C语言程序设计-第4节.pptx_第2页
第2页 / 共59页
C语言程序设计-第4节.pptx_第3页
第3页 / 共59页
C语言程序设计-第4节.pptx_第4页
第4页 / 共59页
C语言程序设计-第4节.pptx_第5页
第5页 / 共59页
点击查看更多>>
资源描述

1、2024/8/11 周日华中科技大学计算机学院1C C语言程序设计语言程序设计The C Programming Language华中科技大学计算机学院华中科技大学计算机学院曹计昌曹计昌2024/8/11 周日华中科技大学计算机学院2C C语言程序设计语言程序设计第第4 4章章 流程控制流程控制2024/8/11 周日华中科技大学计算机学院3主要内容主要内容4.1 C4.1 C语句分类语句分类4.2 4.2 表达式语句表达式语句4.3 4.3 复合语句复合语句4.4 if4.4 if语句语句4.5 switch4.5 switch语句语句4.6 while4.6 while语句语句4.7 fo

2、r4.7 for语句语句4.8 do-while4.8 do-while语句语句4.9 goto4.9 goto语句和标号语句语句和标号语句4.10 break4.10 break语句、语句、continuecontinue语句和语句和returnreturn语句语句4.11 4.11 嵌套循环程序设计嵌套循环程序设计*4.12 4.12 推理机程序设计推理机程序设计2024/8/11 周日华中科技大学计算机学院4C语句语句4.1 C C语句分类语句分类 说明语句说明语句可执行语句可执行语句变量说明、函数说明、变量说明、函数说明、常量定义、类型定义、常量定义、类型定义、表达式语句、复合语句、表

3、达式语句、复合语句、选择语句(选择语句(if 和和 switch)、)、循环语句(循环语句(while,do-while和和for)、)、转移语句(转移语句(break,continue,goto和和return)、)、标号语句标号语句2024/8/11 周日华中科技大学计算机学院5 在任何在任何C表达式的末尾加一个分号都可以构成一个表达式的末尾加一个分号都可以构成一个语句,即表达式语句。表达式语句的一般形式:语句,即表达式语句。表达式语句的一般形式:表达式表达式;其中,其中,“;”是是C语句不可缺少的组成部分,它表示一语句不可缺少的组成部分,它表示一个语句的结束。个语句的结束。在在C语言中,

4、赋值、输入和输出都由表达式语句实语言中,赋值、输入和输出都由表达式语句实现。例:现。例:x=y+1x=y+1;x+=yx+=y;i=j=ki=j=k;printf(”hello”)printf(”hello”);scanf(”%d”,&x)scanf(”%d”,&x);4.2 表达式语句表达式语句 2024/8/11 周日华中科技大学计算机学院6再如:再如:a b;也是一个表达式语句,但是由于在表达式求值的过程也是一个表达式语句,但是由于在表达式求值的过程中并没有改变任何变量的值,这样的表达式语句并没中并没有改变任何变量的值,这样的表达式语句并没有实际意义。有实际意义。仅由一个分号构成的语句称

5、为空语句,即:仅由一个分号构成的语句称为空语句,即:;它不执行任何操作。在程序设计中,如果某处在语法它不执行任何操作。在程序设计中,如果某处在语法上需要一条语句,而在实际功能上不需要执行任何操上需要一条语句,而在实际功能上不需要执行任何操作时,可以使用空语句。作时,可以使用空语句。4.2 表达式语句表达式语句(续续)2024/8/11 周日华中科技大学计算机学院71复合语句的一般形式复合语句的一般形式用花括号用花括号“”括起来的一组语句,语法上等价于括起来的一组语句,语法上等价于单个语句,语法格式为:单个语句,语法格式为:说明部分说明部分语句部分语句部分说明部分可包含说明部分可包含0至多个说明

6、语句;语句部分可包含至多个说明语句;语句部分可包含0至多个执行语句。至多个执行语句。复合语句又称块。函数体是一个块。复合语句又称块。函数体是一个块。4.3 复合语句复合语句2024/8/11 周日华中科技大学计算机学院8例例4.3:不含说明语句的复合语句:不含说明语句的复合语句 t=a;a=b;b=t;例例4.4:包含说明了语句的复合语句。:包含说明了语句的复合语句。int t;t=a;a=b;b=t;复合语句举例复合语句举例2024/8/11 周日华中科技大学计算机学院92嵌套的复合语句嵌套的复合语句复合语句中包含复合语句,从而形成嵌套的复合语句。例如:复合语句中包含复合语句,从而形成嵌套的

7、复合语句。例如:int a=0,b=1;int a=1;printf(”a=%dn”,a);printf(”b=%dn”,b+=1);printf(“a=%dn”,a);printf(“b=%dn”,b);4.3 复合语句(续)复合语句(续)2024/8/11 周日华中科技大学计算机学院103复合语句的用途复合语句的用途复合语句在程序设计中主要有以下两种用途:复合语句在程序设计中主要有以下两种用途:(1)用于语法上只允许出现单个语句而处理上需要执用于语法上只允许出现单个语句而处理上需要执行多个语句的地方,例如作为行多个语句的地方,例如作为if语句的子句及循环语语句的子句及循环语句的循环体。句的

8、循环体。(2)用于改变嵌套用于改变嵌套if-else语句的配对规则。语句的配对规则。此外,当需要说明临时使用的局部变量时,也可使此外,当需要说明临时使用的局部变量时,也可使用复合语句。用复合语句。4.3 复合语句(续)复合语句(续)2024/8/11 周日华中科技大学计算机学院111if 语句的一般形式语句的一般形式if语句有两种形式:语句有两种形式:(1)if格式:格式:if(表达式)语句(表达式)语句1;(2)if-else格式:格式:if(表达式)语句(表达式)语句1;else语句语句2;4.4 ifif语句语句2024/8/11 周日华中科技大学计算机学院122嵌套的嵌套的if 语句语

9、句1)嵌套嵌套if语句的形式语句的形式当当if子句或子句或else子句中又包含子句中又包含if 语句时,则形成嵌套语句时,则形成嵌套的的if语句。例如,可以用下面的一个嵌套的语句。例如,可以用下面的一个嵌套的if语句求语句求a,b,c三个数中最大值:三个数中最大值:if(a b)if(a c)max=a;else max=c;elseif(b c)max=b;else max=c;4.4 ifif语句(续)语句(续)2024/8/11 周日华中科技大学计算机学院132)嵌套嵌套if 语句中语句中else的配对规则的配对规则对嵌套对嵌套if语句中语句中else与与if的配对必须制定一个规则,的配

10、对必须制定一个规则,否则会造成理解上的二义性。例如:否则会造成理解上的二义性。例如:if(n 0)if(a b)z=a;else z=b;编译程序约定:编译程序约定:else与其前面最靠近的还未配对的与其前面最靠近的还未配对的if配对,即内层优先配对原则。配对,即内层优先配对原则。4.4 ifif语句(续)语句(续)2024/8/11 周日华中科技大学计算机学院14例例4.6:解方程:解方程ax+b=0,a和和b从终端输入。从终端输入。#includevoid main(void)float a,b,x;printf(”input a,b:n”);scanf(”%f%f”,&a,&b);if(

11、!a)printf(”error in input data n”);else x=-b/a;printf(”x=%.4fn”,x);3 3程序设计举例程序设计举例 2024/8/11 周日华中科技大学计算机学院151.switch语句的形式语句的形式switch语句的一般形式为:语句的一般形式为:switch(表达式表达式)case 常量表达式常量表达式1:语句序列:语句序列1;case 常量表达式常量表达式2:语句序列:语句序列2;case 常量表达式常量表达式n:语句序列:语句序列n;default:语句序列语句序列n+1;4.5 switchswitch语句语句2024/8/11 周日

12、华中科技大学计算机学院162.switch语句的使用要点语句的使用要点使用使用switch语句时,语句时,第一第一要注意列出的要注意列出的case应能包应能包括选择表达式所有的取值情况,如果不能全部包括,括选择表达式所有的取值情况,如果不能全部包括,则应使用则应使用default子句处理余下的情况。子句处理余下的情况。第二第二应特别注意应特别注意break在在switch中的作用,如果希中的作用,如果希望执行完某一望执行完某一case下的语句之后便跳出下的语句之后便跳出switch语句,语句,则必须使用则必须使用break或或return转移语句。转移语句。break跳出跳出switch语句之

13、后继续执行语句之后继续执行switch语句后面的一个语语句后面的一个语句句(如果有如果有),return语句则立即结束函数并返回到语句则立即结束函数并返回到调用处调用处(如果是主函数,则结束程序如果是主函数,则结束程序)。4.5 switchswitch语句(续)语句(续)2024/8/11 周日华中科技大学计算机学院17例如:下面是一个不含转移语句例如:下面是一个不含转移语句的的switch语句,注意观察该语句语句,注意观察该语句执行时的输出。执行时的输出。i=1;switch(i)case 0:printf(%dt,i);case 1:printf(%dt,i+);case 2:print

14、f(%dt,i+);case 3:printf(%d,i+);default:printf(n);printf(%dn,i);4.5 switchswitch语句(续)语句(续)输出输出:1 2 342024/8/11 周日华中科技大学计算机学院18例例4.8:学生考试成绩按以下标准分等(:学生考试成绩按以下标准分等(x为学生考试分为学生考试分数):数):分数范围分数范围等级英文名等级英文名90 x100excellent(优)(优)80 x90good(良)(良)60 x80middle(中)(中)x60bad(差)(差)输入某学生的考试分数,输出该学生的考试成绩的输入某学生的考试分数,输出

15、该学生的考试成绩的英文等级。要求用英文等级。要求用switch语句来实现。语句来实现。3程序设计举例2024/8/11 周日华中科技大学计算机学院19分析:分析:switch语句可用来解决多分支问题,但每个语句可用来解决多分支问题,但每个case后面的常量都是一个离散的值,不能表示一个数值范围。后面的常量都是一个离散的值,不能表示一个数值范围。为此,将分数范围为此,将分数范围0,100每每10分划为一段,则可划分分划为一段,则可划分为为0,10),),10,20),),20,30),),30,40),),40,50),),50,60),),60,70),),70,80),),80,90),),

16、90,100)十个分数段。进一步对分数值)十个分数段。进一步对分数值进行除以进行除以10然后取整的处理,可以发现上面同一分数段然后取整的处理,可以发现上面同一分数段内的分数经处理后得到相同的一个整数。比如,内的分数经处理后得到相同的一个整数。比如,0,10)范围内的数除以)范围内的数除以10然后取整,结果都是然后取整,结果都是0;10,20)范围内的数除以)范围内的数除以10然后取整,结果都是然后取整,结果都是1;这这样一来,就可以用一个离散值代表一个分数段内的所有样一来,就可以用一个离散值代表一个分数段内的所有分数值。分数值。p98 例例4.8源程序代码源程序代码 ex4.8.c。3程序设计

17、举例(续)2024/8/11 周日华中科技大学计算机学院20p99 例例4.9:输入某年某月,输出该月的天数。:输入某年某月,输出该月的天数。注意:注意:switch语句允许多种情况执行相同的语句,语句允许多种情况执行相同的语句,执行相同语句的执行相同语句的case可以写成一行,其间可以用空可以写成一行,其间可以用空格或制表符分隔,但不能用逗号分隔。例如:格或制表符分隔,但不能用逗号分隔。例如:case 4:case 6:case 9:case 11:days=30;正确正确case 4,case 6,case 9,case 11:days=30;错误错误case 4,6,9,11:days=

18、30;错误错误4.5 switchswitch语句(续)语句(续)2024/8/11 周日华中科技大学计算机学院211.while语句的形式语句的形式while语句的一般形式为:语句的一般形式为:while(表达式表达式)语句语句while语句流程图:语句流程图:4.6 whilewhile语句语句2024/8/11 周日华中科技大学计算机学院22i=0;while(i 5)printf(”i=%dt”,i);i+;printf(”i=%dn”,i);注意:如果循环体中没有改变循环变量的值,或循环变注意:如果循环体中没有改变循环变量的值,或循环变量值的变化不能使循环控制表达式的结果为量值的变化

19、不能使循环控制表达式的结果为0,则循环将,则循环将永不终止永不终止(通常称之为通常称之为“死循环死循环”)。如果循环控制表达式。如果循环控制表达式的值一开始就为的值一开始就为0(条件为假条件为假),则循环体一次都不执行。,则循环体一次都不执行。解释解释:p101-p102 例例4.11,例例4.12,例例4.13 例例4.10 while4.10 while循环语句示例循环语句示例2024/8/11 周日华中科技大学计算机学院23例例4.14:将来自标准输入文件的正文复制到标准输:将来自标准输入文件的正文复制到标准输出文件,每次输入和复制一个字符。出文件,每次输入和复制一个字符。分析:以分析:

20、以EOF(系统常量,值为(系统常量,值为-1)为结束标志的)为结束标志的字符流称为一个正文,可以包含空白字符,例如空字符流称为一个正文,可以包含空白字符,例如空格符、制表符和换行符。根据题目要求,输入函数格符、制表符和换行符。根据题目要求,输入函数应使用应使用getchar(每次输入一个字符每次输入一个字符),输出函数应使,输出函数应使用用putchar(每次输出一个字符每次输出一个字符);复制过程是一个重;复制过程是一个重复地调用复地调用getchar读和调用读和调用putchar写的过程,因此写的过程,因此程序的流程结构是一个循环语句;读入的字符是否程序的流程结构是一个循环语句;读入的字符

21、是否为为EOF则是循环控制条件。则是循环控制条件。2 2程序设计举例程序设计举例2024/8/11 周日华中科技大学计算机学院24例例4.14:算法步骤:算法步骤:(1)调用调用getchar读入一个字符并赋给字符变量读入一个字符并赋给字符变量c。(2)如果如果c不是不是EOF,则执行,则执行(3);否则结束执行。;否则结束执行。(3)输出输出c;(4)读下一字符并赋给字符变量读下一字符并赋给字符变量c;(5)转步骤转步骤(2)。p102 例例4.14源程序代码源程序代码 ex4.14.c2 2程序设计举例(续)程序设计举例(续)2024/8/11 周日华中科技大学计算机学院25 例例4.15

22、 输入一个输入一个C程序程序(一段正文一段正文),按原来格式复,按原来格式复制输出,复制过程中删去输入程序中所有的注释。制输出,复制过程中删去输入程序中所有的注释。分析:为了删去分析:为了删去C程序中所有的注释,关键在于如何程序中所有的注释,关键在于如何区分注释部分和需要复制的部分。为此,可将复制区分注释部分和需要复制的部分。为此,可将复制过程划分为过程划分为4种状态:复制状态种状态:复制状态(COPY)、开始注释、开始注释状态状态(START)、注释状态、注释状态(COMMENT)和结束复制和结束复制状态状态(END),初始状态为,初始状态为COPY。每种状态下的处理。每种状态下的处理方法如

23、下:方法如下:(1)在在COPY状态下,若读入字符为状态下,若读入字符为/(可能为注可能为注释开始符号释开始符号),则将状态改为,则将状态改为START;否则将读入的;否则将读入的字符复制到输出。字符复制到输出。2 2程序设计举例(续)程序设计举例(续)2024/8/11 周日华中科技大学计算机学院26(2)在在START状态下,若读入字符为状态下,若读入字符为*(确定注确定注释开始释开始),则将状态改为,则将状态改为COMMENT;否则;否则(不是注不是注释释),将上一次读入的字符,将上一次读入的字符/复制到输出;然后复制到输出;然后检查本次读入的字符是否为检查本次读入的字符是否为/,若是,

24、则状态保,若是,则状态保持持START不变,否则将本次读入的字符复制到输出不变,否则将本次读入的字符复制到输出并将状态改为并将状态改为COPY。(3)在在COMMENT状态下,若读入字符为状态下,若读入字符为*(可可能为注释结束符号能为注释结束符号),则将状态改为,则将状态改为END。(4)在在END状态下,若读入字符为状态下,若读入字符为/(确定注释确定注释结束结束),则将状态恢复成,则将状态恢复成COPY;否则;否则(不是注释结束不是注释结束),如果读入字符是,如果读入字符是*,则状态保持,则状态保持END不变,不变,否则将状态改为否则将状态改为COMMENT。(。(p104 源程序源程序

25、4.15)2 2程序设计举例(续)程序设计举例(续)2024/8/11 周日华中科技大学计算机学院271.for语句的形式语句的形式for语句的一般语法形式表示为:语句的一般语法形式表示为:for(e1;e2;e3)s for语句流程图:语句流程图:等价于等价于:e1;while(e2)s;e3;4.7 forfor语句语句2024/8/11 周日华中科技大学计算机学院28使用使用for语句时须注意表达式语句时须注意表达式e1,e2,e3的用法:的用法:(1)三个表达式可以全部或部分缺省,但无论缺省三个表达式可以全部或部分缺省,但无论缺省e1,e2或或e3,它们之间的,它们之间的分号不能省分号

26、不能省。(2)缺省缺省e1和和e3时的时的for语句形如语句形如for(;e2;)s,等价,等价于一个形如于一个形如while(e2)s的的while语句。语句。(3)缺省缺省e2时的时的for语句语句for(e1;e3)s和三个表达和三个表达式都缺省的式都缺省的for语句语句for(;)s都是无限循环语句。被都是无限循环语句。被省略的省略的e2缺省值恒为非缺省值恒为非0(e1和和e3没有缺省值没有缺省值)。4.7 forfor语句(续)语句(续)2024/8/11 周日华中科技大学计算机学院29例例4.16:for循环语句示例。循环语句示例。int i;for(i=1;i 4;i+)prin

27、tf(”i=%d s=%dn”,i,2*i);几种等价的形式:几种等价的形式:i=1;for(;i 4;i+)printf(”i=%d s=%dn”,i,2*i);或或for(i=1;i 4;)printf(”i=%d s=%dn”,i,2*i);i+;4.7 forfor语句(续)语句(续)2024/8/11 周日华中科技大学计算机学院30或或i=1;for(;i 4;)printf(”i=%d s=%dn”,i,2*i);i+;或或i=1;for(;)printf(”i=%d s=%dn”,i,2*i);i+;if(!(i 4)break;4.7 forfor语句(续)语句(续)2024/

28、8/11 周日华中科技大学计算机学院31例例4.19:输入一批整数,以:输入一批整数,以0为结束。输出其中最大为结束。输出其中最大的一个值。的一个值。分析:从若干个数中找出最大的一个数可用分析:从若干个数中找出最大的一个数可用打擂台打擂台的方法,即两两相比,大者留下;当所有的数比完的方法,即两两相比,大者留下;当所有的数比完时留下的那个数为最大。比较过程采用每次输入一时留下的那个数为最大。比较过程采用每次输入一个数立即与上一次留下的那个较大的数比较的方法,个数立即与上一次留下的那个较大的数比较的方法,因此程序中只需用两个变量:一个变量因此程序中只需用两个变量:一个变量x用于保存每用于保存每次输

29、入的一个数据,另一个变量次输入的一个数据,另一个变量max用于保存每两用于保存每两个数相比中较大的一个数。这种方法可以用于从任个数相比中较大的一个数。这种方法可以用于从任意多个输入数据中找出其中的最大值。意多个输入数据中找出其中的最大值。2 2程序设计举例程序设计举例2024/8/11 周日华中科技大学计算机学院32例例4.19:算法步骤:算法步骤:(1)输入第一个数输入第一个数(x)。(2)置最大数置最大数max初值为初值为x。(3)如果如果x不等于不等于0,则执行,则执行(4);否则,执行;否则,执行(7)。(4)输入下一个数输入下一个数(x)。(5)如果如果max n),转步骤,转步骤(

30、5)。(4)将将i值增加值增加1,转步骤,转步骤(3)。(5)输出累乘结果输出累乘结果fac,结束。,结束。p108 例例4.20源程序代码源程序代码ex4.20.c。2 2程序设计举例(续)程序设计举例(续)2024/8/11 周日华中科技大学计算机学院351.do-while语句的形式语句的形式do-while语句的一般形式为:语句的一般形式为:do 语句语句 while(表达式表达式);do-while语句流程图:语句流程图:4.8 do-whiledo-while语句语句2024/8/11 周日华中科技大学计算机学院36do-while语句:语句:do 语句语句 while(表达式表达

31、式);可以用以下等价的可以用以下等价的while循环语句来代替。循环语句来代替。语句语句while(表达式表达式)语句语句 4.8 do-whiledo-while语句(续)语句(续)2024/8/11 周日华中科技大学计算机学院37例例4.21:把输入的整数按反方向输出。例如,输入的数:把输入的整数按反方向输出。例如,输入的数是是12345,要求输出结果是,要求输出结果是54321。分析:在输入一个整数时,是从高位到低位(或者说从分析:在输入一个整数时,是从高位到低位(或者说从左到右)依次输入各位上的数字。要按反方向输出,就左到右)依次输入各位上的数字。要按反方向输出,就是从低位到高位(或者

32、说从右到左)连续地输出该数的是从低位到高位(或者说从右到左)连续地输出该数的各位数字。具体来说,就是先输出个位数字,再输出十各位数字。具体来说,就是先输出个位数字,再输出十位数字,直到最高位数字。获取一个整数的个位数字的位数字,直到最高位数字。获取一个整数的个位数字的算法是将该整数除以算法是将该整数除以10取余(模取余(模10)。去掉一个整数的)。去掉一个整数的个位数字(使十位数字变个位数字,百位数字变十位数个位数字(使十位数字变个位数字,百位数字变十位数字,直到最高位数字变次高位数字)的算法是将该整数字,直到最高位数字变次高位数字)的算法是将该整数除以除以10(整数除)。这样,可以用循环语句

33、从低位到高(整数除)。这样,可以用循环语句从低位到高位依次输出原整数的数字。(位依次输出原整数的数字。(源程序代码源程序代码ex4.21.c)2 2程序设计举例程序设计举例2024/8/11 周日华中科技大学计算机学院382 2程序设计举例(续)程序设计举例(续)例例4.24:输入任意一个大于或等于:输入任意一个大于或等于2的整数的整数n,判断,判断该数是否为素数并输出相应结果。该数是否为素数并输出相应结果。分析:根据数学定义,一个大于分析:根据数学定义,一个大于2的整数的整数n,如果除,如果除1和和n外不能被任何数整除外不能被任何数整除(即即n不含不含1和和n以外的任何以外的任何因子因子),

34、则,则n是素数;此外,整数是素数;此外,整数2不符合上述定义,不符合上述定义,但规定但规定2是最小素数。为了确定是最小素数。为了确定n是否含有是否含有1和和n以外以外的因子,只需用的因子,只需用2至至 (也可以用也可以用2至至n-1或或2至至n/2)作除数除作除数除n。如果均不能整除。如果均不能整除n,则,则n是素数,否则是素数,否则(即只要发现一个因子即只要发现一个因子)n不是素数。显然,用不是素数。显然,用2至至 作除数时所做的除法次数比用作除数时所做的除法次数比用2至至n-1或或2至至n/2作作除数时少得多。除数时少得多。2024/8/11 周日华中科技大学计算机学院392 2程序设计举

35、例(续)程序设计举例(续)例例4.24:算法步骤:算法步骤:(1)输入输入n,直到,直到n符合要求为止符合要求为止(循环语句循环语句);(2)确定除数确定除数i的初值的初值(i=2)及终值及终值j(j=sqrt(n);(3)检查检查2 sqrt(n)的每一个数是否都不是的每一个数是否都不是n的因子的因子(循环语句循环语句),方法是,方法是,i从从2开始,用开始,用i除除n,若余数非,若余数非0且且i=j,则使,则使i值增加值增加1再重复该过程;若余数为再重复该过程;若余数为0(找找到一个因子到一个因子)或或i c则结束循环。(则结束循环。(例例4.32源程序代码源程序代码ex4.32.c。)。

36、)例例4.324.32:算法步骤:算法步骤:2024/8/11 周日华中科技大学计算机学院57(1)对于多重循环,特别要注意给与循环有关的变量赋对于多重循环,特别要注意给与循环有关的变量赋初值的位置。以程序初值的位置。以程序4.31为例:只需赋一次初值的操为例:只需赋一次初值的操作应放在最外层循环开始执行之前,例如,赋值表达式作应放在最外层循环开始执行之前,例如,赋值表达式s=0位于外循环位于外循环for语句控制部分的表达式语句控制部分的表达式1;给内循环;给内循环的有关变量赋初值应放在外循环体内、内循环开始执行的有关变量赋初值应放在外循环体内、内循环开始执行之前,例如,赋值表达式语句之前,例

37、如,赋值表达式语句term=1;和和j=1;位于内位于内循环循环do-while语句的前面,是外循环语句的前面,是外循环for语句循环体的语句循环体的一部分。一部分。(2)内、外循环变量不应同名,否则,将造成循环控制内、外循环变量不应同名,否则,将造成循环控制混乱,导致死循环或计算结果错误。混乱,导致死循环或计算结果错误。多重循环语句的使用要点多重循环语句的使用要点 (略略)2024/8/11 周日华中科技大学计算机学院58(3)应正确书写内、外循环的循环体:需要在内循环中执行的所有应正确书写内、外循环的循环体:需要在内循环中执行的所有语句必须用括起来组成复合语句作为内循环体;属于外循环语句必

38、须用括起来组成复合语句作为内循环体;属于外循环的语句应放在内循环体之外、外循环体之中。例如,程序的语句应放在内循环体之外、外循环体之中。例如,程序4.31的的赋值语句赋值语句term=1;j=1;和和sum+=term;都是组成外循环体的语都是组成外循环体的语句,其中句,其中term=1;和和j=1;位于内循环位于内循环do-while语句之前,语句之前,sum+=term;语句位于;语句位于do-while语句之后,它们均位于内循环语句之后,它们均位于内循环体之外。体之外。(4)不应在循环中执行的操作应放在进入最外层循环之前或最外层不应在循环中执行的操作应放在进入最外层循环之前或最外层循环结束之后。例如,程序循环结束之后。例如,程序4.31中对输入提示中对输入提示(input n:)的输出的输出及读入项数及读入项数(n)是在程序运行过程中仅需执行一次的操作,且需在是在程序运行过程中仅需执行一次的操作,且需在循环开始之前执行;最后输出整个计算结果循环开始之前执行;最后输出整个计算结果(sum)只需执行一次,只需执行一次,且应在循环结束之后执行。且应在循环结束之后执行。多重循环语句的使用要点(续)多重循环语句的使用要点(续)2024/8/11 周日华中科技大学计算机学院59本章习题本章习题n4.1,4.3,4.5,4.6,4.7,n4.9,4.11,4.13,4.15,4.16

展开阅读全文
部分上传会员的收益排行 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助手
百度文库年卡

猜你喜欢                                   自信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 

客服