zoukankan      html  css  js  c++  java
  • C语言运算符优先级列表(超级详细的---转载加自己习题)

    转载于:http://www.jb51.net/article/37282.htm

    每当想找哪个运算符优先级高时,很多时候总是想找的就没有,真让人气愤!现在,终于有个我个人觉得非常全的,分享给大家,欢迎拍砖!

    C语言运算符优先级  :说明: 从上到下1,2,3,4,......,15代表了优先级的先后顺序。同一优先级的运算符,运算次序由结合方向所决定。

                                    

    优先级

    运算符

    名称或含义

    使用形式

    结合方向

    说明

     

    1

    []

    数组下标

    数组名[常量表达式]

    左到右

    前述运算符

     

     

    ()

    圆括号

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

     

    .

    成员选择(对象)

    对象.成员名

     

    ->

    成员选择(指针)

    对象指针->成员名

     

    2

    -

    负号运算符

    -表达式

    右到左

    单目运算符

     

    ~

    按位取反运算符

    ~表达式

     

    ++

    自增运算符

    ++变量名/变量名++

     

    --

    自减运算符

    --变量名/变量名--

     

    *

    取值运算符

    *指针变量

     

    &

    取地址运算符

    &变量名

     

    !

    逻辑非运算符

    !表达式

     

    (类型)

    强制类型转换

    (数据类型)表达式

    --

     

    sizeof

    长度运算符

    sizeof(表达式)

    --

     

    3

    /

    表达式/表达式

    左到右

    算术运算符

    (双目运算符)

     

    *

    表达式*表达式

     

    %

    余数(取模)

    整型表达式%整型表达式

     

    4

    +

    表达式+表达式

    左到右

    算术运算符

    (双目运算符)

     

    -

    表达式-表达式

     

    5

    << 

    左移

    变量<<表达式

    左到右

    移位运算符

    (双目运算符)

     

    >> 

    右移

    变量>>表达式

     

    6

    大于

    表达式>表达式

    左到右

     

    (双目运算符)

     

    >=

    大于等于

    表达式>=表达式

     

    小于

    表达式<表达式

     

    <=

    小于等于

    表达式<=表达式

     

    7

    ==

    等于

    表达式==表达式

    左到右

    双目运算符

     

    !=

    不等于

    表达式!= 表达式

     

    8

    &

    表达式&表达式

    左到右

    双目运算符

     

    9

    ^

    按位异或

    表达式^表达式

    左到右

    双目运算符

     

    10

    |

    按位或

    表达式|表达式

    左到右

    双目运算符

     

    11

    &&

    逻辑与

    表达式&&表达式

    左到右

    双目运算符

     

    12

    ||

    逻辑或

    表达式||表达式

    左到右

    双目运算符

     

    13

    ?:

    条件运算符

    表达式1?

    表达式2: 表达式3

    右到左

    三目运算符

     

    14

    =

    赋值运算符

    变量=表达式

    右到左

    统称为

    赋值运算符

     

    /=

    除后赋值

    变量/=表达式

     

    *=

    乘后赋值

    变量*=表达式

     

    %=

    取模后赋值

    变量%=表达式

     

    +=

    加后赋值

    变量+=表达式

     

    -=

    减后赋值

    变量-=表达式

     

    <<=

    左移后赋值

    变量<<=表达式

     

    >>=

    右移后赋值

    变量>>=表达式

     

    &=

    按位与后赋值

    变量&=表达式

     

    ^=

    按位异或后赋值

    变量^=表达式

     

    |=

    按位或后赋值

    变量|=表达式

     

    15

    逗号运算符

    表达式,表达式,…

    左到右

    取的是最后的一个表达式的值

     

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

    举例:

    结合以下的几个例子进行分析:

    eg1:

    int  k=7;
    int x=12;
    
    printf("%d
    ",x%=(k%=5));
    
    //先算括号里面的取余运算符  得到结果x%=2;
    //接着再计算x=x%2;  结果为0

    eg2:

    int k=7;
    int x=12;
    
    printf("%d
    ",x%=k-k%5);  //运行结果是2

    eg3:

    int n=10;i=4;
    printf("%d
    ",n%=i+1);  //运行结果是0
    
    //%=(取余赋值运算符)优先级低于+
  • 相关阅读:
    重写JSON的部分用fetch的API
    给网站插入一个百度地图API
    给网站写一个JSON,并远程请求。
    Object的起源及一个函数的标准形式、mechanism分析
    js中关于for 的几个函数及关于构造器或结构体与对象的关系及Arrow functions
    program的发展史及own forecast(后面的才是干货)
    indexof函数分析及其计数字符串函数、正则表达式的例子及分析
    DOM&BOM(source、methods、contents、Application)
    CSS单位分析及CSS颜色表示法、颜色表(调色板)
    一个简单的grid布局基础例子注释及相关分析
  • 原文地址:https://www.cnblogs.com/bingdaocaihong/p/6955775.html
Copyright © 2011-2022 走看看