zoukankan      html  css  js  c++  java
  • C语言运算符优先级表

     

    C语言运算符优先级具体列表

        运算符的优先级:C语言中,运算符的运算优先级共分为15 级。1 级最高。15级最低。在表达式中,优先级较高的先于优先级较低的进行运算。而在一个运算量两側的运算符优先级同样时。则按运算符的结合性所规定的结合方向处理。



    运算符的结合性:C语言中各运算符的结合性分为两种。即左结合性(自左至右)和右结合性(自右至左)。比如算术运算符的结合性是自左至右,即先左后右。如有表达式x-y+z 则y 应先与“-”号结合,运行x-y 运算。然后再运行+z 的运算。这样的自左至右的结合方向就称为“左结合性”。

    而自右至左的结合方向称为“右结合性”。最典型的右结合性运算符是赋值运算符。如x=y=z,因为“=”的右结合性,应先运行y=z 再运行x=(y=z)运算。C语言运算符中有不少为右结合性。应注意差别,以避免理解错误。

     

     

     

     

    优先级

    运算符

    名称或含义

    使用形式

    结合方向

    说明

    1

    []

    数组下标

    数组名[常量表达式]

    左到右

     

    ()

    圆括号

    (表达式)/函数名(形參表)

     

    .

    成员选择(对象)

    对象.成员名

     

    ->

    成员选择(指针)

    对象指针->成员名

     

    2

    -

    负号运算符

    -表达式

    右到左

    单目运算符

    (类型)

    强制类型转换

    (数据类型)表达式

     

    ++

    自增运算符

    ++变量名/变量名++

    单目运算符

    --

    自减运算符

    --变量名/变量名--

    单目运算符

    *

    取值运算符

    *指针变量

    单目运算符

    &

    取地址运算符

    &变量名

    单目运算符

    !

    逻辑非运算符

    !表达式

    单目运算符

    ~

    按位取反运算符

    ~表达式

    单目运算符

    sizeof

    长度运算符

    sizeof(表达式)

     

    3

    /

    表达式/表达式

    左到右

    双目运算符

    *

    表达式*表达式

    双目运算符

    %

    余数(取模)

    整型表达式/整型表达式

    双目运算符

    4

    +

    表达式+表达式

    左到右

    双目运算符

    -

    表达式-表达式

    双目运算符

    5

    << 

    左移

    变量<<表达式

    左到右

    双目运算符

    >> 

    右移

    变量>>表达式

    双目运算符

    6

    大于

    表达式>表达式

    左到右

    双目运算符

    >=

    大于等于

    表达式>=表达式

    双目运算符

    小于

    表达式<表达式

    双目运算符

    <=

    小于等于

    表达式<=表达式

    双目运算符

    7

    ==

    等于

    表达式==表达式

    左到右

    双目运算符

    !=

    不等于

    表达式!= 表达式

    双目运算符

    8

    &

    按位与

    表达式&表达式

    左到右

    双目运算符

    9

    ^

    按位异或

    表达式^表达式

    左到右

    双目运算符

    10

    |

    按位或

    表达式|表达式

    左到右

    双目运算符

    11

    &&

    逻辑与

    表达式&&表达式

    左到右

    双目运算符

    12

    ||

    逻辑或

    表达式||表达式

    左到右

    双目运算符

    13

    ?:

    条件运算符

    表达式1? 表达式2: 表达式3

    右到左

    三目运算符

    14

    =

    赋值运算符

    变量=表达式

    右到左

     

    /=

    除后赋值

    变量/=表达式

     

    *=

    乘后赋值

    变量*=表达式

     

    %=

    取模后赋值

    变量%=表达式

     

    +=

    加后赋值

    变量+=表达式

     

    -=

    减后赋值

    变量-=表达式

     

    <<=

    左移后赋值

    变量<<=表达式

     

    >>=

    右移后赋值

    变量>>=表达式

     

    &=

    按位与后赋值

    变量&=表达式

     

    ^=

    按位异或后赋值

    变量^=表达式

     

    |=

    按位或后赋值

    变量|=表达式

     

    15

    ,

    逗号运算符

    表达式,表达式,

    左到右

    从左向右顺序运算

    说明:

    同一优先级的运算符,运算次序由结合方向所决定。

    简单记就是:! > 算术运算符 > 关系运算符 > && > || >赋值运算符

     

     

  • 相关阅读:
    instanceof操作符判断对象类型
    继承
    题解 P3943 星空
    NOIP 模拟 10 考试总结
    题解 P3942 将军令
    题解 P3941 入阵曲
    题解 P3191 [HNOI2007]紧急疏散EVACUATE
    NOIP 模拟 9 考试总结
    NOIP 模拟 9 分组
    NOIP 模拟 9 数颜色
  • 原文地址:https://www.cnblogs.com/gavanwanggw/p/7020034.html
Copyright © 2011-2022 走看看