C++ 运算符优先级

一个 C++ 程序可能包含许多运算符和逻辑关系,因此需要规定各个运算符的优先级,让程序知道应该先计算哪一个,后计算哪一个。

C++ 中运算符的运算规则是:优先级高的运算符先执行,优先级低的运算符后执行,同一优先级的运算符按照从左到右的顺序进行。

需要注意的是,C++ 中大部分运算符都是从左向右执行的,只有单目运算符、赋值运算符它们是从右向左执行的。如果有小括号 (),则小括号的优先级最高。

C++ 语言运算符优先级表

优先级 分类 运算符 结合性
1 逗号运算符 , 从左到右
2 赋值运算符 =、+=、-=、*=、/=、 %=、 >=、 <<=、&=、^=、|= 从右到左
3 逻辑或 || 从左到右
4 逻辑与 && 从左到右
5 按位或 | 从左到右
6 按位异或 ^ 从左到右
7 按位与 & 从左到右
8 相等/不等 ==、!= 从左到右
9 关系运算符 <、<=、>、>= 从左到右
10 位移运算符 <<、>> 从左到右
11 加法/减法 +、- 从左到右
12 乘法/除法/取余 *(乘号)、/、% 从左到右
13 单目运算符 !、*(指针)、& 、++、–、+(正号)、-(负号) 从右到左
14 后缀运算符 ( )、[ ]、-> 从左到右

注意:优先级值越大,表示优先级越高。

Leave a Reply