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++的优先级的!
相关文章推荐
- [置顶] 使用C语言与栈实现简单多则运算计算器(包括括号优先级运算)
- 一起来学习如何快速、准确、轻松地记住C语言的运算符优先级顺序!!
- C语言运算优先级
- c语言中算术运算优先级高于移位运算
- C Primer Plus-C语言运算优先级
- C语言各运算符优先级比较列表
- C语言之优先级与运算顺序
- c语言运算优先级
- C语言中的运算符号优先级和运算顺序
- C语言-运算优先级
- 黑马程序员——C语言学习之基本运算及优先级
- C语言移位运算的优先级低于加减乘除
- C语言运算优先级与结合性
- C语言运算优先级
- C语言运算优先级
- C语言中容易出错的优先级运算
- 附上C语言的运算附优先级顺口溜
- c语言运算优先级
- C语言关系运算优先级
- C语言之运算符总览与运算符优先级