C++一共有 18个优先级,运算中按优先级进行性计算,当优先级相同时,根据结合性规则来决定。
结合性:
1.从左到右(L-R):操作数和操作符结合的顺序大部分是从左到右结合性的,例如()、单独的算术运算符
2.从右到左(R-L):最典型的是赋值运算符,当赋值符号与算术运算符结合后 ,整体也是R-L。另一个最常用的就是逻辑非运算符 “!”。

在使用的时候,如果不确定,或者运算符太多,就按照自己的思路用括号隔开。
因为在程序中,正确性>可读性>简洁性,万万不可本末倒置

 

优先级1

1

 优先级2

平时常用的最高优先级操作符是从左向右结合的一批操作符,操作数和操作符结合的顺序是从左到右。包括:函数调用、数组下标、取成员、类型转换、后置运算符等。

2

 优先级3

此优先级都是一元运算符(单目运算符),从右向做结合。

3

 优先级4

类成员指针运算符

4

优先级5

算术运算符中的乘(*)、除(/)、取余(%)

5 优先级6

算术运算符中的加、减

6

优先级7 

移位运算符

7 

优先级8 

比较运算符

8

 优先级9

比较运算符

9

优先级10、11、12 

按位运算符

101112

优先级13、14 

逻辑运算符

1314

这里注意,逻辑非!的优先级是3级,比逻辑与和逻辑或高很多,在混合使用的时候注意结合顺序。 &&和||都是短路运算:&&前面的表达式结果为假时,不会再进行后面表达式的运算;||前面的表达式结果为真时,后面的表达式不会运算。

优先级15

三目条件运算符

15

 注意:三目条件运算符是短路运算。条件?A:B; 如果条件为真就执行A(B表达式不会执行,不会进行计算),否则就执行B(A表达式不会执行,不会进行计算)

优先级16

赋值运算符

16

优先级17 

17

优先级18 

逗号运算符

18

 

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