c运算符优先级总结

来源:互联网 发布:麒麟linux系统下载 编辑:程序博客网 时间:2024/06/05 04:18

     学习c语言,运算符算是c语言的一个基础知识,运算符的两个特征就是重点的重点了,其一就是优先级,其二就是结合性,这两个特征也算是笔试的基础题目。



      c语言的优先级有很多,我觉得可以先分成两大类,一类是单目运算,一类是双目运算(其中包含一个三目运算)。

     

     单目运算:顾名思义,就是运算只需要一个变量,如c++,*c等(c表示变量名)。


结论1. 单目运算的优先级比双目运算优先级高

    在c的运算符中,所有单目运算的优先级都高于双目运算。

    但是单目运算还分左单目(如++i)和右单目(如i++)。


结论2.右边的单目运算高于左边的单目运算。

     右单目有如下运算:函数(),数组[],结构体成员 .,结构体指针成员->,后++,后--

     左单目有如下运算:逻辑!,按位反~,正值+,负值-,前++,前--,间接访问*,区地址&,sizeof,类型强制转换()。

     

结论3.优先级最高的是改变优先级的().(如 定义数组指针 char(*arr)[])

     小括号有3种格式,函数(),类型强制转换(),改变优先级()。

 

   单目运算就包括以上三种结论,以下讨论双目运算

    双目运算的优先级也不难。

结论4. 算术运算在双目运算优先级中最高。

     算术包括+,-,* ,/,%  这几个运算符的优先级跟你小学的知识一样,先乘除后加减

结论5.移位分开,比较插足。

     移位分开理解为移和位,移表示移位运算(c语言只有左移和右移),位表示位运算

(位与,位或,位异或)

     比较运算(大于,小于,等于,不等于)插足在移位运算和位运算的中间

结论6.罗三不是富贵豆

     逻辑运算(逻辑与和逻辑或)

     三目运算(唯一的三目运算)

     赋值运算(=,+=,*=等)

     逗号运算(,)



      以上是我自己总结的运算优先级的规则,基本记住加理解还是很容易就记住的。至少我在工作学习中都是这么记忆的,希望能够帮助到大家。

     最近我也在准备自己的微信公众号,大家可以在微信搜索:dazhigongzuoshi

大智工作室友情提供帮助。也可以扫描以下二维码







  










1 0
原创粉丝点击