程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C >> 關於C >> [注意]C 運算符優先級 口訣 易錯點

[注意]C 運算符優先級 口訣 易錯點

編輯:關於C
C運算符優先級!   優先級 運算符 名稱或含義 使用形式 結合方向 說明 1 [] 數組下標 數組名[常量表達式] 左到右 () 圓括號 (表達式)/函數名(形參表) . 成員選擇(對象) 對象.成員名 -> 成員選擇(指針) 對象指針->成員名 2 - 負號運算符 -表達式 右到左 單目運算符 (類型) 強制類型轉換 (數據類型)表達式 ++ 自增運算符 ++變量名/變量名++ 單目運算符 -- 自減運算符 --變量名/變量名-- 單目運算符 * 取值運算符 *指針變量 單目運算符 & 取地址運算符 &變量名 單目運算符 ! 邏輯非運算符 !表達式 單目運算符 ~ 按位取反運算符 ~表達式 單目運算符 sizeof 長度運算符 sizeof(表達式) 3 / 除 表達式/表達式 左到右 雙目運算符 * 乘 表達式*表達式 雙目運算符 % 余數(取模) 整型表達式/整型表達式 雙目運算符 4 + 加 表達式+表達式 左到右 雙目運算符 - 減 表達式-表達式 雙目運算符 5 << 左移 變量<<表達式 左到右 雙目運算符 >> 右移 變量>>表達式 雙目運算符 6 > 大於 表達式>表達式 左到右 雙目運算符 >= 大於等於 表達式>=表達式 雙目運算符 < 小於 表達式<表達式 雙目運算符 <= 小於等於 表達式<=表達式 雙目運算符 7 == 等於 表達式==表達式 左到右 雙目運算符 != 不等於 表達式!= 表達式 雙目運算符 8 & 按位與 表達式&表達式 左到右 雙目運算符 9 ^ 按位異或 表達式^表達式 左到右 雙目運算符 10 | 按位或 表達式|表達式 左到右 雙目運算符 11 && 邏輯與 表達式&&表達式 左到右 雙目運算符 12 || 邏輯或 表達式||表達式 左到右 雙目運算符 13 ?: 條件運算符 表達式1? 表達式2:表達式3 右到左 三目運算符 14 = 賦值運算符 變量=表達式 右到左 /= 除後賦值 變量/=表達式 *= 乘後賦值 變量*=表達式 %= 取模後賦值 變量%=表達式 += 加後賦值 變量+=表達式 -= 減後賦值 變量-=表達式 <<= 左移後賦值 變量<<=表達式 >>= 右移後賦值 變量>>=表達式 &= 按位與後賦值 變量&=表達式 ^= 按位異或後賦值 變量^=表達式 |= 按位或後賦值 變量|=表達式 15 , 逗號運算符 表達式,表達式,… 左到右 從左向右順序運算 說明:         同一優先級的運算符,運算次序由結合方向所決定   一些容易出錯的優先級問題   上表中,優先級同為1 的幾種運算符如果同時出現,那怎麼確定表達式的優先級呢?這是很多初學者迷糊的地方。下表就整理了這些容易出錯的情況: wKioL1Y-7SWC2rc4AAJHHolg3W4790.jpg       優先級口訣   括號成員第一;         括號運算符[]() 成員運算符.  -> 全體單目第二;         所有的單目運算符比如++ -- +(正) -(負) 指針運算*& 乘除余三,加減四;      這個"余"是指取余運算即% 移位五,關系六;       移位運算符:<< >> ,關系:> < >= <= 等 等於(與)不等排第七;   即== != 位與異或和位或;       這幾個都是位運算: 位與(&)異或(^)位或(|) "三分天下"八九十;  邏輯或跟與;           邏輯運算符:|| 和 && 十二和十一;           注意順序:優先級(||)  底於 優先級(&&) 條件高於賦值,          三目運算符優先級排到 13 位只比賦值運算符和","高 逗號運算級最低!       逗號運算符優先級最低  
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved