运算符分类
1.算术运算符
+ 把两个操作数相加
- 从第一个操作数中减去第二个操作数
* 把两个操作数相乘
/ 分子除以分母
% 取模运算符,整除后的余数
++ 自增运算符,整数值增加 1
-- 自减运算符,整数值减少 1
2.关系运算符
== 检查两个操作数的值是否相等,如果相等则条件为真。
!= 检查两个操作数的值是否相等,如果不相等则条件为真。
> 检查左操作数的值是否大于右操作数的值,如果是则条件为真。
< 检查左操作数的值是否小于右操作数的值,如果是则条件为真。
>= 检查左操作数的值是否大于或等于右操作数的值,如果是则条件为真。
<= 检查左操作数的值是否小于或等于右操作数的值,如果是则条件为真。
3.逻辑运算符
&& 称为逻辑与运算符。如果两个操作数都非零,则条件为真。
|| 称为逻辑或运算符。如果两个操作数中有任意一个非零,则条件为真。
! 称为逻辑非运算符。用来逆转操作数的逻辑状态。如果条件为真则逻辑非运算符将使其为假。
4.位运算符
& 按位与操作,按二进制位进行"与"运算。
| 按位或运算符,按二进制位进行"或"运算。
^ 异或运算符,按二进制位进行"异或"运算。
~ 取反运算符,按二进制位进行"取反"运算。
<< 二进制左移运算符。将一个运算对象的各二进制位全部左移若干位(左边的二进制位丢弃,右边补0)。
>> 二进制右移运算符。将一个数的各二进制位全部右移若干位,正数左补0,负数左补1,右边丢弃。
5.赋值运算符
= 简单的赋值运算符,把右边操作数的值赋给左边操作数
+= 加且赋值运算符,把右边操作数加上左边操作数的结果赋值给左边操作数
-= 减且赋值运算符,把左边操作数减去右边操作数的结果赋值给左边操作数
*= 乘且赋值运算符,把右边操作数乘以左边操作数的结果赋值给左边操作数
/= 除且赋值运算符,把左边操作数除以右边操作数的结果赋值给左边操作数
%= 求模且赋值运算符,求两个操作数的模赋值给左边操作数
<<= 左移且赋值运算符
>>= 右移且赋值运算符
&= 按位与且赋值运算符
^= 按位异或且赋值运算符
|= 按位或且赋值运算符
6.杂项运算符 ↦ sizeof & 三元
sizeof() 返回变量的大小。
& 返回变量的地址。
* 指向一个变量。
? : 条件表达式
运算符优先级
(优先级从上到下从左到右)
类别 运算符
后缀 () [] -> . ++ - -
一元 sizeof & (type)* -- ++ ~ ! - +
乘除 * / %
加减 + -
移位 << >>
关系 < <= > >=
相等 == !=
位与 AND &
位异或 XOR ^
位或 OR |
逻辑与 AND &&
逻辑或 OR ||
条件 ?:
赋值 |= ^= &= <<= >>= %= /= *= -= += =
逗号 ,