C语言符号优先级

C语言符号优先级

ID:38159171

大小:102.23 KB

页数:5页

时间:2019-05-31

C语言符号优先级_第1页
C语言符号优先级_第2页
C语言符号优先级_第3页
C语言符号优先级_第4页
C语言符号优先级_第5页
资源描述:

《C语言符号优先级》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、附录2C语言中的运算符及其优先级附录2C语言中的运算符及其优先级优先级运算符名称或含义使用形式结合方向说明[]数组下标数组名[常量表达式](表达式)/函数名()圆括号1(形参表)左到右.成员选择(对象)对象.成员名->成员选择(指针)对象指针->成员名-负号运算符-表达式单目运算符(类型)强制类型转换(数据类型)表达式++自增运算符++变量名/变量名++单目运算符--自减运算符--变量名/变量名--单目运算符2*取值运算符*指针变量右到左单目运算符&取地址运算符&变量名单目运算符!逻辑非运算符!表达式单目运算符~按位取反运算符~表达式单目运算符s

2、izeof长度运算符sizeof(表达式)/除表达式/表达式双目运算符*乘表达式*表达式双目运算符3左到右整型表达式/整型表%余数(取模)双目运算符达式+加表达式+表达式双目运算符4左到右-减表达式-表达式双目运算符<<左移变量<<表达式双目运算符5左到右>>右移变量>>表达式双目运算符>大于表达式>表达式双目运算符>=大于等于表达式>=表达式双目运算符6左到右<小于表达式<表达式双目运算符<=小于等于表达式<=表达式双目运算符==等于表达式==表达式双目运算符7左到右!=不等于表达式!=表达式双目运算符8&按位与表达式&表达式左到右双目运算符9

3、^按位异或表达式^表达式左到右双目运算符10

4、按位或表达式

5、表达式左到右双目运算符11&&逻辑与表达式&&表达式左到右双目运算符12

6、

7、逻辑或表达式

8、

9、表达式左到右双目运算符表达式1?表达式2:13?:条件运算符右到左三目运算符表达式314=赋值运算符变量=表达式右到左/=除后赋值变量/=表达式*=乘后赋值变量*=表达式%=取模后赋值变量%=表达式306附录2C语言中的运算符及其优先级+=加后赋值变量+=表达式-=减后赋值变量-=表达式<<=左移后赋值变量<<=表达式>>=右移后赋值变量>>=表达式&=按位与后赋值变量&=表达式^=按位异或后赋值

10、变量^=表达式

11、=按位或后赋值变量

12、=表达式从左向右顺15,逗号运算符表达式,表达式,…左到右序运算说明:同一优先级的运算符,运算次序由结合方向所决定。由于C语言中运算符多,优先级复杂,难以记忆,针对上述运算符,我们可以归纳成几名口诀,以便于记忆:优先级口诀括号成员第一;括号运算符[]()成员运算符.->全体单目第二;所有的单目运算符比如++--+(正)-(负)指针运算*&乘除余三,加减四;这个"余"是指取余运算即%移位五,关系六;移位运算符:<<>>,关系:><>=<=等等于(与)不等排第七;即==!=位与异或和位或;这几个都是位运算:位与(&

13、)异或(^)位或(

14、)"三分天下"八九十;逻辑或跟与;逻辑运算符:

15、

16、和&&十二和十一;注意顺序:优先级(

17、

18、)底于优先级(&&)条件高于赋值,三目运算符优先级排到13位只比赋值运算符和","高逗号运算级最低!逗号运算符优先级最低C优先级的口诀收藏学习C语言也有一段时间了,感觉C语言的运算符优先级很难记住,特别是对于初学者而言!也许你会说没有记住没关系,用括号来改变优先级就可以了。但是很多情况下,因为依赖括号很容易导致程序可读性差,当然我不是反对加括号,只是提倡恰到好处。总之,还是记住好些,读别人的程序也方便点。近来翻看了一下优先级,感觉还是有规

19、律可循的,拿来和大家分享,希望对大家有帮助!先给出C语言的运算符优先级表:C语言运算符优先级表(由上至下,优先级依次递减)运算符结合性307附录2C语言中的运算符及其优先级()[]->.自左向右!~++---(type)*&sizeof自右向左*/%自左向右+-自左向右<<>>自左向右<<=>>=自左向右==!=自左向右&308附录2C语言中的运算符及其优先级自左向右^自左向右

20、自左向右&&自左向右

21、

22、自左向右?:自右向左Assignments自右向左,自左向右第一、像()[]->.之类的理所当然是最优先的,其实它们压根也不算什么运算符了第二、除

23、了上面的四种运算符之外,接下来就是单目运算符,也就是!~++---(type)*&sizeof了。记住它们的顺序可是自右向左啊!其实结合实例是很容易理解的,比如i++等。第三、跟着就是双目运算符了,也是C语言运算符优先级中最容易让人混淆的地方了。其实309附录2C语言中的运算符及其优先级也没有那么可怕,你认真观察就会发现。在双目运算符中,算术运算符优先级最高,然后是移位运算符,接着是关系运算符,再着是逻辑运算符。不过这边需要说的是,在关系运算符中,<<=>>=比==!=的优先级来得高。此外,在逻辑运算符中,与运算又比或运算优先级来得高,异或则处于

24、二者之间。同样的,你可以类比出&&与

25、

26、的优先级关系.第四、在双目操作符之后,就是三目操作符了,没有什么好说的了。第五、然后是赋值操作符

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。