首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> 關於C語言

C語言運算子、表達式與語句基礎總結

     編輯:關於C語言

運算子分類

類別運算子
算術+ - * / % ++ --
賦值= += -= *= /= %=
逗號,
關係< > <= >= == !=
邏輯&& || !
條件? :
位元邏輯~ & | ^
位移<< >>

優先序核心順序 (高→低)

  1. () [] -> .
  2. ++ -- (後綴) sizeof (型別)
  3. ++ -- (前綴) + - ! ~ (一元)
  4. * / %
  5. + - (二元)
  6. << >>
  7. < > <= >=
  8. == !=
  9. &
  10. ^
  11. |
  12. &&
  13. ||
  14. ? :
  15. = += -= ... (賦值,右結合)
  16. , (逗號)

註:逗號運算子優先序最低,賦值次之。

表達式類型與值

  • 賦值表達式:值 = 左值賦值後的值(如 a = 5 值為 5)。
  • 算術表達式:值 = 運算結果。
  • 關係/邏輯表達式:值 = 1 (真) 或 0 (假)。
  • 逗號表達式:值 = 最後一個子表達式的值。

語句分類

  1. 宣告語句:int a;、int a=1, b=2;
  2. 表達式語句:a = b + c;、func(); (以分號結尾)
  3. 控制語句:if, switch, while, for, do-while, break, continue, goto, return
  4. 複合語句:{ ... } (區塊)
  5. 空語句:; (如 while(ready());)

良好編碼習慣

  • 複雜表達式加括號明確優先序,勿依賴記憶。
  • 避免在同一語句多次修改同一變數(如 a = a++ + ++a,未定義行為)。
  • 邏輯運算子短路特性:&& 左側假則不算右側,|| 左側真則不算右側。
  • 條件運算子 cond ? a : b 兩分支型別需相容。
  • 位元運算僅用於無號整數或位遮罩,避免負數移位未定義行為。

運算子、表達式、語句是 C 程式的骨架,熟練掌握其優先序、副作用、型別轉換規則,能寫出正確、高效、可維護的代碼。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved