C程序设计第4章选择结构程序设计.ppt

上传人:壹****1 文档编号:569759574 上传时间:2024-07-30 格式:PPT 页数:19 大小:264.31KB
返回 下载 相关 举报
C程序设计第4章选择结构程序设计.ppt_第1页
第1页 / 共19页
C程序设计第4章选择结构程序设计.ppt_第2页
第2页 / 共19页
C程序设计第4章选择结构程序设计.ppt_第3页
第3页 / 共19页
C程序设计第4章选择结构程序设计.ppt_第4页
第4页 / 共19页
C程序设计第4章选择结构程序设计.ppt_第5页
第5页 / 共19页
点击查看更多>>
资源描述

《C程序设计第4章选择结构程序设计.ppt》由会员分享,可在线阅读,更多相关《C程序设计第4章选择结构程序设计.ppt(19页珍藏版)》请在金锄头文库上搜索。

1、第第4章章 选择结构程序设计选择结构程序设计4.1 关系运算符和表达式关系运算符和表达式4.2 逻辑运算符和表达式逻辑运算符和表达式4.3 if语句语句4.4 switch语句语句4.5 选择结构程序举例选择结构程序举例4.1 关系运算符和表达式关系运算符和表达式4.1.1关系运算符及其优先次序关系运算符及其优先次序在在C语言中有以下关系运算符语言中有以下关系运算符:(1)小于小于(2)大于大于(4)=大于或等于大于或等于(5)=等于等于(6)!=不等于不等于关系运算符都是双目运算符,其结合性均为左结合。关系运关系运算符都是双目运算符,其结合性均为左结合。关系运算符的优先级低于算术运算符,高于

2、赋值运算符。算符的优先级低于算术运算符,高于赋值运算符。返回下一页4.1 关系运算符和表达式关系运算符和表达式4.1.2关系表达式关系表达式用关系运算符将两个表达式用关系运算符将两个表达式(可以是算术表达式或关系表达式、可以是算术表达式或关系表达式、逻辑表达式、赋值表达式、字符表达式逻辑表达式、赋值表达式、字符表达式)连接起来的式子,称连接起来的式子,称为关系表达式。关系表达式的一般形式为为关系表达式。关系表达式的一般形式为:表达式表达式 关系运算符关系运算符 表达式表达式关系表达式的值是逻辑值,即关系表达式的值是逻辑值,即“真真”和和“假假”,用,用“1”和和“0”表示。表示。返回上一页4.

3、2 逻辑运算符和表达式逻辑运算符和表达式4.2.1逻辑运算符及其优先次序逻辑运算符及其优先次序C语言中提供了语言中提供了3种逻辑运算符种逻辑运算符:(1)&与运算与运算;(2)|或运算或运算;(3)!非运算。非运算。与运算符与运算符&和或运算符和或运算符“均为双目运算符,具有左结合性。均为双目运算符,具有左结合性。非运算符非运算符!为单目运算符,具有右结合性。逻辑运算符和其他为单目运算符,具有右结合性。逻辑运算符和其他运算符优先级的关系可表示如下运算符优先级的关系可表示如下:!(非非)高于高于&(与与)高于高于|(或或);返回下一页4.2 逻辑运算符和表达式逻辑运算符和表达式4.2.2逻辑运算

4、的值逻辑运算的值逻辑运算的值也为逻辑运算的值也为“真真”和和“假假”两种,用两种,用1”和和“0”来表来表示。其求值规则如下所示。示。其求值规则如下所示。(1)与运算与运算&:参与运算的两个表达式都为真时,结果才为真参与运算的两个表达式都为真时,结果才为真;否则为假。否则为假。(2)或运算目或运算目:参与运算的两个表达式只要有一个为真,结果参与运算的两个表达式只要有一个为真,结果就为真就为真;两个量都为假时,结果为假。两个量都为假时,结果为假。(3)非运算非运算!:参与运算的量为真结果为假参与运算的量为真结果为假;参与运算的量为假参与运算的量为假时,结果为真。时,结果为真。返回下一页上一页4.

