c++运算符优先级归纳
·
C++一共有 18个优先级,运算中按优先级进行性计算,当优先级相同时,根据结合性规则来决定。
结合性:
1.从左到右(L-R):操作数和操作符结合的顺序大部分是从左到右结合性的,例如()、单独的算术运算符
2.从右到左(R-L):最典型的是赋值运算符,当赋值符号与算术运算符结合后 ,整体也是R-L。另一个最常用的就是逻辑非运算符 “!”。
在使用的时候,如果不确定,或者运算符太多,就按照自己的思路用括号隔开。
因为在程序中,正确性>可读性>简洁性,万万不可本末倒置
优先级1
优先级2
平时常用的最高优先级操作符是从左向右结合的一批操作符,操作数和操作符结合的顺序是从左到右。包括:函数调用、数组下标、取成员、类型转换、后置运算符等。
优先级3
此优先级都是一元运算符(单目运算符),从右向做结合。
优先级4
类成员指针运算符
优先级5
算术运算符中的乘(*)、除(/)、取余(%)
优先级6
算术运算符中的加、减
优先级7
移位运算符
优先级8
比较运算符
优先级9
比较运算符
优先级10、11、12
按位运算符
优先级13、14
逻辑运算符
这里注意,逻辑非!的优先级是3级,比逻辑与和逻辑或高很多,在混合使用的时候注意结合顺序。 &&和||都是短路运算:&&前面的表达式结果为假时,不会再进行后面表达式的运算;||前面的表达式结果为真时,后面的表达式不会运算。
优先级15
三目条件运算符
注意:三目条件运算符是短路运算。条件?A:B; 如果条件为真就执行A(B表达式不会执行,不会进行计算),否则就执行B(A表达式不会执行,不会进行计算)
优先级16
赋值运算符
优先级17
优先级18
逗号运算符
更多推荐
所有评论(0)