欢迎来到天天文库
浏览记录
ID:8977530
大小:32.00 KB
页数:2页
时间:2018-04-13
《c语言运算符优先级及记忆口决》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、=====运算符的优先级与结合律(从高到低排列)=====优先级名称符号结合性1数组下标[]左结合性1函数调用()左结合性1结构和联合的成员.->左结合性1自增(后缀)++左结合性1自减(后缀)--左结合性2自增(前缀)++右结合性2自减(前缀)--右结合性2取地址&右结合性2间接寻址*右结合性2一元正号+右结合性2一元负号-右结合性2按位求反~右结合性2逻辑非!右结合性2计算内存长度sizeof右结合性3强制类型转换()右结合性4乘法类的*/%左结合性5加法类的+-左结合性6按位移位<<>>左结合性7关系<><=>=左结合性8判等
2、==!=左结合性9按位与&左结合性10按位异或^左结合性11按位或
3、左结合性12逻辑与&&左结合性13逻辑或
4、
5、左结合性14条件?:右结合性15赋值=*=/=%=右结合性+=-=<<=>>=&=^=
6、=16逗号,左结合性C语言运算符优先级等级口诀[圆方括号、箭头一句号] [自增自减非反负、针强地址长度] [乘除,加减,再移位] [小等大等、等等不等] [八位与],[七位异],[六位或],[五与],[四或],[三疑],[二赋],[一真逗] (其中“[]”号为一个等级分段)说明: “圆方括号、箭头一句号”指的是第15级的运算
7、符。其中【圆方括号】为“()、[]”,【箭头】指的是指向结构体成员运算符“->”,【句号】指的是结构体成员运算符“.”; “自增自减非反负、针强地址长度”指的是第14级的运算符。其中【非】指的是逻辑运算符“!”,【反】指的是按位取反运算符“~”,【负】指的是负号运算符“-”,【针】指的是指针运算符“*”,【强】指的是强制类型转换运算符,【地址】指的是地址运算符“&”,【长度】指的是长度运算符“sizeof”; “乘除,加减,再移位”【移位】指的是左移运算符“<<”和右移运算符“>>”,其中【除】还包括了取余运算符“%”; “小
8、等大等、等等不等”【小等大等】指的是第10级到第9级的运算符:<、<=、>和>=,【等等】指的是等于运算符“==”,【不等】指的是不等于运算符“!=”; “八位与,七位异,六位或”【八位与】指的是第8级的按位与运算符“&”,【七位异】指的是第7级的按位异或运算符“^”,【六位或】指的是第6级的按位或运算符“
9、
10、”; “五与,四或”【五与】指的是第5级的逻辑与运算符“&&”,【四或】第4级和逻辑或运算符“
11、
12、”; “三疑,二赋,一真逗”指的是第3级到第1级的运算符。其中,【三疑】指的是条件运算符“?:”(三有双重含义:即指优先级
13、别是三,它的运算符类型也是三目,疑也取“?”之意),【二赋】指的是赋值运算符=、+=、-=、*=、/=、%=、>>=、<<=、&=、^=和
14、=,【一真逗】指的是第1级的“,”运算符,真字只是为了语句需要罢了。 由于C语言的运算符优先级与C++的不完全一样(主要是增加了几个运算符),所以这个口诀不能完全实用于C++.但是应该能够兼容,大家可以比较一下他们的区别应该就能够很快掌握C++的优先级的!
此文档下载收益归作者所有