C语言运算符的优先级与结合性

概括:一般的想法是掌握优先级与结合性意义不大,因为可以用括号搞定一切,但是我们不能保证别人也这么做,所以在看别人的程序时,就有可能因为优先级和结合性的问题而理解错误。总结一些规律来记住优先级和结合性是有必要的。

一、优先级由高到底顺序如下:

规律一、运算符所需要的操作数越多优先级越低。

1、特殊运算符(特殊情况特殊对待)

     (), [], ->, .

2、单目运算符

    !, ~, ++, --, +(正号), -(负符号),*, &,sizeof()

3、算术运算(双目运算符,分三级,乘除加减移位)

   3.1

         *, /, %

   3.2

         +, -

   3.3

         << >>(移位为什么在算术运算符的最后,因为还没有计算机的时候就有加减乘除了,“小样,你新来的吧”)

4、关系运算符 (双目运算符,关系运算符为什么要放到算术运算符的后面,因为自然的逻辑是先运算后比较)

   4.1

        <, <=, >=, >

   4.2

        ==,!=  

规律二、“与”的优先级比“或”高

5、位运算符 (双目运算符,分三层)

   5.1

       &

   5.2

       ^

   5.3

       |

规律三、位运算优先级比逻辑运算优先级高

6、逻辑运算符 (双目运算符)

   6.1

       &&

   6.2

       ||

7、条件运算符(三目运算符)

   ? :

8、各种赋值  (所有运算完成才能赋值

    =, +=, -=, *=, /=,,&=, ^=, |=, <<=, >>=

9、逗号运算符 (只是为了分割表达式,所以优先级最低,很少用到)

    ,

二、结合性  

只有单目,三目,赋值是从右向左,其他是从左向右。


  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值