逻辑运算符
逻辑运算符包括 && 、 || 、!= 三种,用于对关系式或逻辑值(真、假)进行运算,运算结果是逻辑值。
逻辑运算符的优先级如下:
1、!优先于 双目算术运算符 优先于 关系运算符 优先于 && 优先于 ||。
2、单目逻辑运算符!和单目算术运算符的优先级相同,结合性均是从右至左。
3、双目逻辑运算符“&&” 和 “||”的结合性是从左至右。
需要注意以下几点:
1、对于逻辑运算结果, 1 表示逻辑真, 0 表示逻辑假;对于逻辑运算对象“非0”表示逻辑真,“0”表示逻辑假。
2、逻辑与“&&”相当于“同时”,逻辑或“||”相当于“或者”,逻辑非“!”相当于“否定”。
3、逻辑运算符两侧的运算对象可以是任何类型的数据,如整型、实型、字符型等。系统一律当作逻辑值进行解释,即“非0”为逻辑真;“0”为逻辑假。
4、一旦“&&”和“||”能够确定表达式的值,则不再继续运算,即并不是所有的表达式都被运算。对于逻辑与运算,如果第一个表达式被判定为“假”,则运算结果与第二个表达式的值无关,结果肯定为“假”,C语言规定此时不再对第二个表达式进行判定或计算;对于逻辑或运算,如果第一个表达式被判定为“真”,则运算结果与第二个表达式的值无关,结果肯定为“真”,C语言规定此时不再对第二个表达式进行判定或计算。
逻辑表达式
逻辑表达式是用逻辑运算符将一个或多个表达式连接起来,进行逻辑运算的式子。
表达式主要是关系表达式,也可以是字符型数据或算术表达式、条件表达式、赋值表达式、逗号表达式等。由于条件、赋值、逗号运算符的优先级低于逻辑运算符,所以应注意加圆括号。
C语言中,通常用逻辑表达式表示多个条件的组合,其逻辑值是 1 或 0 。