精华内容
下载资源
问答
  • 一个非法表达式:如下 main() { int i = 10; i = i-- - --i * ( i = -3 ) * i++ + ++i; printf( "i = %d\n", i ); } 在VC下编译为4: i = ((i--) - ((--i) * ( i = -3 ) * (i++))) + (++i) ; 在...

    一个非法表达式:如下

    main()
    {
    	int	i = 10;
    
    
    	i = i-- - --i * ( i = -3 ) * i++ + ++i;
    	printf( "i = %d\n", i );
    }

    在VC下编译为4:

    i = ((i--) - ((--i) * ( i = -3 ) * (i++))) +  (++i)  ;


    在TC下编译为21:

    i = (i = -3);
    i = ++i;
    i = --i;
    i = i - i * i * i + i;



    s





    s

    s

    s

    s

    s

    s

    s

    展开全文
  • c语言表达式优先级中左结合 含义

    千次阅读 2012-03-08 17:03:37
    if((!pSectorBuff && !pSectorInfoBuff) || dwNumSectors != 1) {  RETAILMSG(1, (TEXT("Invalid parameters!\n")));  return FALSE;...如上 :显示&&进行运算, 得到一个值, 然后这个值...11级优先级(左结合) &&逻

         if((!pSectorBuff && !pSectorInfoBuff) || dwNumSectors != 1) {
            RETAILMSG(1, (TEXT("Invalid parameters!\n")));
            return FALSE;
        }

    如上 :显示&&进行运算, 得到一个值,   然后这个值进行||运算

    11级优先级(左结合) &&逻辑与运算符。 12级优先级(左结合) ||逻辑或运算符。

     

     

    附录优先级

    1级优先级(左结合) () 圆括号;[]下标运算符;->指向结构体成员运算符;. 结构体成员运算符。 2级优先级(右结合) !逻辑非运算符;~按位取反运算符;++前缀增量运算符;--前缀减量运算符;+正号运算符;-负号运算符;(类型)类型转换运算符;*指针运算符;&地址运算符;sizeof长度运算符。 3级优先级(左结合) *乘法运算符;/除法运算符;%取余运算符。 4级优先级(左结合) +加法运算符;-减法运算符。 5级优先级(左结合) <<左移运算符;>>右移运算符。 6级优先级(左结合) <、<=、>、>=关系运算符。 7级优先级(左结合) ==等于运算符;!=不等于运算符。 8级优先级(左结合) &按位与运算符。 9级优先级(左结合) ^按位异或运算符。 10级优先级(左结合) |按位或运算符。 11级优先级(左结合) &&逻辑与运算符。 12级优先级(左结合) ||逻辑或运算符。 13级优先级(右结合) ? :条件运算符。 14级优先级(右结合) =、 +=、 -=、 *=、 /=、 %=、 &=、 ^=、 |=、 <<=、 >>=赋值运算符。 15级优先级(左结合) ,逗号运算符。
    展开全文
  • C语言表达式 优先级 运算符 名称或含义 使用形式 结合方向 说明 1 [] 数组下标 数组名[常量表达式...

      C语言运算符优先级排列如下:

    优先级

    运算符

    名称或含义

    使用形式

    结合方向

    说明

    1

    []

    数组下标

    数组名[常量表达式]

    左到右

    --

    ()

    圆括号

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

    --

    .

    成员选择(对象)

    对象.成员名

    --

    ->

    成员选择(指针)

    对象指针->成员名

    --

    2

    -

    负号运算符

    -表达式

    右到左

    单目运算符

    ~

    按位取反运算符

    ~表达式

    ++

    自增运算符

    ++变量名/变量名++

    --

    自减运算符

    --变量名/变量名--

    *

    取值运算符

    *指针变量

    &

    取地址运算符

    &变量名

    !

    逻辑非运算符

    !表达式

    (类型)

    强制类型转换

    (数据类型)表达式

    --

    sizeof

    长度运算符

    sizeof(表达式)

    --

    3

    /

    表达式/表达式

    左到右

    双目运算符

    *

    表达式*表达式

    %

    余数(取模)

    整型表达式%整型表达式

    4

    +

    表达式+表达式

    左到右

    双目运算符

    -

    表达式-表达式

    5

    << 

    左移

    变量<<表达式

    左到右

    双目运算符

    >> 

    右移

    变量>>表达式

    6

    大于

    表达式>表达式

    左到右

    双目运算符

    >=

    大于等于

    表达式>=表达式

    小于

    表达式<表达式

    <=

    小于等于

    表达式<=表达式

    7

    ==

    等于

    表达式==表达式

    左到右

    双目运算符

    !=

    不等于

    表达式!= 表达式

    8

    &

    按位与

    表达式&表达式

    左到右

    双目运算符

    9

    ^

    按位异或

    表达式^表达式

    左到右

    双目运算符

    10

    |

    按位或

    表达式|表达式

    左到右

    双目运算符

    11

    &&

    逻辑与

    表达式&&表达式

    左到右

    双目运算符

    12

    ||

    逻辑或

    表达式||表达式

    左到右

    双目运算符

    13

    ?:

    条件运算符

    表达式1?

    表达式2: 表达式3

    右到左

    三目运算符

    14

    =

    赋值运算符

    变量=表达式

    右到左

    --

    /=

    除后赋值

    变量/=表达式

    --

    *=

    乘后赋值

    变量*=表达式

    --

    %=

    取模后赋值

    变量%=表达式

    --

    +=

    加后赋值

    变量+=表达式

    --

    -=

    减后赋值

    变量-=表达式

    --

    <<=

    左移后赋值

    变量<<=表达式

    --

    >>=

    右移后赋值

    变量>>=表达式

    --

    &=

    按位与后赋值

    变量&=表达式

    --

    ^=

    按位异或后赋值

    变量^=表达式

    --

    |=

    按位或后赋值

    变量|=表达式

    --

    15

    逗号运算符

    表达式,表达式,…

    左到右

    --

    1. C语言运算符中,逻辑非(!)优先级为2,比算数运算符还要高,而逻辑与(&&)和逻辑或(||)的优先级分别为11和12,低于关系运算符。所以,直接用逻辑运算符这个整体和其他类别的运算符做优先级比较是不恰当的。而Python语言的三个逻辑运算符的优先级是相邻的,逻辑非、逻辑与、逻辑或,依次降低。
    2. C语言中,>、>=、<、<=这四个关系运算符的优先级比另外两个关系运算符==、!=高,而在Python语言中,这六者的优先级是相同的。通过下面的C语言程序验证一下。
    printf("%d \n", 8 == 8 >= 1); // C语言代码
    

      运行结果为0,说明先计算的是8 >= 1。可见>=比==的优先级高。
      因此,不能简单地把C语言和Python语言的运算符优先级等价。

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

    2019-05-05 21:38:37
    C语言运算符优先级 C语言运算符优先级 优先级 运算符 名称或含义 使用形式 结合方向 说明 1 [] 数组下标 数组名[常量表达式] 左到右 -- () 圆括号 (表达式)/函数名(形参表) -- ...


    C语言运算符优先级

    优先级

    运算符

    名称或含义

    使用形式

    结合方向

    说明

    1

    []

    数组下标

    数组名[常量表达式]

    左到右

    --

    ()

    圆括号

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

    --

    .

    成员选择(对象)

    对象.成员名

    --

    ->

    成员选择(指针)

    对象指针->成员名

    --

     

    2

    -

    负号运算符

    -表达式

    右到左

    单目运算符

    ~

    按位取反运算符

    ~表达式

    ++

    自增运算符

    ++变量名/变量名++

    --

    自减运算符

    --变量名/变量名--

    *

    取值运算符

    *指针变量

    &

    取地址运算符

    &变量名

    !

    逻辑非运算符

    !表达式

    (类型)

    强制类型转换

    (数据类型)表达式

    --

    sizeof

    长度运算符

    sizeof(表达式)

    --

     

    3

    /

    表达式/表达式

    左到右

    双目运算符

    *

    表达式*表达式

    %

    余数(取模)

    整型表达式%整型表达式

    4

    +

    表达式+表达式

    左到右

    双目运算符

    -

    表达式-表达式

    5

    << 

    左移

    变量<<表达式

    左到右

    双目运算符

    >> 

    右移

    变量>>表达式

     

    6

    大于

    表达式>表达式

    左到右

    双目运算符

    >=

    大于等于

    表达式>=表达式

    小于

    表达式<表达式

    <=

    小于等于

    表达式<=表达式

    7

    ==

    等于

    表达式==表达式

    左到右

    双目运算符

    =

    不等于

    表达式!= 表达式

     

    8

    &

    按位与

    表达式&表达式

    左到右

    双目运算符

    9

    ^

    按位异或

    表达式^表达式

    左到右

    双目运算符

    10

    |

    按位或

    表达式|表达式

    左到右

    双目运算符

    11

    &&

    逻辑与

    表达式&&表达式

    左到右

    双目运算符

    12

    ||

    逻辑或

    表达式||表达式

    左到右

    双目运算符

     

    13

    ?:

    条件运算符

    表达式1?

    表达式2: 表达式3

    右到左

    三目运算符

     

    14

    =

    赋值运算符

    变量=表达式

    右到左

    --

    /=

    除后赋值

    变量/=表达式

    --

    *=

    乘后赋值

    变量*=表达式

    --

    %=

    取模后赋值

    变量%=表达式

    --

    +=

    加后赋值

    变量+=表达式

    --

    -=

    减后赋值

    变量-=表达式

    --

    <<=

    左移后赋值

    变量<<=表达式

    --

    >>=

    右移后赋值

    变量>>=表达式

    --

    &=

    按位与后赋值

    变量&=表达式

    --

    ^=

    按位异或后赋值

    变量^=表达式

    --

    |=

    按位或后赋值

    变量|=表达式

    --

     

    15

    逗号运算符

    表达式,表达式,…

    左到右

    --

    说明:

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


     

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

    2020-04-30 10:03:06
    C语言运算符优先级 优先级 运算符 名称或含义 使用形式 结合方向 说明 1 [] 数组下标 数组名[常量表达式...
  • C语言算符优先级

    2019-03-08 18:54:47
    C语言优先级 优先级 运算符 名称或含义 使用形式 结合方向 说明 1 [] 数组下标 数组名[整型表达式] ...
  • 本篇文章是对C语言中运算符的优先级进行了详细的分析介绍需要的朋友参考下 每当想找哪个运算符优先级高时很多时候总是想找的就没有真让人气愤现在终于有 个我个人觉得非常全的分享给大家欢迎拍砖 C语言运算符优先级 ...
  • C语言符号优先级

    2015-07-11 16:25:08
    1.C语言符号优先级 作者:林生2010 2.C语言运算符优先级 详细列表 作者:姜南(Slyar) 优先级 运算符 名称或含义 使用形式 结合方向 说明 1 [] 数组下标 ...
  • C语言运算符优先级(超详细)

    万次阅读 多人点赞 2019-03-08 14:52:02
    C语言运算符优先级 优先级 运算符 名称或含义 使用形式 结合方向 说明 1 [] 数组下标 数组名[常量...
  • C语言运算符优先级

    2019-10-03 19:39:21
    1.C语言运算符优先级优先级 运算符 名称或含义 使用形式 结合方向 说明 1 [] 数组下标 数组名[常量表达式] 左到右 括号相关 () ...
  • 附录 2 C 语言中的运算符及其优先级附录 2 C 语言中的运算符及其优先级优先级 运算符 名称或含义 使用形式 结合方向 说明[] 数组下标 数组名 [ 常量表达式 ](表达式)/ 函数名() 圆括号1 ...
  • c语言运算优先级

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

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,689
精华内容 675
关键字:

c语言表达式优先级

c语言 订阅