第5章选择结构程序设计.ppt
《第5章选择结构程序设计.ppt》由会员分享,可在线阅读,更多相关《第5章选择结构程序设计.ppt(39页珍藏版)》请在三一办公上搜索。
1、第五章 选择结构程序设计,本章内容:1.关系运算符和关系表达式2.逻辑运算符和逻辑表达式3.if语句的使用4.条件运算符和条件表达式5.switch语句的使用6.程序举例,选择结构-根据某些条件决定执行或不执行某组操作,关系运算符和表达式,1.关系运算符及优先次序 比较两个量的运算符称为关系运算符。在语言中有以下关系运算符:大于=大于或等于=等于!=不等于 关系运算符的优先级别:(1)、=、=优先级相等,=、!=优先级相等,前者高于后者。(2)关系运算符的优先级低于算术运算符。(3)关系运算符的优先级高于赋值运算符。,关系表达式的一般形式为:表达式1 关系运算符 表达式2 例如:a+bc-d
2、x3/2 a+10的值为“真”,即为1。(a=3)(b=5)由于35不成立,其值为0。关系表达式是表达式,因此也允许出现嵌套的情况。如:a(bc),a!=(c=d)等。,2.关系表达式,1.逻辑运算符 语言中提供了三种逻辑运算符!非运算&与运算|或运算 运算符&、运算符|均为双目运算符,具有左结合性。非运算符!为单目运算符,具有右结合性。1)逻辑运算符优先级如下:(1)!高于&高于|(2)&,|低于关系运算符,!高于算术运算符(*,/),逻辑运算符和表达式,按照运算符的优先顺序可以得出:ab&cd 等价于(ab)&(cd)!b=c|dc&x+yc)&(x+y)b),逻辑运算符,2)逻辑运算的值
3、:逻辑运算的值也为“真”和“假”两种,用“1”和“0”来表示。反过来在判断一个量是为“真”还是为“假”时,以“0”的数值代表“假”,以非“0”的数值代表“真”。,(1)与运算&参与运算的两个量都为真时(非0),结果才为真(值为1),否则为假(值为0)。例如:50&42,由于50为真,42也为真,其结果也为“真”,表达式的值为1。,3)逻辑运算的规则:,(2)或运算|参与运算的两个量只要有一个为真(非0),结果就为真(值为1)。两个量都为假(值为0)时,结果为假(值为0)。例如:50|58,结果也就为真(值为1)。,(3)非运算!参与运算量为真(非0)时,结果为假(值为0);参与运算量为假(值为
4、0)时,结果为真(值为1)。例如:!(50)的结果为假,即为0。,2.逻辑表达式 逻辑表达式的一般形式为:表达式&表达式 表达式|表达式!表达式 逻辑表达式的值:各种逻辑运算的最后值,以“1”和“0”分别代表“真”和“假”。,3)逻辑运算的规则:,main()char c=k;int i=1,j=2,k=3;float x=3e+5,y=0.85;printf(%d,%dn,!x*!y,!x);printf(%d,%dn,x|i,分析下段程序的输出结果,0,01,00,1,在逻辑表达式的求解中,并不是所有的逻辑运算符都执行,只有在必须执行下一个逻辑运算符才能求出表达式的值时,才执行下一个运算符
5、。(1)表达式1&表达式2&a+b0&b+(a=1,b=-2)如果:表达式1的值是0,无论表达式2的值是什么,整个表达式的值都为0,因此表达式2就不计算了。(2)表达式1|表达式2|a+b0|b+(a=1,b=2)如果:表达式1的值是1,无论表达式2的值是什么,整个表达式的值都为1,因此表达式2就不计算了。,说 明:,(3)若a1,b2,c3,d=4,m和n原值为1(m=ab)&(n=cd)则m0,而n仍保持原值(4)c&d 逻辑运算符两侧,可以是任意类型的数据类型,说 明:,1.if语句有三种基本形式 1)第一种形式,基本形式:if(表达式)语句;如果表达式的值为真,则执行其后语句,否则不执
6、行该语句。,if 语句,void main()int a,b,max;scanf(%d,%d,if(表达式)语句1;else 语句2;如果表达式的值为真,则执行语句1,否则执行语句2。,void main()int a,b;scanf(%d,%d,例:,2)第二种形式,if-else形式,前二种形式的if语句一般都用于两个分支的情况。当有多个分支选择时,可采用if-else-if语句,其一般形式为:if(表达式1)语句1;else if(表达式2)语句2;else if(表达式m)语句m;else 语句n;,3)第三种形式,if-else-if形式,void main()int result;
7、printf(input your result:);scanf(“%d”,例 如:,在三种形式的if语句中,在if关键字之后均为表达式。该表达式通常是逻辑表达式或关系表达式,但也可以是其它表达式,如赋值表达式等,甚至也可以是一个变量。,注 意:,例如:if(a=5)语句;if(b)语句;只要表达式的值为非0,即为“真”。但是在 if(a=5);中表达式的值永远为非0,所以其后的语句总是要执行的,但在语法上是合法的。,又如,问下面程序段的输出结果?:int b,a=10;scanf(%d,注 意:,(2)在if 语句中,条件判断表达式必须用括号括起来,即使是一个变量的最简单表达式,也要用括号括
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 选择 结构 程序设计
![提示](https://www.31ppt.com/images/bang_tan.gif)
链接地址:https://www.31ppt.com/p-5638814.html