二级C++精品:优先级和结合性
出处:ExamLink.com收集整理 作者:罗志中 日期:2007年04月06日 09时58分
当不同的运算符混合运算时,运算顺序是根据运算符的优先级而定的,优先级高的运算符先运算,优先级低的运算符后运算。在一个表达式中,如果各运算符有相同的优先级,运算顺序是从左向右,还是从右向左,是由运算符的结合性确定的。所谓结合性是指运算符可以和左边的表达式结合,也可以与右边的表达式结合。C++运算符的优先级和结合性参见表3-14。
在表3-14中,"单"表示是单目运算符,"双" 表示是双目运算符,"三" 表示是三目运算符。表中有一些运算符,我们还没有介绍,以后我们会在有关的内容中学习。
 |
表3-14 C++运算符的优先级和结合性 |
| |
| 优先级 |
运算符 |
种类 |
结合性 |
| 最高 |
|
单 |
从右到左 |
| 最高 |
|
双 |
从左到右 |
| . |
|
双 |
从左到右 |
| . |
+ - |
++ -- |
! ~ |
* & |
new delete |
sizeof (类型) | |
单 |
从右到左 |
| . |
|
双 |
从左到右 |
| . |
|
双 |
从左到右 |
| . |
|
双 |
从左到右 |
| . |
|
双 |
从左到右 |
| . |
|
双 |
从左到右 |
| . |
|
双 |
从左到右 |
| . |
|
双 |
从左到右 |
| . |
|
双 |
从左到右 |
| . |
|
双 |
从左到右 |
| . |
|
双 |
从左到右 |
| . |
|
双 |
从左到右 |
| . |
|
三 |
从左到右 |
| . |
|
双 |
从右到左 |
| 最低 |
|
双 |
从左到右 | |
 |
每种运算符都有一个优先级,优先级是用来标志运算符在表达式中的运算顺序的。优先级高的先做运算,优先级低的后做运算,优先级相同的右结合性决定计算顺序。
大多数运算符都是按从左到右计算,只有三类运算符的结合性是从右到左。他们是:单目、三目和赋值。这一点一定要记住。
最后更新时间:2008-05-28 11:44:53