C 运算符优先级
2018-07-05 14:41 更新
学习C - C运算符优先级
表显示了C中所有运算符的优先顺序,从顶部到最低的底部。
| 优先级 | 操作符 | 描述 |
|---|---|---|
| 1 | () | 括号表达式 |
| 1 | [] | 数组下标 |
| 1 | . | 成员选择(对象) |
| 1 | -> | 成员选择(指针) |
| 1 | ++ -- | 后缀自增 / 后缀自减 |
| 2 | + - | 一元 + 和 - |
| 2 | ++ -- | 前缀自增 / 前缀自减 |
| 2 | ! ~ | 逻辑非 / 按位取反 |
| 2 | * | 取指针指向的值 |
| 2 | & | 取地址运算符 |
| 2 | sizeof | 长度运算符 |
| 2 | (type) | 强制类型转换 |
| 3 | * / % | 乘法 / 除法 / 取余 |
| 4 | + - | 加号 / 减号 |
| 5 | << >> | 位左移 / 位右移 |
| 6 | < <= | 小于 / 小于等于 |
| 6 | > >= | 大于 / 大于等于 |
| 7 | == != | 等于 / 不等于 |
| 8 | & | 按位与 |
| 9 | ^ | 按位异或 |
| 10 | | | 按位或 |
| 11 | && | 逻辑与 |
| 12 | || | 逻辑或 |
| 13 | ?: | 条件运算符 |
| 14 | = | 赋值 |
| 14 | += −= | 相加后赋值 / 相减后赋值 |
| 14 | /= *= | 相除后赋值 / 相乘后赋值 |
| 14 | %= | 取模后赋值 |
| 14 | <<= >>= | 位左移赋值 / 位右移赋值 |
| 14 | &= |= | 按位与后赋值 / 按位或后赋值 |
| 14 | ^= | 按位异或后赋值 |
| 15 | , | 逗号运算符 |
例子
以下代码显示了运算符优先级的使用。
#include <stdio.h>
int main(void) {
int top, score;
top = score = -(3 + 5) * 6 + (4 + 3 * (2 + 3));
printf("top = %d, score = %d\n", top, score);
return 0;
}
上面的代码生成以下结果。

以上内容是否对您有帮助:
← C 位运算符

免费 AI IDE


更多建议: