您的位置:首页 > 编程语言 > C语言/C++

C语言运算优先级

2014-07-13 23:54 176 查看

1优先级等级口诀

圆方括号、箭头一句号, 自增自减非反负、针强地址长度,
乘除,加减,再移位,
小等大等、等等不等,
八位与,七位异,六位或,五与,四或,三疑,二赋,一真逗。
其中“,”号为一个等级分段。

2.级别

1级(左结合)( ) 圆括号;[ ]下标运算符;->指向结构体成员运算符;. 结构体成员运算符。2级(右结合)“ ! ”逻辑非运算符;“ ~ ”按位取反运算符;“ ++ ”前缀增量运算符;“ -- ”前缀减量运算符;“ - ”负号运算符;(类型)类型转换运算符;“ * ”指针运算符;“ & ”地址运算符。3级(左结合)“ * ” 乘法运算符;“ / ”除法运算符;“ % ” 取余运算符。4级(左结合)“ + ”加法运算符;“ - ”减法运算符。5级(左结合)<< 左移运算符;>> 右移运算符。6级(左结合)<、<=、>、>=关系运算符。7级(左结合)“ == ”等于运算符;“ != ”不等于运算符。8级(左结合)“ & ”按位与运算符,“~“按位取反运算符”。9级(左结合)“ ∧ ”按位异或运算符。10级(左结合)“ | ”按位或运算符。11级(左结合)“&&”逻辑与运算符。12级(左结合)“ || ”逻辑或运算符。13级(右结合)? :条件运算符14级(右结合)=、 +=、 -=、 *=、 /=、 %=、 &=、 ^=、 |=、 <<=、 >>=赋值运算符。15级(左结合)“,”逗号运算符。3.优先级等级注释“圆方括号、箭头一句号”指的是第15级的运算符。其中圆方括号很明显“()、[]”,箭头 指的是指向结构体成员运算符“->”,句号 指的是结构体成员运算符“.” ;“自增自减非反负、针强地址长度”指的是第14级的运算符。其中 非 指的是逻辑运算符“!”,反 指的是按位取反运算符“~”,负 指的是负号运算符“-”,针 指的是指针运算符“*”,强 指的是强制类型转换运算符,地址 指的是地址运算符“&”,长度 指的是长度运算符“sizeof ”;“乘除,加减,再移位”移位指的是左移运算符“<<”和右移运算符“>>”,其中除法还包括了 取余运算符“%”;“小等大等、等等不等” 指的是第10级到第9级的运算符:<、<=、>和>=,等等指的是等于运算符==,不等指的是不等于运算符!=“八位与,七位异,六位或”其中 八位与 指的是第8级的 按位与 运算符“&”,七位异 指的是第7级的按位异或运算符“^”,六位或 指的是第6级的按位或运算符“|”;“五与,四或”指的是第5级、第4级的逻辑与运算符“&&”和逻辑或运算符“||”;“三疑,二赋,一真逗”指的是第3级到第1级的运算符。其中,三疑指的是条件运算符“?:” (三有双重含义:即指优先级别是三,它的运算符类型也是三目,疑也取“?”之意),二赋 指的是赋值运算符=、+=、-=、*=、/=、%=、>>=、<<=、&=、^=和|= ,一真逗 指的是第1级的“,”运算符,真字只是为了语句需要罢了。由于C语言的运算符优先级与C++的不完全一样(主要是增加了几个运算符),所以这个口诀不能完全实用于C++.但是应该能够兼容,大家可以比较一下他们的区别应该就能够很快掌握C++的优先级的!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: