C語言基礎 運算子優先順序

2021-09-25 14:48:02 字數 674 閱讀 5813

例:

#include int main(void)

{char c='k';

int i=1,j=2,k=3;

float x=3e+5,y=0.85;

printf("%d,%d\n", !x*!y, !!!x );

printf("%d,%d\n", x||i&&j-3, i解析:

本例中!x和!y分別為0,!x*!y也為0,故其輸出值為0。由於x為非0,故!!!x的邏輯值為0。

對x|| i&& j-3式,先計算j-3的值為非0,再求i && j-3的邏輯值為1,故x||i&&j-3的邏輯值為

1。對i對於式x+ y||i+j+k由於x+y的值為非0,故整個或表示式的值為1。

運算子優先順序

相同優先順序中,按結合順序計算。大多數運算是從左至右計算,只有三個優先順序是從右至左結合的,它們是單目運算子、條件運算子、賦值運算子。

運算子優先順序口訣:

指標最優,單目運算優於雙目運算。如正負號。

先乘除(模),後加減。

先算術運算,後移位運算,最後位運算。請特別注意:1 << 3 + 2& 7等價於 (1 << (3 + 2))&7.

邏輯運算最後計算。

運算子優先順序 C 運算子優先順序

c 運算子優先順序 優先順序運算子 描述方向1 scope resolution 範圍解析 left to right 2 suffix postfix increment and decrement 字首 字尾遞增和遞減 function call 函式呼叫 array subscripting ...

C語言運算子優先順序

優先順序運算子 名稱或含義 使用形式 結合方向說明1 陣列下標 陣列名 常量表示式 左到右 圓括號 表示式 函式名 形參表 成員選擇 物件 物件.成員名 成員選擇 指標 物件指標 成員名2 負號運算子 表示式 右到左單目運算子 型別 強制型別轉換 資料型別 表示式 自增運算子 變數名 變數名 單目運...

c語言運算子優先順序

優先順序運算子 名稱或含義 使用形式 結合方向說明1 陣列下標 陣列名 常量表示式 左到右 圓括號 表示式 函式名 形參表 成員選擇 物件 物件.成員名 成員選擇 指標 物件指標 成員名2 負號運算子 表示式 右到左單目運算子 型別 強制型別轉換 資料型別 表示式 自增運算子 變數名 變數名 單目運...