关系表达式设计
C语言中提供了6种关系运算符:
< (小于)
<= (小于或等于) ←优先级高
(大于) >
(大于或等于) >=
== (等于) ←优先级低
!= (不等于)
注意说明:
(1)前4种关系运算符的优先级级别相同,后两种也相同,但是前4种高于后2种。
(2)关系运算符的优先级低于算数运算符。
例如:
">" 优先于 "==", "<="与">="优先级相同。
(3)关系运算符的优先级高于赋值运算符。
例如:
表达式c>a+b, 应该先算a+b, 然后在和c进行比较。
表达式a=b>c,应该先b和c进行比较,然后在将结果赋值给a。
定义:
用关系运算符将两个表达式(可以是算数表达式、关系表达式、逻辑表达式、赋值表达式)链接起来的式子,称为关系表达式。
结果描述:
关系表达式的值有两个1和0,当关系表达式成立时,其值为1,当关系表达式不成立时,其值为0,C语言中以1代表"真" ,以0代表"假" 。
例如:
已知a=1,b=2,c=3,则关系表达式a>b的结果为假,值为0
关系表达式a+b==c的结果为真,值为1
如何编写关系表达式?
1.判断整型变量n为偶数,怎么书写关系表达式?
能被2整除的数据称为偶数,那么可以写成n%2==0
2.判断成绩变量score为及格,怎么书写表达式?
成绩大于等于60分称为考试及格,那么可以写成score>=60
逻辑表达式设计
C语言中提供了3种逻辑运算符:
&& (逻辑与)
|| (逻辑或)
! (逻辑非)
注意说明:
(1)"&&" 和 "||" 是双目运算符,它要求有两个运算量,且结合方向为左结合,如:a>b&&a<c
(2)"!" 是单目运算符,它只要求有一个运算量,且结合方向为右结合,如!a
(3) !的优先级高于算数运算符, "&&" 和 "||" 的优先级都低于算数运算符和关系运算符,高于赋值运算符,同时 "&&" 优先级又高于 "||"
! (逻辑非) 高
算数运算符
关系运算符
&&和||
赋值运算符 低
例如:
a>b&&c>a 等价于 (a>b)&&(c>d)
!b==c||d<c 等价于 ((!b)==c)||(d<a)
a+b>c&&x+yc)&&((x+y)<b)
当两个表达式a和b的值为不同组合时,各逻辑运算会得到相应的值:
A | B | A&&B | A||B | ! A |
---|---|---|---|---|
0 | 0 | 0 | 0 | 1 |
0 | 非0 | 0 | 0 | 1 |
非0 | 0 | 0 | 0 | 0 |
非0 | 非0 | 1 | 1 | 0 |
定义:
用逻辑运算符将两个表达式链接起来的式子称为逻辑表达式。
注意说明:
(1)c语言编译系统在给出逻辑运算结果时,以数字1表示 "真" ,以数字0表示 "假" 。
(2)在判断一个量是否为 "真" 时,以0表示 "假" ,以非0表示 "真" 。
逻辑与表达式定义
设a,b是两个表达式,如果一个表达式通过运算符的优先级别和结合方向最终可归结为A&&B的形式,则称这个表达式为逻辑与表达式,简称与表达式。
计算过程
对于表达式A&&B,先计算A的值,当A的值为0时,不在计算B;当A为非0时,在计算B。
例如:
表达式:5>0&&4>2,由于5>0为真,4<2也为真,表达式的结果也为真。
逻辑或表达式定义
设A,B是两个表达式,如果一个表达式通过运算符的优先级别和结合方向最终可归结为A||B的形式,则称这个表达式为逻辑表达式,简称或表达式。
计算过程:
对于或表达式A||B,先计算A,当A值为非0时,不在计算B;当A的值为0,不在计算B。
例如:
表达式5>0||5>8,由于5>0为真,不用再计算5>8的结果,表达式的结果也就为真。
逻辑非表达式定义
设A是一个表达式,如果某个表达式通过运算符的优先级别和结合方向最终可归结为!A的形式,则称这个表达式为逻辑非表达式,简称非表达式。
计算过程:
对于或表达式!A,先计算A,然后取返。
例如:
表达式!(5>0),由于5>0为真,然后取返变为假,表达式的结果也就为假。
特殊情况:
在逻辑表达式的求解过程中,并不是所有的逻辑运算符都被执行.
(1)表达式a&&b&&c求解过程中,只有a为真时,才需要求b的值,只有a和b都为真时,才需要求c的值。只要 a为假,就不需要求 b和c的的值,整个表达式的值一定为假。如果a为真 b为假,就不需要求c的值,整个表达式的值也一定为假。
(2)表达式abc求解过程中,只有a为真时 就不需要求 b和c的值,整个表达式的值一定 为真。如果a为假,b为真,就不需要求c的值。 整个表达式的值也一定为真。
例题:
设a=10,b=11,c=12,求下列表达式的值:
a%2==0&&c%2==0 结果为:1 a+b<c&&b+c>a 结果为:0
a&&b||c 结果为:1
b+c||b-c||a 结果为:1
已知三条边分别为a,b,c,满足构成一个三角形,怎么书写关系表达式:
结果:三角形任意两条边之和大于第三条边,那么可以写成:a+b>c&&a+c>b&&b+c>a。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。