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
标签:逻辑,优先级,c++,运算符,结合,条件,赋值 来源: https://www.cnblogs.com/jayxuan/p/16195312.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。