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


    结合性:左结合是从左到右依次执行,右结合是从右到左依次执行。

    特点总结:个人对一些特别的优先级的理解。

    优先级

    运算符

    名称或作用

    运算类型

    结合方向

    特点总结

    1

    ()

    []

    ->

    .

    小括号运算符

    下标运算符

    指向结构成员运算符

    结构成员运算符

     

    左结合

     

    2

    !

    ~

    ++,--

    -

    (类型)

    *,&

    sizeof

    逻辑非运算符

    按位取反运算符

    自增/减运算符

    负号运算符

    类型转换运算符

    指针/取地址运算符

    求类型长度运算符

    单目运算

    右结合

     

    3

    *,/,%

    乘法/除法/求余运算符

    双目运算、算术运算

    左结合

    乘除取余优先于加减

    4

    +,-

    加法/减法运算符

    双目运算、算术运算

    左结合

    5

    <<,>>

    左移/右移运算符

    双目运算、位运算

    左结合

    位移低于算术运算

    于是在二分时可以写 mid = l + r >> 1(虽不建议)

    6

    <,<=,>,>=

    小于/小于等于/大于/大于等于

    双目运算、关系运算

    左结合

    大小比较优先于等于/不等于比较

    7

    ==,!=

    判等/判不等运算符

    双目运算

    左结合

    8

    &

    按位与

    双目运算、位运算

    左结合

     

    9

    ^

    按位异或

    双目运算、位运算

    左结合

     

    10

    |

    按位或

    双目运算、位运算

    左结合

     

    11

    &&

    逻辑与

    双目运算、逻辑运算

    左结合

    “与的优先级高于“或”

    12

    ||

    逻辑或

    双目运算、逻辑运算

    左结合

    13

    ?:

    条件运算符

    三目运算

    右结合

     

    14

    =,+=,-=,*=,/=,%=

    >>=,<<=,&=,^=,|=

    赋值运算符

    双目运算

    右结合

     

    15

    ,

    逗号运算符(顺序求值运算符)

     

    左结合

     

  • 相关阅读:
    PostThreadMessage
    WaitForSingleObject函数的使用
    CodeWarrior环境下中断使用
    Activity跳转时生命周期跟踪
    win7 VS2012+openCV-2.4.11 配置
    CodeBlocks16.01+wxWidgets3.0.2
    MFC一个类访问另一个类成员对象的成员变量值
    无法打开包括文件:'atlrx.h'的解决办法
    STM32f103的数电采集电路的TIMER定时器的使用与时序控制的程序
    STM32f103的数电采集电路的双ADC的设计与使用
  • 原文地址:https://www.cnblogs.com/sandychn/p/8395451.html
Copyright © 2020-2023  润新知