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

C 語言基礎語法精要:語句、運算符與型別系統速查手冊

     編輯:C 語言入門

基本控制語句

類別語句備註
迴圈while (cond) stmt先判斷
do stmt while (cond);至少執行一次
for (init; cond; step) stmt最常用
選擇if (cond) stmt [else stmt]
switch (expr) { case val: ... default: ... }需 break 防貫穿
goto label;慎用,可跳出多層迴圈

運算符完整分類與優先級(高→低)

  1. 後綴:() [] -> . ++ --
  2. 一元:++ -- + - ! ~ * & sizeof (type)
  3. 算術:* / % → + -
  4. 移位:<< >>
  5. 關係:< <= > >=
  6. 相等:== !=
  7. 位元 AND:&
  8. 位元 XOR:^
  9. 位元 OR:|
  10. 邏輯 AND:&&(短路)
  11. 邏輯 OR:||(短路)
  12. 三元:cond ? expr1 : expr2
  13. 賦值:= += -= *= /= %= &= ^= |= <<= >>=
  14. 逗號:expr1, expr2(值為 expr2)

關鍵型別與布爾語義

  • C 無 bool(C99 _Bool,<stdbool.h> 提供 bool、true/false)。
  • 任何非 0 值視為真,0 為假:if (-1) 進入分支。
  • 關係/邏輯運算結果:真→1,假→0(int r = 5 > 3; // r==1)。

自增/自減副作用陷阱

int i = 1;
int a = i++ + ++i;  // 未定義行為!同一序列點多次修改 i
int b = i++;        // 獨立語句安全
int c = ++i;        // 獨立語句安全

嚴禁在單一表達式中對同一變數多次修改或修改後又讀取。

逗號運算子實例

int a = 1, b = 2, c;
c = (a += 2, b *= 3, a + b); // 依序執行,c = 3 + 6 = 9

常見編譯警告建議

gcc -Wall -Wextra -Wpedantic -Wshadow -Wconversion -std=c11
  • -Wshadow:變數遮蔽
  • -Wconversion:隱式型別轉換可能溢位

快速查閱表:整數字面值後綴

後綴型別範例
無int → long → long long123
u/U無號對應型別123u
l/L至少 long123L
ll/LL至少 long long123LL
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved