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

上传人:本田雅阁 文档编号:3471604 上传时间:2019-08-31 格式:PPT 页数:20 大小:499.02KB
返回 下载 相关 举报
第3章选择结构程序设计.ppt_第1页
第1页 / 共20页
第3章选择结构程序设计.ppt_第2页
第2页 / 共20页
第3章选择结构程序设计.ppt_第3页
第3页 / 共20页
第3章选择结构程序设计.ppt_第4页
第4页 / 共20页
第3章选择结构程序设计.ppt_第5页
第5页 / 共20页
点击查看更多>>
资源描述

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

1、第3章,选择结构程序设计,关系运算、逻辑运算、if语句、 条件运算符、switch语句,本章要点,首先要了解关系运算及逻辑运算的相关知 识,理解什么是选择结构,然后再学习实现选 择结构的各语句,各语句的语法结构,实现过 程均需要记忆,只有这样才能学会选择结构程 序的编写方法。,学习方法建议,本章内容,3.5 程序举例,3.1 关系运算符和关系表达式,3.2 逻辑运算符和逻辑表达式,3.3 if语句,3.4 switch语句,3.1 关系运算符及其表达式,1. 关系运算符,关系运算实质就是两个算术量比较大小,其结果是一个逻辑值。逻辑值只有两个,分别用“真”和“假”来表示。在C语言中,没有专门的“

2、逻辑值”,而是用非0表示“真”,用0表示“假”。因此,对于任意一个表达式,如果值为非零,就代表一个“真”值;如果值为0,就代表一个“假”值。,上一页,下一页,返 回,关系运算符共有以下6种: 大于 = 大于等于 、=)的优先级别相同,后两种(= =、!=)优先级相同,且前四种高于后两种。关系运算符的优先级低于算术运算符。,2. 关系表达式,小测验: 假设变量a=3、b=2、c=1,执行赋值语句f=abc;后,变量f的值是多少?,关系表达式的形式为:,表达式1 关系运算符 表达式2,例如:ab、a+bc、x!=y等都是合法的关系表达式。,关系表达式的值有两种情况: (1) 当关系成立时,表达式的

3、值为逻辑真,程序中用1表示。 (2) 当关系不成立时,表达式的值为逻辑假,用0来表示。,例如,有关系表达式bc,当b的值是5,c的值是8时,bc关系成立,那么表达式的值为1;而当b的值为9,c的值是6时,bc关系不成立,那么表达式的值为0。,上一页,下一页,返 回,3.2 逻辑运算符及其表达式,1. 逻辑运算符,上一页,下一页,三种逻辑运算符:&(逻辑与)、|(逻辑或)、!(逻辑非)。,优先级与结合性,(1)优先级从高到低为:!(非)、&(与)、|(或)。 (2)逻辑运算符中的“&”和“|”的优先级低于关系运算符,“!”的优先级高于算术运算符。 (3)“&”和“|”的结合性为左结合,“!”的结

4、合性为右结合。,返 回,2.逻辑表达式,上一页,下一页,逻辑表达式的形式为: 表达式1 & 表达式2 表达式1 | 表达式2 !表达式,与关系表达式相同,逻辑表达式的值也有两种情况:1和0。运算规则如下:,逻辑运算的规则表。,返 回,小测验 用关系或逻辑表达式描述下列条件: x是3的倍数且x是偶数。,在特定的情况下会产生“短路”现象,即“&”运算时左边运算对象的值为假(即0)时,系统完全可以确定逻辑表达式的结果为0,因此不再对右侧的运算对象求值。同样对于“|”运算,当左边运算对象的值为真(即1)时,系统完全可以确定逻辑表达式的结果为1,同样不再对右侧的运算对象求值。,例如,设有a=3,b=4,

5、c=5。则有: a+bc&b=c的值为0 a|b+c&b-c的值为1 !(ab)&!c|1的值为1 (ab)&b+的值为0 (bc)|a+的值为1,上一页,下一页,返 回,3.3 if语句和条件运算符,1单选择型if语句,3.3.1 if语句,语法格式为:if(表达式)语句,if子句在语法上只能是一条语句,若想执行多条语句,则必须用一对大括号“ ”括起来,以复合语句的形式出现。,输入两个整数, 分别存入a和b中,若两数 不等,则输出其中的小数, 若相等,则输出字符 串a= =b和a的值。,【程序代码】 #include “stdio.h“ main() int a,b; printf(“Inp

