在一个表达式中可能包含多个有鈈同运算符连接起来、具有不同数据类型数据对象;由于表达式有多种运算不同运算顺序可能得出不同结果甚至出现错误运算错误,因為当表达式中含多种运算时必须按一定顺序进行结合,才能保证运算合理性和结果正确性、唯一性
优先级从上到下依次递减,最上面具有最高优先级逗号操作符具有最低优先级。表达式结合次序取决于表达式中各种运算符优先级优先级高运算符先结合,优先级低运算符后结合同一行中运算符优先级相同。
优先级从上到下依次递减最上面具有最高优先级,逗号操作符具有最低优先级
基本优先级需要记住:
指针最优,单目运算优于双目运算如正负号。
(表达式)/函数名(形参表) |
对象指针->成员名 |
(纯量数据类型)纯量表达式 |
++纯量类型可修改左值表达式 |
--纯量类型可修改左值表达式 |
整型表达式%整型表达式 |
整型表达式<<整型表达式 |
整型表达式>>整型表达式 |
表达式>=表达式 |
表达式<=表达式 |
整型表达式&整型表达式 |
整型表达式^整型表达式 |
整型表达式|整型表达式 |
表达式1? 表达式2: 表达式3 |
可修改左值表达式=表达式 |
可修改左值表达式/=表达式 |
可修改左值表达式*=表达式 |
可修改左值表达式%=表达式 |
可修改左值表达式+=表达式 |
可修改左值表达式-=表达式 |
可修改左值表达式<<=表达式 |
可修改左值表达式>>=表达式 |
可修改左值表达式&=表达式 |
可修改左值表达式^=表达式 |
可修改左徝表达式|=表达式 |
同一优先级运算符结合次序由结合方向所决定。
第三级别(具有右结合性) |
&另一种表达 |
第十五级别(具有右结合性) |
第十六级别(具有右结合性) |
因为b++运算中先执行++再返回后置++运算表达式(b++)返回值(6)给-=运算符。
在这个程序中a+=b等于a=a+b=10+4,因为 b++ 时返回了一个临时变量后才进行自增
版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。