优先级顺序 | 操作符 | 中文名 | 用法示例 |
1 | ( ) | 聚组(括号) | (x + y) |
2 | ( ) | 函数调用 | Add(x , y) |
3 | [ ] | 下标引用 | arr [5] |
4 | . | 访问结构体成员 | 结构体变量.a |
5 | -> | 用指针访问结构体 | 结构体指针->a |
6 | ++ | 后缀++ | num++ |
7 | -- | 后缀-- | num-- |
8 | ! | 逻辑反(1->0,0->1) | ! a |
9 | ~ | 按位取反(二进制位) | ~a |
10 | + | 表示正值 | +1 |
11 | - | 表示负值 | -1 |
12 | ++ | 前缀++ | ++num |
13 | -- | 前缀-- | --num |
14 | * | 间接访问(解引用) | *p |
15 | & | 取地址 | &num |
16 | sizeof | 求变量的长度(以其数据类型为准),以字节表示 | sizeof(int) |
17 | (类型) | 强制类型转换 | (char)a |
18 | * | 乘法 | a*b |
19 | / | 除法 | a/b |
20 | % |
对整数取余数 | a%b |
21 | + | 加法 | a+b |
22 | - | 减法 | a-b |
23 | << | 左移位(二进制位) | a << 1 |
24 | >> | 右移位 | a >> 1 |
25 | > | 大于 | a > b |
26 | >= | 大于等于 | a >= b |
27 | < | 小于 | a < b |
28 | <= | 小于等于 | a <= b |
29 | == | 等于 | a == b |
30 | != | 不等于 | a != b |
31 | & | 按位与(二进制位)(有0为0,同1为1) | a & b |
32 | ^ | 按位异或(二进制位)(相同为0,不同为1) | a ^ b |
33 | | | 按位或 (二进制位)(有1为1,同0为0) | a | b |
34 | && | 逻辑与 (左边为0,右边不算) | a && b |
35 | || | 逻辑或 (左边为真,右边不算) | a || b |
36 | ? : | 条件操作符(条件成立输出?后面,反之 :后面) | a >0 ? a : b |
37 | = | 赋值 | a = 2 |
38 | += | 加等于 | a += 2 (a = a + 2) |
39 | -= | 减等于 | a -= 2 |
40 | *= | 乘等于 | a *= 2 |
41 | /= | 除等于 | a /= 2 |
42 | %= | 取余等 | a %= 2 |
43 | <<= | 左移等于 | a <<= 1 |
44 | >>= | 右移等于 | a >>= 1 |
45 | &= | 按位与等于 | a &= b |
46 | ^= | 按位异或等于 | a ^= b |
47 | |= | 按位或等于 | a |= b |
48 | , | 逗号表达式(都执行,但结果为最后一个表达式的值) | a = 0, a += 3,a += 6 |