C语言中关于运算符优先级别


在一一个表达式中可能有多个不同的运算符结合起来,由于运算符的优先级别不一样,可能会形成得到的结果不同。

优先级从上到下依次递减,最上面具有最高的优先级,逗号操作符具有最低的优先级。

对于相同的优先级,按着结合顺序计算。大多数计算是从左往右计算,但是有三个例外,是从右往左计算,分别是单目运算符,条件运算符,赋值运算符

基本的优先级别:

指针最先,单目运算符优于双目运算符

先乘除,后加减

先算术运算,再移位运算,最后进行位运算

逻辑运算最后计算。

单目算术运算符:

逻辑非(!),按位取反(-)++,和--,间接寻址(*)和取地址符(&)等

双目运算符:

乘除、整数取余和加减

关系运算:

等于,不等于,大于等于,小于等于

位运算:

按位与(&)

按位异或(~) 

按位或(|)

逻辑运算:

逻辑与(&&)

逻辑或(||)

三目运算符(?:)

双目运算

=、+=,-=,*=赋值运算符

顺序求值运算符:

逗号运算符

总结:单目>双目算术运算符>移位运算符>关系运算符>位运算符>逻辑运算符>三目运算符>双目赋值运算>逗号运算符


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM