运算符是一个符号,它会告诉编译器执行特定的数学或逻辑函数。C语言具有丰富的内置运算符,常见的运算符有一下几种类型:算术运算符、比较运算符、布尔运算符、位运算符和复合运算符。

算术运算符

运算符名称 运算符符号 说明 例子
赋值运算符 = 将符号右边的值给左边的变量 A=b
+ 两个操作数相加 A+B
减号 - 从左边操作数中减去右边操作数 A-B
乘号 * 将两个操作数相乘 A*B
除号 / 用左操作数处于右操作数 A/B
取模运算 % 左操作数整除右操作数后的余数 A%B

比较运算符

运算符名称 运算符符号 说明 例子
等于 == 判断两个操作数是否相等,如果相等则条件为真 A==B
不等于 != 判断两个操作数是否相等,如果不相等则条件为真 A!=B
小于 < 判断左操作数是否小于右操作数,如果小于则条件为真 A<B
大于 > 判断左操作数是否大于右操作数,如果大于则条件为真 A>B
小于或等于 <= 判断左操作数的值是否小于或等于右操作数的值,如果是,则条件为真 A<=B
大于或等于 >= 判断左操作数的值是否大于或等于右操作数的值,如果是,则条件为真。 A>=B

布尔运算符

运算符名称 运算符符号 说明 例子
与运算
(and)
&& 如果两个操作数都是非零数,那么条件为真 A && B
或运算
(or)
|| 如果两个操作数中的任何一个是非零数,那么条件为真 A || B
非运算
(not)
! 用于翻转操作数的逻辑状态,如果条件为真,则非运算后为假 !A

位运算符

运算符名称 运算符符号 说明 例子
与(and) & 两个操作数按二进制每一位进行与运算 A & B
或(or) | 两个操作数按二进制每一位进行或运算 A |B
异或(xor) ^ 两个操作数按二进制每一位进行运算,两个操作数的对应位不相同时结果才是真,其余都是假 A^B
非(not) ~ 按二进制每一位进行非运算,具有”翻转”位效果。 ~A
左移(shift left) << 二进制左移运算符。左操作数的值向左移动右操作数指定的位数 A<<2
右移(shift right) >> 二进制右移运算符。左操作数的值向右移动右操作数指定的位数。 A>>4

复合运算符

运算符名称 运算符符号 说明 例子
自增加 ++ 自增加运算,将自身增加1 A++
自减小 自减运算,将自身减小1 A—
复合加 += 先求加法后再赋值给左操作数 B+=A
等于B=B+A
复合减 -= 先求减法后再赋值给左操作数 B-=A
等于B=B-A
复合乘 *= 先乘法运算后再赋值给左操作数 B=A
等于B=B
A
复合除 /= 先求商运算后再赋值给左操作数 B/=A
等于B=B/A
复合取模 %= 先求取模运算后再赋值给左操作数 B%=A
等于B=B%A
复合按位或 |= 按位或运算后再赋值 B|=A
等于B=B|A
复合按位与 &= 按位与运算后再赋值 B&=A
等于B=B&A