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

上传人:sccc 文档编号:5642106 上传时间:2023-08-05 格式:PPT 页数:20 大小:499.01KB
返回 下载 相关 举报
第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)当关系成立时,表达式的值为逻辑真,程序中用1表示。(2

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

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

5、值为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.hmain()int a,b;printf(Input a,【例3.1】,上一页,下一页,返 回,上一页,下一页,2双选择型if语句,语法格式为:

6、if(表达式)语句1 else 语句2,输入任意三个整数给变量a、b、c,求三个数中的最大值。,【程序代码】#include stdio.hmain()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)语句n else语句n+1,对学生的考试成绩进行等级评价,90分以上为优秀,8090分为良好,7080分为中,6070分为及格,60分以

7、下为不及格。任意输入一个学生的成绩,判断属于哪个等级。,【程序代码】#include stdio.hmain()int cj;printf(Please input cj:);scanf(%d,执行程序,输入85,运行结果如下:,【例3.3】,返 回,上一页,下一页,3.3.2 条件运算符,语法格式为:表达式1?表达式2:表达式3,执行过程:计算“表达式1”的值,如果该值为非值,则计算“表达式2”的值,并将该值作为条件表达式的值。若“表达式1”的值为,则计算“表达式3”的值,并将该值作为条件表达式的值。,说明:(1)条件运算符优先级别高于赋值运算符,低于关系运算符和算术运算符。(2)条件运算符

8、结合方向是“自右至左”。(3)“表达式1”与“表达式2”、“表达式3”的类型可以不同。,求两个数中的最小值。,【程序代码】#include stdio.hmain()int x,y,min;printf(Enter two integers:);scanf(%d,%d,【例3.4】,返 回,上一页,下一页,3.3.3 if语句的嵌套,在if语句中又包含一个或多个if语句,称为if 语句的嵌套。内嵌的if语句既可以嵌套在if子句中,也可以嵌套在else子句中。,(1)在if子句中嵌套if语句,语法格式为:if(表达式1)if(表达式2)语句1 else 语句2else 语句3,说明:如果内嵌的i

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

10、se y=0;,【例3.5】,返 回,语法格式为:switch(表达式)case 常量表达式1:语句1 case 常量表达式2:语句2 case 常量表达式n:语句n default:语句n+1,上一页,下一页,3.4 switch语句,switch语句又称为多分支选择语句或开关语句。,说明:(1)case后面的常量表达式的值,都必须是整型的、字符型的,不允许是浮点型的。(2)同一个 switch语句中的所有case后面的常量表达式的值都必须互不相同。(3)default的出现次序是任意的(4)每个case的后面有多条语句的时候,也不需要用花括号括起来。(5)多个case的后面可以共用一组执行

11、语句,,返 回,【程序代码】#include stdio.hmain()int score;printf(Please input score:);scanf(%d,上一页,下一页,用switch语句处理例3.3中的问题,在switch语句中使用break语句。用来中止switch语句中从入口处继续往下执行。,用switch语句和break语句处理例3.6中的问题,include stdio.hmain()int score;printf(Please input score:);scanf(%d,【例3.6】,【例3.7】,返 回,3.5 选择结构应用举例,【程序代码】#include st

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

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

当前位置:首页 > 建筑/施工/环境 > 农业报告


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号