c语言中逻辑运算符优先级是什么
更新时间:2023-07-04
C语言中逻辑运算符的优先级是由高到低依次为"!"、"&&"、"||",下面将详细解释并举例说明这三个运算符的优先级。
一、优先级最高的是"!"运算符
"!"运算符是C语言中的逻辑非运算符,用于取反一个表达式的值。它的优先级最高,当它后面紧跟一个表达式时,它会先对这个表达式进行运算,然后再取反。因此,在复合表达式中,"!"运算符的优先级最高。
例如:
```c
int a = 10;
int b = 5;
int c = 3;
int result = !(a > b && b > c);
```
在这个示例中,"a > b && b > c"是一个复合表达式,首先要计算"a > b"和"b > c",然后再计算两个子表达式的逻辑与运算结果,最后再对整个表达式求取反。即先计算"a > b"为真(1)和"b > c"为真(1),再计算逻辑与运算结果为真(1),最后取反得到结果为假(0),赋值给result。
二、其次是"&&"运算符
"&&"运算符是C语言中的逻辑与运算符,用于判断两个表达式的值是否同时为真。它的优先级比"!"运算符低,当它两边都有表达式时,它会先对左边的表达式进行运算,然后再对右边的表达式进行运算。如果左右两个表达式都为真,则整个表达式的值为真;否则,整个表达式的值为假。
例如:
```c
int a = 10;
int b = 5;
int c = 3;
int result = a > b && b > c;
```
在这个示例中,"a > b"和"b > c"之间使用"&&"运算符进行逻辑与运算,结果为真(1),赋值给result。
三、最后是"||"运算符
"||"运算符是C语言中的逻辑或运算符,用于判断两个表达式的值是否有一个为真。它的优先级最低,当它两边都有表达式时,它会先对左边的表达式进行运算,然后再对右边的表达式进行运算。如果左右两个表达式中有一个为真,则整个表达式的值为真;否则,整个表达式的值为假。
例如:
```c
int a = 10;
int b = 5;
int c = 3;
int result = a > b || b > c;
```
在这个示例中,"a > b"和"b > c"之间使用"||"运算符进行逻辑或运算,结果为真(1),赋值给result。
综上所述,C语言中逻辑运算符的优先级为:
1. "!"运算符优先级最高
2. "&&"运算符优先级次之
3. "||"运算符优先级最低
本文由c语言编程笔录版权所有,禁止未经同意的情况下转发
本文由c语言编程笔录版权所有,禁止未经同意的情况下转发