1 / 31
文档名称:

03-分支程 序设计.ppt

格式:ppt   页数:31
下载后只包含 1 个 PPT 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

03-分支程 序设计.ppt

上传人:企业资源 2012/1/4 文件大小:0 KB

下载得到文件列表

03-分支程 序设计.ppt

文档介绍

文档介绍:第3章分支程序设计
关系与逻辑运算
两路分支
多路分支
关系与逻辑运算
逻辑数据
用来表示“真”和“假”的数据称为逻辑数据
C语言中没有逻辑数据类型,它用其它数据类型来表示逻辑型数据
C中规定,0值表示“假”,非0值表示“真”
图3-1 C中的逻辑数据表示
关系运算
关系运算也叫比较运算,用来比较两个值的大小,结果是逻辑值
C中有6种关系运算
表3-1 关系运算符
注意事项
(1)关系运算是二元运算,对两个值进行大小比较
任意类型的表达式都可以参加比较运算
若有下面的定义:
float y = 5, z;
则:
5 > 3 /* 两个初级表达式(常量)进行比较*/
y <= 3 /* 两个初级表达式(变量和常量)进行比较*/
2 * a == y + 3 /* 两个二元表达式进行比较*/
--a >= b++ /* 一个一元表达式与一个后缀表达式进行比较*/
(m = 4) >= (n = 3) /* 两个赋值表达式进行比较*/
(y > 3)< (a > 5) /* 两个关系表达式进行比较*/
(2)关系运算的结果是逻辑值——“真”或“假”
在C中,一个式子的运算结果若为逻辑“真”,则它的值是整数1;若运算结果为逻辑“假”,则它的值是整数0
若有定义: int a = 3,b = 2, x = 5;
则:
5 > 3 结果为“真”→值为1
x <= 3 结果为“假”→值为0
--a >= b++ 结果为“真”→值为1
(3)前四个的优先级高于后两个,所有运算的结合性都是左结合
a == b > c 等价于 a == (b > c)
a > b > c 等价于((a > b) > c)
(4)不可以简单地通过几个连续的关系运算来构建复杂的条件
如: 3 > x > 5 不能表示x∈(3,5)
逻辑运算
逻辑运算是对逻辑量进行的运算
C中有3个逻辑运算——逻辑与(and),逻辑或(or)和逻辑非(not)
表3-2 逻辑运算符
(1)逻辑运算是对逻辑值实施的运算,结果还是逻辑值
注意事项:
表3-2~表3-5 逻辑运算真值表
(2)任意类型的表达式都可以参加逻辑运算
要牢牢把握住一点:任何非0的值为“真”,只有0值才为“假”
若有以下定义:
int a = 0, b = 13;
float y = -;
char c = ‘A’;
则下列的表达式都是合法的:
!5 结果为“假”→值为0
!a 结果为“真”→值为1
!y 结果为“假”→值为0
!(b % 2) 结果为“假”→值为0
a >= 0 && a < 3 结果为“真”→值为1
(c >=‘a’&& c <= ‘z’)||(c>=‘A’&& c <=‘Z’) 结果为“真”→值为1
(3)只要表达式的值已经确定逻辑运算就终止
进行逻辑运算时,只要表达式的值已经确定了,就不再继续处理了,有时也把它叫逻辑短路
图3-2 逻辑短路
如: int a = 1, b = 2, c = 3, d = 4, m = 2, n = 2;
(m = a > b) && (n = c < d);
执行上面的语句后m和n的值分别是0和2