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
x < 1 ? y = 0 : z = 0;
1
效果如下:
if (x<1)
y=0;
else
z=0;
1
2
3
4
也常常被这样使用:
a=(x>1)?0:1;//为真就把0赋值给a,否则就把1赋值给a
//这里赋值运算符要比条件运算符低一级,因此先执行右边的条件判断
1
2
优先级16
优先级17
优先级18
————————————————
版权声明:本文为CSDN博主「生如蜉蝣--」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_41565359/article/details/113878104