6、ut a ,【例3.1】,上一页,下一页,返 回,上一页,下一页,2双选择型if语句,语法格式为: if(表达式) 语句1 else 语句2,输入任意三 个整数给变量a、b、c, 求三个数中的最大值。,【程序代码】 #include “stdio.h“ main( ) int a,b,c,max; printf(“Please input three number:“); scanf(“%d%d%d“,【例3.2】,返 回,3多选择型if语句,上一页,下一页,语法格式为: if(表达式1) 语句1 else if(表达式2) 语句2 else if(表达式3) 语句3 else if(表达式n

7、) 语句n else 语句n+1,对学生的考试成绩进 行等级评价,90分以上为优秀 ,8090分为良好,7080分为 中,6070分为及格,60分以下 为不及格。任意输入一个学生的 成绩,判断属于哪个等级。,【程序代码】 #include “stdio.h“ main( ) int cj; printf(“Please input cj:“); scanf(“%d“, ,执行程序,输入85,运行结果如下:,【例3.3】,返 回,上一页,下一页,3.3.2 条件运算符,语法格式为: 表达式1?表达式2:表达式3,执行过程:计算“表达式1”的值,如果该值为非值,则计算“表达式2”的值,并将该值作为

8、条件表达式的值。若“表达式1”的值为,则计算“表达式3”的值,并将该值作为条件表达式的值。,说明: (1)条件运算符优先级别高于赋值运算符,低于关系运算符和算术运算符。 (2)条件运算符结合方向是“自右至左”。 (3)“表达式1”与“表达式2”、“表达式3”的类型可以不同。,求两个数中的最小值。,【程序代码】 # include “stdio.h“ main( ) int x,y,min; printf(“ Enter two integers :“); scanf(“%d, %d“, ,【例3.4】,返 回,上一页,下一页,3.3.3 if语句的嵌套,在if语句中又包含一个或多个if语句,称

9、为if 语句的嵌套。内嵌的if语句 既可以嵌套在if子句中,也可以嵌套在else子句中。,(1)在if子句中嵌套if语句,语法格式为: if(表达式1) if(表达式2) 语句1 else 语句2 else 语句3,说明:如果内嵌的if语句不含else子句,则内嵌的if语句要用一对括号括起来。因为C语言的语法规定:else子句总是与前面最近的不带else的if相结合,与书写格式无关。,返 回,有一函数: -1 (x0) 编一程序,输入一个x值,输出y值。,上一页,下一页,【程序代码】 # include “stdio.h“ main( ) int x,y; printf(“Input x:“)

10、; scanf(“%d“, ,(2)在else子句中嵌套if语句,语法格式为: if(表达式1) 语句1 else if(表达式2) 语句2 else 语句3,【例3.5 】中例题中的if 语句用该嵌套格式可以写成如下形式: if(x0) y=1; else if(x0) y=-1; else y=0;,【例3.5】,返 回,语法格式为: switch(表达式) case 常量表达式1: 语句1 case 常量表达式2: 语句2 case 常量表达式n: 语句n default: 语句n +1 ,上一页,下一页,3.4 switch语句,switch语句又称为多分支选择语句或开关语句。,说明:

11、 (1)case后面的常量表达式的值,都必须是整型的、字符型的,不允许是浮点型的。 (2)同一个 switch语句中的所有case后面的常量表达式的值都必须互不相同。 (3)default的出现次序是任意的 (4)每个case的后面有多条语句的时候,也不需要用花括号括起来。 (5)多个case的后面可以共用一组执行语句,,返 回,【程序代码】 #include “stdio.h“ main( ) int score; printf(“Please input score:“); scanf(“%d“, ,上一页,下一页,用switch语句处理例3.3中的问题,在switch语句中使用break

12、语句。用来中止switch语句中从入口处继续往下执行。,用switch语句和break语句处理例3.6中的问题,include “stdio.h“ main( ) int score; printf(“Please input score:“); scanf(“%d“, ,【例3.6】,【例3.7】,返 回,3.5 选择结构应用举例,【程序代码】 #include “stdio.h“ main( ) int x; printf(“Input x:“); scanf(“%d“, ,上一页,下一页,输入一个数,判断它是奇 数还是偶数,如果是奇数则进一步 判断它是否为5的倍数。,从键盘上输入m或M, 显示“GOOD Morning!”;输入 h或H,显示“Hello!”;输入n或N ,显示“GOOD Night!”,输入其 它字母时不显示任何信息。,【程序代码】 # include “stdio.h“ main( ) char ch; scanf(“%c“, ,【例3.8】,【例3.9】,返 回,上一页,下一页,3.6 本章小结,(1)选择结构概念。 (2)if语句。 (3)switch语句。 (4)选择语句的嵌套。 (5)程序书写格式。,返 回,作业及上机内容,课后作业 第50页,习题3.5、3.7 上机内容 练习实验指导书上的相关内容及作业题,上一页,返 回,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1