优先级顺序 | 操作符 | 中文名 | 结合性 | 是否控制求值顺序 | 用法示例 |
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 |
C语言操作符优先级表格(建议收藏,每次看一下)
于 2023-11-09 07:39:24 首次发布