运算符是告诉编译器执行特定数学或逻辑函数的符号。 C语言内置运算符丰富,提供以下类型的运算符 :
- 算术运算符
- 关系运算符
- 逻辑运算符
- 按位运算符
- 分配运算符
- 其它运算符
算术运算符 (Arithmetic Operators)
下表显示了C语言支持的所有算术运算符。 假设变量A保持10,变量B保持20然后:
操作者 | 描述 | 例 |
---|---|---|
+ | 添加两个操作数。 | A + B = 30 |
− | 从第一个减去第二个操作数。 | A - B = -10 |
* | 将两个操作数相乘。 | A * B = 200 |
/ | Divides numerator by de-numerator. | B/A = 2 |
% | 模数运算符和整数除法后的余数。 | B%A = 0 |
++ | 递增运算符将整数值增加1。 | A ++ = 11 |
-- | 递减运算符将整数值减1。 | A-- = 9 |
关系运算符 (Relational Operators)
下表显示了C支持的所有关系运算符。假设变量A保持10,变量B保持20然后:
操作者 | 描述 | 例 |
---|---|---|
== | 检查两个操作数的值是否相等。 如果是,则条件成立。 | (A == B)不是真的。 |
!= | 检查两个操作数的值是否相等。 如果值不相等,则条件成立。 | (A!= B)是真的。 |
> | 检查左操作数的值是否大于右操作数的值。 如果是,则条件成立。 | (A> B)不是真的。 |
< | 检查左操作数的值是否小于右操作数的值。 如果是,则条件成立。 | (A < B) 为真 |
>= | 检查左操作数的值是否大于或等于右操作数的值。 如果是,则条件成立。 | (A> = B)不是真的。 |
<= | 检查左操作数的值是否小于或等于右操作数的值。 如果是,则条件成立。 | (A <= B)是真的。 |
逻辑运算符 (Logical Operators)
下表显示了C语言支持的所有逻辑运算符。 假设变量A保持1而变量B保持0:
操作者 | 描述 | 例 |
---|---|---|
&& | 称为逻辑AND运算符。 如果两个操作数都不为零,则条件成立。 | (A && B)是假的。 |
|| | 称为逻辑OR运算符。 如果两个操作数中的任何一个非零,则条件变为真。 | (A || B)是真的。 |
! | 称为逻辑非运算符。 它用于反转其操作数的逻辑状态。 如果条件为真,则Logical NOT运算符将使其为false。 | !(A && B)是真的。 |
按位运算符 (Bitwise Operators)
按位运算符处理位并执行逐位运算。 &,|和^的真值表如下 -
p | q | p&q | p | q | p ^ q |
---|---|---|---|---|
0 | 0 | 0 | 0 | 0 |
0 | 1 | 0 | 1 | 1 |
1 | 1 | 1 | 1 | 0 |
1 | 0 | 0 | 1 | 1 |