5、2 逻辑运算符和表达式逻辑运算符和表达式4.2.3逻辑表达式逻辑表达式逻辑表达式的一般形式为逻辑表达式的一般形式为:表达式表达式 逻辑运算符逻辑运算符 表达式表达式实际上,在逻辑表达式的求解中,并不是所有的逻辑运算符实际上,在逻辑表达式的求解中,并不是所有的逻辑运算符都被执行,而只是在必须执行下一个逻辑运算符才能求出表都被执行,而只是在必须执行下一个逻辑运算符才能求出表达式的解时,才执行该运算符。达式的解时,才执行该运算符。熟练掌握个复杂的条件熟练掌握个复杂的条件C语言的关系运算符和逻辑运算符后,语言的关系运算符和逻辑运算符后,可以巧妙地用一个逻辑表达式来表示可以巧妙地用一个逻辑表达式来表示返

6、回上一页4.3 if语句语句4.3.1 if语句的语句的3种形式种形式1.第一种形式为第一种形式为:if其一般形式为其一般形式为:if(表达式表达式)语句语句;其语义是其语义是:如果表达式的值为真,则执行其后的语句,否则不如果表达式的值为真,则执行其后的语句,否则不执行该语句。执行该语句。返回下一页4.3 if语句语句2.第二种形式为第二种形式为:if-else其一般形式为其一般形式为:if(表达式表达式) 语句语句1;else 语句语句2;其语义是其语义是:如果表达式的值为真,则执行语句如果表达式的值为真,则执行语句1,否则执行语,否则执行语句句2。返回下一页上一页4.3 if语句语句3.第

7、三种形式为第三种形式为:if-else-if前一种形式的前一种形式的if语句一般都用于两个分支的情况。当有多个语句一般都用于两个分支的情况。当有多个分支选择时,可采用分支选择时,可采用if-else-if语句,其一般形式为语句,其一般形式为:if(表达式表达式1) 语句语句1;else if(表达式表达式2) 语句语句2;else if(表达式表达式3) 语句语句3;返回下一页上一页4.3 if语句语句else if(表达式表达式m) 语句语句m;else 语句语句n;其语义是其语义是:依次判断表达式的值,当出现某个值为真时,则执依次判断表达式的值,当出现某个值为真时,则执行其对应的语句,然后

8、跳到整个行其对应的语句,然后跳到整个if语句之外继续执行程序语句之外继续执行程序;如如果所有表达式的值均为假,则执行语句果所有表达式的值均为假,则执行语句n,然后继续执行后续,然后继续执行后续程序。程序。返回下一页上一页4.3 if语句语句4.在使用在使用if语句中应注意的问题语句中应注意的问题(1)在在3种形式的种形式的if语句中,语句中,if关键字之后均为表达式。关键字之后均为表达式。(2)在在if语句中,条件判断表达式必须用括号括起来,在语句语句中,条件判断表达式必须用括号括起来,在语句之后必须加分号。之后必须加分号。(3)在在if语句的语句的3种形式中,所有的语句应为单个语句,如果种形

9、式中,所有的语句应为单个语句,如果要想在满足条件时执行一组要想在满足条件时执行一组(多个多个)语句,则必须把这一组语语句,则必须把这一组语句用括起来组成一个复合语句。句用括起来组成一个复合语句。(4)充分认识充分认识else的否定作用,尽量使程序简洁。的否定作用,尽量使程序简洁。返回下一页上一页4.3 if语句语句4.3.2 if语句的嵌套语句的嵌套当当if语句中的执行语句又是语句中的执行语句又是if语句时,则构成了语句时,则构成了if语句嵌套的语句嵌套的情形。情形。其一般形式可表示如下其一般形式可表示如下:if(表达式表达式) if语句语句;或者为或者为:if(表达式表达式) if语句语句;

