文档介绍:第五章选择结构程序设计
表达式
关系表达式
逻辑表达式
条件表达式
语句
if语句与条件运算符
多分支语句(switch)
§ 关系运算符和关系表达式
比较两个量(x, y)之间关系的6种形式:
x < y x <= y x = = y
x > y x >= y x != y
比较的结果:
成立如:3>1
或不成立如:1>3
int x=6; x>=1
int x=6; x<2
比较结果的表示
结果成立 1 不成立 0
例: int x=2, y=6;
x =(y>3) 结果: x=1
x =(x>y) x=0
§ 关系运算符和关系表达式
运算符优先级: 算术运算符高
<, <=, >, >=
= = , !=
= , += 低
例:
2. b - 1 != a >= c = = 3
相当于((b - 1) != (a >= c )) = =3
该表达式结果为0
1. d = b+2 = = 3
若b=1 则d=1, 其他b 则d=0
§ 关系运算符和关系表达式
运算符优先级: 算术运算符高
<, <=, >, >=
= = , !=
= , += 低
例:
3. x = 3 < y < 5 , 若y=2 , x=?
若y=4 , x=?
等价 x = ( 3<y ) < 5
= 1
关系表达式只能比较两个量之间的关系,若要表达三个量之间的关系必须使用逻辑表达式
§ 逻辑运算符和逻辑表达式
3 < x < 5
0 3 5 x
x > 3 并且 x < 5
逻辑运算符
逻辑表达式
逻辑表达式:用逻辑运算符连接多个关系表达
式,以表示一种复杂的关系
§ 逻辑运算符和逻辑表达式
X&&Y X||Y
X Y X Y
!X X
与
或
非
逻辑与&& 逻辑或|| 逻辑非!例(x>1)&&(y>1) (x>1)||(y>1) !(x>1)
y y
1
x<=1
x x
1
§ 逻辑运算符和逻辑表达式
§ 逻辑运算符和逻辑表达式
逻辑与&& 逻辑或|| 逻辑非!
x y x&&y x||y x !x
0 0 0 0 0 1
0 1 0 1 非0 0
1 0 0 1
1 1 1 1
* +
同时成立只要有一个成立
并且或者
5&&7是否合法?
0 0
0 非0
非0 0
非0 非0
! !5 = ?
(1)若a=4,则!a的值为0。因为a的值为非0,被认作“真”,对它进行“非”运算,得“假”,“假”以0代表。
(2)若a=4,b=5,则a&&b的值为1。因为a和b均为非0,被认为是“真”,因此a&&b的值也为“真”,值为1。
(3)a、b值同前,a||b的值为1。
(4)a、b值同前,!a ||b的值为1。
(5) 4&&0||2的值为1 。
所谓逻辑表达式是指,用逻辑运算符将1个或多个表达式连接起来,进行逻辑运算的式子。在C语言中,用逻辑表达式表示多个条件的组合。
逻辑与&& 逻辑或|| 逻辑非!
运算优先级:
! 算术运算符<, <=, >, >=
= =, != && ||
例:设 x = 1 , y = 2 , c = 0
x >= y = = c && !x+2 > 3
0 0
1 2
0
0
§ 逻辑运算符和逻辑表达式