精华内容
参与话题
问答
  • C语言运算符优先级

    多人点赞 2018-07-28 19:44:04
    转自: ...   C语言运算符优先级   优先级 运算符 名称或含义 使用形式 结合方向 说明 1 [] ...

    转自: http://blog.csdn.net/huangblog/article/details/8271791

     

    C语言运算符优先级

     

    优先级

    运算符

    名称或含义

    使用形式

    结合方向

    说明

    1

    []

    数组下标

    数组名[常量表达式]

    左到右

    --

    ()

    圆括号

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

    --

    .

    成员选择(对象)

    对象.成员名

    --

    ->

    成员选择(指针)

    对象指针->成员名

    --

     

    2

    -

    负号运算符

    -表达式

    右到左

    单目运算符

    ~

    按位取反运算符

    ~表达式

    ++

    自增运算符

    ++变量名/变量名++

    --

    自减运算符

    --变量名/变量名--

    *

    取值运算符

    *指针变量

    &

    取地址运算符

    &变量名

    !

    逻辑非运算符

    !表达式

    (类型)

    强制类型转换

    (数据类型)表达式

    --

    sizeof

    长度运算符

    sizeof(表达式)

    --

     

    3

    /

    表达式/表达式

    左到右

    双目运算符

    *

    表达式*表达式

    %

    余数(取模)

    整型表达式%整型表达式

    4

    +

    表达式+表达式

    左到右

    双目运算符

    -

    表达式-表达式

    5

    << 

    左移

    变量<<表达式

    左到右

    双目运算符

    >> 

    右移

    变量>>表达式

     

    6

    大于

    表达式>表达式

    左到右

    双目运算符

    >=

    大于等于

    表达式>=表达式

    小于

    表达式<表达式

    <=

    小于等于

    表达式<=表达式

    7

    ==

    等于

    表达式==表达式

    左到右

    双目运算符

    !=

    不等于

    表达式!= 表达式

     

    8

    &

    按位与

    表达式&表达式

    左到右

    双目运算符

    9

    ^

    按位异或

    表达式^表达式

    左到右

    双目运算符

    10

    |

    按位或

    表达式|表达式

    左到右

    双目运算符

    11

    &&

    逻辑与

    表达式&&表达式

    左到右

    双目运算符

    12

    ||

    逻辑或

    表达式||表达式

    左到右

    双目运算符

     

    13

    ?:

    条件运算符

    表达式1?

    表达式2: 表达式3

    右到左

    三目运算符

     

    14

    =

    赋值运算符

    变量=表达式

    右到左

    --

    /=

    除后赋值

    变量/=表达式

    --

    *=

    乘后赋值

    变量*=表达式

    --

    %=

    取模后赋值

    变量%=表达式

    --

    +=

    加后赋值

    变量+=表达式

    --

    -=

    减后赋值

    变量-=表达式

    --

    <<=

    左移后赋值

    变量<<=表达式

    --

    >>=

    右移后赋值

    变量>>=表达式

    --

    &=

    按位与后赋值

    变量&=表达式

    --

    ^=

    按位异或后赋值

    变量^=表达式

    --

    |=

    按位或后赋值

    变量|=表达式

    --

     

    15

    逗号运算符

    表达式,表达式,…

    左到右

    --

     

    说明:

        同一优先级的运算符,运算次序由结合方向所决定。
        简单记就是:! > 算术运算符 > 关系运算符 > && > || > 赋值运算符

    展开全文
  • C语言运算符优先级和结合性一览表

    千次阅读 多人点赞 2019-06-19 23:25:57
    C语言运算符优先级和结合性一览表:

    C语言运算符优先级和结合性一览表:

    在这里插入图片描述
    在这里插入图片描述

    展开全文
  • 二:优先级表 实例: 记忆口诀 : 括号成员是老大; // 括号运算符 []() 成员运算符. -> 全体单目排老二; // 所有的单目运算符比如++、 --、 +(正)、 -(负) 、指针运算*、& 乘除余三,加减四; // 这个...

     目录:

    一:引言

    二:优先级表 

    实例:


    记忆口诀 :

    括号成员是老大;      // 括号运算符 []() 成员运算符.  ->
    
    全体单目排老二;      // 所有的单目运算符比如++、 --、 +(正)、 -(负) 、指针运算*、&
    
    乘除余三,加减四;    // 这个"余"是指取余运算即%
    
    移位五,关系六;     // 移位运算符:<< >> ,关系:> < >= <= 等
    
    等与不等排行七;     // 即 == 和 !=
    
    位与异或和位或;     // 这几个都是位运算: 位与(&)异或(^)位或(|)    
    
    "三分天下"八九十;  
    
    逻辑与,逻辑或;    // 逻辑运算符: || 和 &&
    
    十一十二紧挨着;    // 注意顺序: 优先级(||)  底于 优先级(&&) 
    
    条件只比赋值高,    // 三目运算符优先级排到 13 位只比赋值运算符和 "," 高
    
    逗号运算最低级!    //逗号运算符优先级最低 
    

    一:引言

    运算符的优先级确定表达式中项的组合

    这会影响到一个表达式如何计算

    某些运算符比其他运算符有更高的优先级,例如,乘除运算符具有比加减运算符更高的优先级

     

    例如 x = 7 + 3 * 2,在这里,x 被赋值为 13,而不是 20,因为运算符 * 具有比 + 更高的优先级,所以首先计算乘法 3*2,然后再加上 7。

     

    下表将按运算符优先级从高到低列出各个运算符

    具有较高优先级的运算符出现在表格的上面

    具有较低优先级的运算符出现在表格的下面

    在表达式中,较高优先级的运算符会优先被计

    二:优先级表 

    类别  运算符  结合性 
    后缀  () [] -> . ++ - -   从左到右 
    一元  + - ! ~ ++ - - (type)* & sizeof  从右到左 
    乘除  * / %  从左到右 
    加减  + -  从左到右 
    移位  << >>  从左到右 
    关系  < <= > >=  从左到右 
    相等  == !=  从左到右 
    位与 AND  从左到右 
    位异或 XOR  从左到右 
    位或 OR  从左到右 
    逻辑与 AND  &&  从左到右 
    逻辑或 OR  ||  从左到右 
    条件  ?:  从右到左 
    赋值  = += -= *= /= %=>>= <<= &= ^= |=  从右到左 
    逗号  从左到右 

    实例:

    #include <stdio.h>
     
    main()
    {
       int a = 20;
       int b = 10;
       int c = 15;
       int d = 5;
       int e;
     
       e = (a + b) * c / d;      // ( 30 * 15 ) / 5
       printf("(a + b) * c / d 的值是 %d\n",  e );
     
       e = ((a + b) * c) / d;    // (30 * 15 ) / 5
       printf("((a + b) * c) / d 的值是 %d\n" ,  e );
     
       e = (a + b) * (c / d);   // (30) * (15/5)
       printf("(a + b) * (c / d) 的值是 %d\n",  e );
     
       e = a + (b * c) / d;     //  20 + (150/5)
       printf("a + (b * c) / d 的值是 %d\n" ,  e );
      
       return 0;
    }

    运行结果:

    (a + b) * c / d 的值是 90
    ((a + b) * c) / d 的值是 90
    (a + b) * (c / d) 的值是 90
    a + (b * c) / d 的值是 50

     

    展开全文
  • C语言中逗号运算符(,)是优先级最低的运算符。 所谓的优先级是指当有许多运算符在一起的时候,谁先执行的问题。例如:1+2*3,先执行加号运算符还是先执行乘号运算符。 赋值运算符(=)是优先级较低的运算符,但...

    在C语言中逗号运算符(,)是优先级最低的运算符。

    所谓的优先级是指当有许多运算符在一起的时候,谁先执行的问题。例如:1+2*3,先执行加号运算符还是先执行乘号运算符。

    赋值运算符(=)是优先级较低的运算符,但逗号运算符的优先级低于赋值运算符(=)。

    逗号运算符还有以下这些特点:

    • 从左向右执行表达式。即(i+1, i*2, i-3)这个表达式先计算最左边的i+1,然后是i*2,最后是i-3。
    • 将最后一个表达式的值作为结果。即(i+1, i*2, i-3)这个表达式以 i-3 这个表达式的结果作为整个表达式的结果。

    例子1:

    printf("%d", (1,2,3));

    打印结果:

    3

    分析:

    逗号运算符从左向右执行表达式,且以最后一个表达式的值作为最终结果,所以结果是3。

    例子2:

    int i = 0;
    printf("%d", (i = 1, i * 3));

    打印结果:

    3

    分析:由于逗号运算符的优先级低于赋值运算符,且逗号运算的值是从左向右执行表达式,所以先执行 i=1,然后执行 i*3,然后用i*3的值作为整个表达式的值,所以结果是3。

     

    展开全文
  • C语言运算符优先级

    2017-07-20 22:10:26
    C语言运算符优先级
  • C语言运算符优先级

    2019-08-01 10:40:32
    运算符优先级 在一个表达式中可能包含多个有不同运算符连接起来的、具有不同数据类型的数据对象;由于表达式有多种运算,不同的结合顺序可能得出不同结果甚至出现错误运算错误,因为当表达式中含多种运算时,必须按...
  • C语言运算符优先级

    2018-03-17 10:50:41
    C语言运算符是说明特定操作的符号。C语言是面向过程的高级语言,其运算丰富,除了控制语句(如for循环,switch判断等)和输入输出语句外,C语言的数据处理部分用到了大量的运算符,通过这些运算符,实现对数据的处理...
  • c语言运算符优先级

    2018-11-27 17:57:38
    #include &lt;stdio.h&gt; int main(){ printf("%d\n",3&amp;7+15); return 0; } 打印结果为2,说明+的优先级高于&amp;
  • c语言-运算符优先级

    2019-08-21 16:03:41
    优先级 运算符 名称或含义 使用形式 结合方向 说明 1 [] 数组下标 数组名[整型表达式] 左到右 ...
  • c语言运算符优先级

    2016-01-16 12:49:07
    c语言运算符优先级 C语言运算符优先级 优先级 运算符 名称或含义 使用形式 结合方向 说明 1 [] 数组下标 数组名[常量表达式] 左到右 -- () 圆括号 (表达式)/函数名...
  • [ ]下标运算符;->指向结构体成员运算符;. 结构体成员运算符。 2级(右结合)  “ ! ”逻辑非运算符;“ ~ ”按位取反运算符;“ ++ ”前缀增量运算符;“ -- ”前缀减量运算符;  “ - ”负号运算符;(类型)类型...
  • C语言运算符优先级

    2019-12-20 19:10:58
    |优先级顺序| 运算符的种类 | |附加说明| |结合方向| |-1-|-一元运算符-| 逻辑非!求反- ++ – sizeof 从右到左 |2 | 算术运算符 | * / % 高于+ - 从左到右 |3| 关系运算符 | < ...
  • c语言运算符优先级

    2014-02-15 18:21:55
    C语言运算符优先级 优先级 运算符 名称或含义 使用形式 结合方向 说明 1 [] 数组下标 数组名[常量表达式] 左到右 --...
  • C语言运算符优先级

    2011-07-25 09:26:31
     条件运算符优先级高于赋值运算符 ,低于关系运算符和算术运算符。 条件运算符的结合方向为“自右至左”。 算术运算符>关系运算符>条件运算符>赋值运算符! > 算术运算符 > 关系运算符 > && > || > 赋值运算符 ...
  • C语言-运算符优先级

    2020-07-23 08:45:47
    1.C语言中只有一个三目运算符; 2.所有双目运算符中只有赋值运算符的结合方向是从右往左; 3.对于优先级:算术运算符 > 关系运算符 > 逻辑运算符 > 赋值运算符。逻辑运算符中“逻辑非 !”除外; 4.同一...
  • C语言优先级

    千次阅读 多人点赞 2019-06-04 10:37:40
    C语言优先级 | | | |–|--|
  • C语言规定了运算符优先级和结合性。在表达式求值时,先按运算符的优先级别高低次序执行,例如先乘除后加减。C语言还规定了各种运算符的结合方向,众所周知的是,算术运算符的结合方式为“自左向右”,即先左后右,...
  • 运算符优先级-C语言运算符优先级

空空如也

1 2 3 4 5 ... 20
收藏数 15,767
精华内容 6,306
关键字:

c语言优先级

c语言 订阅