运算符是一种告诉编译器执行特定的数学或逻辑操作的符号。我们以前已经讲过算术运算符,赋值运算符,这一节讲关系运算符和逻辑运算符。
1.关系运算符
关系运算符也叫比较运算符,像数学中10 > 9、1 < x < 5 等等,表示一种判定关系,给出的这种关系可能是正确的也可能是错误的,例如也可以有“1 > 2”这种判定,但这是错误的判断。
计算机中也支持这种判定,但结果只有两种,要么判断正确要么判断错误。
正确则称为“真”,错误则称为“假”。任意给出这样一个判定,要么为真要么为假并不会出现其他情况,并且也不会出现相同的判定在一种情况下为真、另一种情况下为假的情况。
操作符 |
描述 |
举例
(a 和 b , a = 10 , b = 11) |
== |
检查两个操作数的值是否相等,如果相等则条件为真。 |
a == b , 假 |
!= |
检查两个操作数的值是否相等,如果不相等则条件为真。 |
a != b , 真 |
> |
检查左操作数的值是否大于右操作数的值,如果是则条件为真。 |
a > b , 假 |
< |
检查左操作数的值是否小于右操作数的值,如果是则条件为真。 |
a < b , 真 |
>= |
检查左操作数的值是否大于或等于右操作数的值,如果是则条件为真。 |
a >= b , 假 |
<= |
检查左操作数的值是否小于或等于右操作数的值,如果是则条件为真。 |
a <= b , 真 |
例1.关系运算符
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
|
#include <stdio.h> int main() { int a = 10, b = 20, result; // Equal result = (a==b); printf("(a == b) = %d \n",result); // less than result = (a<b); printf("(a < b) = %d \n",result); // greater than result = (a>b); printf("(a > b) = %d \n",result); // less than equal to result = (a<=b); printf("(a <= b) = %d \n",result); return 0; } |
结果
|
(a == b) = 0 (a < b) = 1 (a > b) = 0 (a <= b) = 1 Process returned 0 (0x0) execution time : 0.040 s Press any key to continue. |
在 C 语言中,真是除零以外的任何值。假为零。
2. 逻辑运算符
C语言支持下列逻辑运算符
Operator |
Description |
Example
(a 和 b , a = 1 , b = 0) |
&& |
称为逻辑与运算符。如果两个操作数都非零,则条件为真。 |
a && b , 结果0 |
|| |
称为逻辑或运算符。如果两个操作数中有任意一个非零,则条件为真。 |
a || b , 结果真 |
! |
称为逻辑非运算符。用来逆转操作数的逻辑状态。如果条件为真则逻辑非运算符将使其为假。 |
!a , 结果0 |
例2. 逻辑运算符
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
|
#include <stdio.h> int main() { int a = 1, b = 0, result; // And result = (a && b); printf("a && b = %d \n",result); // Or result = (a || b); printf("a || b = %d \n",result); // Not result = !a; printf("!a = %d \n",result); return 0; } |
运行结果
|
a && b = 0 a || b = 1 !a = 0 Process returned 0 (0x0) execution time : 0.032 s Press any key to continue. |
除教程外,本网站大部分文章来自互联网,如果有内容冒犯到你,请联系我们删除!