第四章.选择结构程序设计.ppt
《第四章.选择结构程序设计.ppt》由会员分享,可在线阅读,更多相关《第四章.选择结构程序设计.ppt(34页珍藏版)》请在三一文库上搜索。
1、第4章 选择结构程序设计,本章内容: 1.关系运算符和关系表达式 2.逻辑运算符和逻辑表达式 3.if语句的使用 4.条件运算符和条件表达式 5.switch语句的使用,选择结构-根据某些条件决定执行或不执行某组操作,关系运算符和表达式,1.关系运算符及优先次序 比较两个量的运算符称为关系运算符。 在语言中有以下关系运算符: 大于 = 大于或等于 = = 等于 != 不等于 关系运算符的优先级别: (1) 、=、=优先级相等,= =、!=优先级相等, 前者高于后者。 (2) 关系运算符的优先级低于算术运算符。 (3) 关系运算符的优先级高于赋值运算符。,关系表达式的一般形式为: 表达式1 关系
2、运算符 表达式2 例如:a+bc-d x3/2 a+10的值为“真”,即为1。 (a=3)(b=5)由于35不成立,其值为0。 关系表达式是表达式,因此也允许出现嵌套的情况。 如:a(bc), a!=(c=d)等。,2.关系表达式,1.逻辑运算符 语言中提供了三种逻辑运算符 ! 非运算 & 与运算 | 或运算 运算符& 、运算符| 均为双目运算符,具有左结合性。 非运算符!为单目运算符,具有右结合性。 1)逻辑运算符优先级如下: (1) ! 高于 & 高于 | (2) &, | 低于关系运算符,!高于算术运算符(*, / ),逻辑运算符和表达式,按照运算符的优先顺序可以得出: ab & cd
3、等价于 (ab) & (cd) !b=c|dc & x+yc) & (x+y)b),逻辑运算符,2)逻辑运算的值: 逻辑运算的值也为“真”和“假”两种,用“1”和“0 ”来表示。 反过来在判断一个量是为“真”还是为“假”时,以“0”的数值代表“假”,以非“0”的数值代表“真”。,(1)与运算& 参与运算的两个量都为真时(非0),结果才为真(值为1),否则为假(值为0)。 例如:50 & 42,由于50为真,42也为真,其结果也为“真”,表达式的值为1。,3)逻辑运算的规则:,(2)或运算| 参与运算的两个量只要有一个为真(非0),结果就为真(值为1)。 两个量都为假(值为0)时,结果为假(值为
4、0)。 例如:50 | 58, 结果也就为真(值为1)。,(3)非运算! 参与运算量为真(非0)时,结果为假(值为0);参与运算量为假(值为0)时,结果为真(值为1)。 例如:!(50)的结果为假,即为0。,2.逻辑表达式 逻辑表达式的一般形式为: 表达式 & 表达式 表达式 | 表达式 !表达式 逻辑表达式的值:各种逻辑运算的最后值,以“1”和“0”分别代表“真”和“假”。,3)逻辑运算的规则:,在逻辑表达式的求解中,并不是所有的逻辑运算符都执行,只有在必须执行下一个逻辑运算符才能求出表达式的值时,才执行下一个运算符。 (1) 表达式1 & 表达式2 & a+b0 & b+ (a=1,b=-
5、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仍保持原值,说 明:,1.if语句有三种基本形式 1)第一种形式,基本形式: if (表达式) 语句; 如果表达式的值为真,则执行其后语句,否则不执行该语句。,if 语句,void main() int a,b,max;
6、 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; printf(“i
7、nput 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.31doc.com/p-3477448.html