10、else if语句语句;返回下一页上一页4.3 if语句语句嵌套的嵌套的if语句可能也是语句可能也是if-else形式,这时将会出现多个形式,这时将会出现多个if和和多个多个else贡叠的情况,要特别注意贡叠的情况,要特别注意if和和else的配对问题。的配对问题。4.3.3条件运算符和条件表达式条件运算符和条件表达式当在条件语句中只执行单个的赋值语句时常使用条件表达式当在条件语句中只执行单个的赋值语句时常使用条件表达式来实现。这样不但使程序简洁,也提高了运行效率。来实现。这样不但使程序简洁,也提高了运行效率。条件运算符为条件运算符为?和和:,它是唯一一个三目运算符,即有,它是唯一一个三目运算

11、符,即有3个参与个参与运算的量。运算的量。由条件运算符组成条件表达式的一般形式为由条件运算符组成条件表达式的一般形式为:表达式表达式1?表达式表达式2:表达式表达式3返回下一页上一页4.3 if语句语句其求值规则为其求值规则为:如果表达式如果表达式1的值为真,则以表达式的值为真,则以表达式2的值作的值作为条件表达式的值,否则以表达式为条件表达式的值,否则以表达式3的值作为条件表达式的值。的值作为条件表达式的值。条件表达式通常用于赋值语句之中。条件表达式通常用于赋值语句之中。使用条件表达式时,还应注意以下几点。使用条件表达式时,还应注意以下几点。(1)条件运算符的运算优先级低于关系运算符和算术运

12、算符,条件运算符的运算优先级低于关系运算符和算术运算符,但高于赋值运算符。但高于赋值运算符。(2)条件运算符条件运算符?和和:是一对运算符,不能分开使用。是一对运算符,不能分开使用。(3)条件运算符的结合方向是自右至左条件运算符的结合方向是自右至左返回上一页4.4 switch语句语句C语言还提供了另一种用于多分支选择的语言还提供了另一种用于多分支选择的switch语句,其一语句,其一般形式为般形式为:switch(表达式表达式) case常量表达式常量表达式1:语句语句1; case常量表达式常量表达式2:语句语句2; case常量表达式常量表达式n:语句语句n; default:语句语句n

13、+1返回下一页4.4 switch语句语句其语义是其语义是:计算表达式的值,然后逐个与计算表达式的值,然后逐个与case后的常量表达后的常量表达式值相比较,当表达式的值与某个常量表达式的值相等时,式值相比较,当表达式的值与某个常量表达式的值相等时,即执行该即执行该case后的语句,然后不再进行判断,继续执行后面后的语句,然后不再进行判断,继续执行后面所有语句所有语句;如表达式的值与所有如表达式的值与所有case后的常量表达式均不相后的常量表达式均不相同,则执行同,则执行default后的语句。后的语句。返回上一页4.5 选择结构程序举例选择结构程序举例【例例4.14】输入输入3个整数,要求按由

14、大到小的顺序输出。个整数,要求按由大到小的顺序输出。main() int a,b,c,t; scanf(”%d%d%d,&a,&b,&C); if(ab) t=a,a=b,b=t; if(ac) t=a,a=c,c=t; 返回下一页4.5 选择结构程序举例选择结构程序举例if (bc) t=b,b=c,c=t; printf(”%d,%d,%dn”,a,b,c);【例例4.15】输入学生的百分制成绩,要求输出成绩等级输入学生的百分制成绩,要求输出成绩等级A, B, C, D, E。 90分以上为分以上为A,8089分为分为B,7079分为分为C,6069分为分为D, 60分以下为分以下为E。main() int s; scanf(”%d”,&s);返回下一页上一页4.5 选择结构程序举例选择结构程序举例switch(s/10) case 10: case 9:printf(A) break ; case 8:printf(”B”) break; case 7:printf(”C”) ;break; case 6:printf(”D”) break default:printf(”E”)返回上一页

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 研究生课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号