C语言中算数运算符,关系运算符,逻辑运算符的优先级别

2024-11-13 22:09:53
推荐回答(4个)
回答1:

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

回答2:

1级优先级 左结合

  () 圆括号

  [] 下标运算符

  -> 指向结构体成员运算符

  . 结构体成员运算符

  2级优先级 右结合

  ! 逻辑非运算符

  ~ 按位取反运算符

  ++ 自增运算符

  -- 自减运算符

  - 负号运算符

  (类型) 类型转换运算符

  * 指针运算符

  & 地址与运算符

  sizeof 长度运算符

  3级优先级 左结合

  * 乘法运算符

  / 除法运算符

  % 取余运算符

  4级优先级 左结合

  + 加法运算符

  - 减法运算符

  5级优先级 左结合

  << 左移运算符

  >> 右移运算符

  6级优先级 左结合

  <、<=、>、>= 关系运算符

  7级优先级 左结合

  == 等于运算符

  != 不等于运算符

  8级优先级 左结合

  & 按位与运算符

  9级优先级 左结合

  ^ 按位异或运算符

  10级优先级 左结合

  | 按位或运算符

  11级优先级 左结合

  && 逻辑与运算符

  12级优先级 左结合

  || 逻辑或运算符

  13级优先级 右结合

  ? : 条件运算符

  14级优先级 右结合

  = += -= *= /= %= &= ^= |= <<= >>= 全为赋值运算符

  15级优先级 左结合

  , 逗号运算符

  优先级从上到下依次递减,最上面具有最高的优先级,逗号操作符具有最低的优先级。

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/hejianhua/archive/2008/12/29/3638541.aspx

回答3:

运算高于关系高于逻辑高于付值

回答4:

去看一下教材,谭浩强 第三版