if和while语句使用关系表达式作为测试条件,有时需要要把多个表达式连接在一起使用。例如编写一个程序,判断字符串中是否包含‘a’或‘b’字符,这时可以用逻辑运算符判断。

一、逻辑运算符与规则

1.逻辑运算符

C语言中常见的逻辑运算符如下:

逻辑运算符 含义
&&
||
!

2.规则

规则如下,表达式1和表达式2是两个简单的表达式,则:

(1)当且仅当表达式1和表达式2同时为真时,表达式1 && 表达式2才为真。

布尔值 布尔值 与关系

(2)如果表达式1或表达式2为真,则表达式1 || 表达式2为真。

布尔值 布尔值 或关系

(3)如果表达式1为假,则!表达式1就为真。

布尔值 非关系

3.示例

10 > 8 && 20 > 10,两个表达式都为真,与关系为真。

10 > 8 || 2 > 10,只有一个表达式为真,或关系为真。

!(10 > 5),10 > 5为真,但!真为假。

4.iso646.h头文件

在C99标准中新增了可以替代逻辑运算符的拼写。

原有 iso646.h
&& and
|| or
! not

二、优先级与范围

1.优先级

!的优先级最高,其次是&&优先级次之,||最低。

2.范围

举例来说,表示分数值的范围0到100,可以采用:

score >= 0 && score <= 100

不能使用数学写法:

0 <= score <= 100

还可以采用范围测试一个字母是否是小写或大写字母,如下:

ch >= ‘a’ && ch <= ‘z’