C语言程序设计ppt课件-第4章.ppt
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《C语言程序设计ppt课件-第4章.ppt》由会员分享,可在线阅读,更多相关《C语言程序设计ppt课件-第4章.ppt(59页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、2022-8-4华中科技大学计算机学院1C C语言程序设计语言程序设计The C Programming Language华中科技大学计算机学院华中科技大学计算机学院曹计昌曹计昌2022-8-4华中科技大学计算机学院2C C语言程序设计语言程序设计第第4 4章章 流程控制流程控制2022-8-4华中科技大学计算机学院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 for4.7 for语句语句
2、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 推理机程序设计推理机程序设计2022-8-4华中科技大学计算机学院4C语句语句4.1 C C语句分类语句分类 说明语句说明语句可执行语句可执行语句变量说明、函数说明、变量说明、函数说明、常量定义、类型定义、常量定义、类型定义、表达式语句、复合语句、表达式语句、复合语句、选择
3、语句(选择语句(if 和和 switch)、)、循环语句(循环语句(while, do-while和和for)、)、转移语句(转移语句(break, continue, goto和和return)、)、标号语句标号语句2022-8-4华中科技大学计算机学院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 表达式语句表达式语句 2022-8-4华中科技大学计算机学院6再如:再如:a b;也是一个表达式语句,但是由于在表达式求值的过程也是一个表达式语句,但是由于在表达式求值的过程中并没有改变任何变量的值,这样的表达式语句并没中并没有改变任何变量的值,这样的表达式语句并没有实际意义。有实际意义。仅
5、由一个分号构成的语句称为空语句,即:仅由一个分号构成的语句称为空语句,即:;它不执行任何操作。在程序设计中,如果某处在语法它不执行任何操作。在程序设计中,如果某处在语法上需要一条语句,而在实际功能上不需要执行任何操上需要一条语句,而在实际功能上不需要执行任何操作时,可以使用空语句。作时,可以使用空语句。 4.2 表达式语句表达式语句( (续续) ) 2022-8-4华中科技大学计算机学院71复合语句的一般形式复合语句的一般形式用花括号用花括号“”括起来的一组语句,语法上等价于单括起来的一组语句,语法上等价于单个语句,语法格式为:个语句,语法格式为:说明部分说明部分语句部分语句部分说明部分可包含
6、说明部分可包含0至多个说明语句;语句部分可包含至多个说明语句;语句部分可包含0至多个执行语句。至多个执行语句。复合语句又称块。函数体是一个块。复合语句又称块。函数体是一个块。4.3 复合语句复合语句2022-8-4华中科技大学计算机学院8例例4.3:不含说明语句的复合语句:不含说明语句的复合语句 t = a; a = b; b = t;例例4.4:包含说明了语句的复合语句。:包含说明了语句的复合语句。int t ;t = a; a = b; b = t;复合语句举例复合语句举例2022-8-4华中科技大学计算机学院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 复合语句(续)复合语句(续)2022-8-4华中科技大学计算机学院103复合语句的用途复合语句的用途复合语句在程序设计中主要有以下两种用途:复合语句在程序设计中主要有以下两种用途:(1)用于语法上只允许出现单个语句而处理上需要执用于语法上只允许出现单个语句而处理上需要执行多个语句的地方,例如作为行多个语句的地方,例如作为i
8、f语句的子句及循环语语句的子句及循环语句的循环体。句的循环体。(2)用于改变嵌套用于改变嵌套if-else语句的配对规则。语句的配对规则。此外,当需要说明临时使用的局部变量时,也可使此外,当需要说明临时使用的局部变量时,也可使用复合语句。用复合语句。 4.3 复合语句(续)复合语句(续)2022-8-4华中科技大学计算机学院111if 语句的一般形式语句的一般形式if语句有两种形式:语句有两种形式:(1) if格式:格式:if (表达式)语句(表达式)语句1;(2) if-else格式:格式:if (表达式)语句(表达式)语句1;else语句语句2; 4.4 ifif语句语句2022-8-4华
9、中科技大学计算机学院122嵌套的嵌套的if 语句语句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语句(续)语句(续)2022-8-4华中科技大学计算机学院132)嵌套嵌套if 语句中语句中else的配对
10、规则的配对规则对嵌套对嵌套if语句中语句中else与与if的配对必须制定一个规则,的配对必须制定一个规则,否则会造成理解上的二义性。例如:否则会造成理解上的二义性。例如:if ( n 0 )if ( a b ) z = a;else z = b; 编译程序约定:编译程序约定:else与其前面最靠近的还未配对的与其前面最靠近的还未配对的if配对,即内层优先配对原则。配对,即内层优先配对原则。 4.4 ifif语句(续)语句(续)2022-8-4华中科技大学计算机学院14例例4.6:解方程:解方程ax + b = 0,a和和b从终端输入。从终端输入。#includevoid main(void)f
11、loat a, b, x; printf(”input a,b:n”);scanf(”%f%f”, &a, &b);if ( !a ) printf(”error in input data n”);else x=-b/a;printf(”x=%.4fn”, x);3 3程序设计举例程序设计举例 2022-8-4华中科技大学计算机学院151. switch语句的形式语句的形式switch语句的一般形式为:语句的一般形式为:switch(表达式表达式)case 常量表达式常量表达式1:语句序列:语句序列1;case 常量表达式常量表达式2:语句序列:语句序列2;case 常量表达式常量表达式n:
12、语句序列:语句序列n;default: 语句序列语句序列n+1; 4.5 switchswitch语句语句2022-8-4华中科技大学计算机学院162. switch语句的使用要点语句的使用要点使用使用switch语句时,语句时,第一第一要注意列出的要注意列出的case应能包应能包括选择表达式所有的取值情况,如果不能全部包括,括选择表达式所有的取值情况,如果不能全部包括,则应使用则应使用default子句处理余下的情况。子句处理余下的情况。第二第二应特别注意应特别注意break在在switch中的作用,如果希中的作用,如果希望执行完某一望执行完某一case下的语句之后便跳出下的语句之后便跳出s
13、witch语句,语句,则必须使用则必须使用break或或return转移语句。转移语句。break跳出跳出switch语句之后继续执行语句之后继续执行switch语句后面的一个语语句后面的一个语句句(如果有如果有),return语句则立即结束函数并返回到语句则立即结束函数并返回到调用处调用处(如果是主函数,则结束程序如果是主函数,则结束程序)。 4.5 switchswitch语句(续)语句(续)2022-8-4华中科技大学计算机学院17例如:下面是一个不含转移语句例如:下面是一个不含转移语句的的switch语句,注意观察该语句语句,注意观察该语句执行时的输出。执行时的输出。i = 1;swi
14、tch ( i )case 0:printf(%dt, i);case 1:printf(%dt, i+);case 2:printf(%dt, i+);case 3:printf(%d, i+);default:printf(n);printf(%dn, i); 4.5 switchswitch语句(续)语句(续)输出输出:1 2 342022-8-4华中科技大学计算机学院18例例4.8:学生考试成绩按以下标准分等(:学生考试成绩按以下标准分等(x为学生考试分为学生考试分数):数):分数范围分数范围等级英文名等级英文名90 x100excellent(优)(优)80 x90good(良)(良
15、)60 x80middle(中)(中)x60bad(差)(差)输入某学生的考试分数,输出该学生的考试成绩的输入某学生的考试分数,输出该学生的考试成绩的英文等级。要求用英文等级。要求用switch语句来实现。语句来实现。 3程序设计举例2022-8-4华中科技大学计算机学院19分析:分析:switch语句可用来解决多分支问题,但每个语句可用来解决多分支问题,但每个case后面的常量都是一个离散的值,不能表示一个数值范围。后面的常量都是一个离散的值,不能表示一个数值范围。为此,将分数范围为此,将分数范围0,100每每10分划为一段,则可划分分划为一段,则可划分为为0,10),),10,20),),
16、20,30),),30,40),),40,50),),50,60),),60,70),),70,80),),80,90),),90,100)十个分数段。进一步对分数值)十个分数段。进一步对分数值进行除以进行除以10然后取整的处理,可以发现上面同一分数段然后取整的处理,可以发现上面同一分数段内的分数经处理后得到相同的一个整数。比如,内的分数经处理后得到相同的一个整数。比如,0,10)范围内的数除以范围内的数除以10然后取整,结果都是然后取整,结果都是0;10,20)范围内的数除以范围内的数除以10然后取整,结果都是然后取整,结果都是1;这样一这样一来,就可以用一个离散值代表一个分数段内的所有分数
17、来,就可以用一个离散值代表一个分数段内的所有分数值。值。p98 例例4.8源程序代码源程序代码 ex4.8.c。3程序设计举例(续)2022-8-4华中科技大学计算机学院20p99 例例4.9:输入某年某月,输出该月的天数。:输入某年某月,输出该月的天数。注意:注意:switch语句允许多种情况执行相同的语句,语句允许多种情况执行相同的语句,执行相同语句的执行相同语句的case可以写成一行,其间可以用空可以写成一行,其间可以用空格或制表符分隔,但不能用逗号分隔。例如:格或制表符分隔,但不能用逗号分隔。例如:case 4:case 6:case 9:case 11:days=30;正确正确cas
18、e 4,case 6,case 9,case 11:days=30;错误错误case 4,6,9,11:days=30;错误错误4.5 switchswitch语句(续)语句(续)2022-8-4华中科技大学计算机学院211. while语句的形式语句的形式while语句的一般形式为:语句的一般形式为:while (表达式表达式) 语句语句while语句流程图:语句流程图: 4.6 whilewhile语句语句2022-8-4华中科技大学计算机学院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循环语句示例循环语句示例2022-8-4华中科技大学计算机学院23例例4.14:将来自标准输入文件的正文复制到标准输:将来自
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言程序设计 ppt 课件
![提示](https://www.deliwenku.com/images/bang_tan.gif)
限制150内