原创 【转】C语言运算符优先级 详细列表

2010-8-30 16:30 1985 12 12 分类: MCU/ 嵌入式

来源:http://www.cnitblog.com/luofuchong/


文章作者:Slyar 文章来源:Slyar Home (www.slyar.com) 转载请注明,谢谢合作。


恩,问这个问题的人太多了,懒得继续回答,直接贴上来自己看。。。




优先级


运算符


名称或含义


使用形式


结合方向


说明


1


[]


数组下标


数组名[常量表达式]


左到右



()


圆括号


(表达式)/函数名(形参表)



.


成员选择(对象)


对象.成员名



->


成员选择(指针)


对象指针->成员名



2


-


负号运算符


-表达式


右到左


单目运算符


(类型)


强制类型转换


(数据类型)表达式



++


自增运算符


++变量名/变量名++


单目运算符


--


自减运算符


--变量名/变量名--


单目运算符


*


取值运算符


*指针变量


单目运算符


&


取地址运算符


&变量名


单目运算符


!


逻辑非运算符


!表达式


单目运算符


~


按位取反运算符


~表达式


单目运算符


sizeof


长度运算符


sizeof(表达式)



3


/



表达式/表达式


左到右


双目运算符


*



表达式*表达式


双目运算符


%


余数(取模)


整型表达式/整型表达式


双目运算符


4


+



表达式+表达式


左到右


双目运算符


-



表达式-表达式


双目运算符


5


<<


左移


变量<<表达式


左到右


双目运算符


>>


右移


变量>>表达式


双目运算符


6


>


大于


表达式>表达式


左到右


双目运算符


>=


大于等于


表达式>=表达式


双目运算符


<


小于


表达式<表达式


双目运算符


<=


小于等于


表达式<=表达式


双目运算符


7


==


等于


表达式==表达式


左到右


双目运算符


!=


不等于


表达式!= 表达式


双目运算符


8


&


按位与


表达式&表达式


左到右


双目运算符


9


^


按位异或


表达式^表达式


左到右


双目运算符


10


|


按位或


表达式|表达式


左到右


双目运算符


11


&&


逻辑与


表达式&&表达式


左到右


双目运算符


12


||


逻辑或


表达式||表达式


左到右


双目运算符


13


?:


条件运算符


表达式1? 表达式2: 表达式3


右到左


三目运算符


14


=


赋值运算符


变量=表达式


右到左



/=


除后赋值


变量/=表达式



*=


乘后赋值


变量*=表达式



%=


取模后赋值


变量%=表达式



+=


加后赋值


变量+=表达式



-=


减后赋值


变量-=表达式



<<=


左移后赋值


变量<<=表达式



>>=


右移后赋值


变量>>=表达式



&=


按位与后赋值


变量&=表达式



^=


按位异或后赋值


变量^=表达式



|=


按位或后赋值


变量|=表达式



15


,


逗号运算符


表达式,表达式,…


左到右


从左向右顺序运算


说明:


同一优先级的运算符,运算次序由结合方向所决定。


简单记就是:! > 算术运算符 > 关系运算符 > && > || > 赋值运算符

PARTNER CONTENT

文章评论0条评论)

登录后参与讨论
我要评论
0
12
关闭 站长推荐上一条 /3 下一条