| 分類 | 關鍵字 | 典型大小 | 格式字串 |
| 整數 | char, short, int, long, long long | 1/2/4/8 bytes | %d, %hd, %ld, %lld |
| 無號整數 | unsigned 前綴 | 同上 | %u, %hu, %lu, %llu |
| 浮點數 | float, double, long double | 4/8/16 bytes | %f, %lf, %Lf |
| 字元 | char | 1 byte | %c |
| 布林 (C99) | _Bool / bool | 1 byte | %d (0/1) |
常量 vs 變量:const 修飾只讀變數,#define 宏常數(編譯期替換),字面常數(100, 'a', "str")
三、輸入輸出基礎
// 輸出
printf("格式字串", 參數...); // 返回輸出字元數
puts("字串"); // 自動換行
// 輸入
scanf("格式字串", &變數...); // 返回成功匹配項數
getchar(); // 讀單字元
fgets(buf, n, stdin); // 讀整行(安全)
注意:scanf 留殘留換行符,混用 getchar/fgets 需清理緩衝區。
四、運算子完整分級(優先級高→低)
- 後綴:
() [] -> . ++ --
- 一元:
++ -- + - ! ~ * & sizeof (type)
- 算術:
* / % → + -
- 移位:
<< >>
- 關係:
< <= > >=
- 相等:
== !=
- 位元 AND:
&
- 位元 XOR:
^
- 位元 OR:
|
- 邏輯 AND:
&&(短路)
- 邏輯 OR:
||(短路)
- 三元:
? :(右結合)
- 賦值:
= += -= *= /= %= &= ^= |= <<= >>=(右結合)
- 逗號:
,(序列點)
結合性:多數左結合,一元/三元/賦值為右結合。
五、流程控制三大結構
1. 選擇結構
// if 五種形式
if (cond) stmt;
if (cond) stmt; else stmt;
if (cond) stmt; else if (cond) stmt; ... else stmt;
if (cond) { block; } // 推薦永遠用大括號
// 巢狀 if
// switch
switch (expr) {
case const1: stmts; break;
case const2: stmts; break;
default: stmts;
}
// expr 必須整數型,case 必須常數表達式
2. 循環結構
| 類型 | 語法 | 特點 |
| while | while (cond) { body; } | 先判斷,可能零次執行 |
| do-while | do { body; } while (cond); | 後判斷,至少一次 |
| for | for (init; cond; inc) { body; } | 計數循環首選,三部分可省略 |
跳轉語句:break (跳出最近循環/switch)、continue (跳過本輪)、goto (慎用)、return (離開函數)
六、核心觀念總結
程式本質 = 資料 + 運算 + 控制
- 資料:型別、變數、常數、結構
- 運算:運算子、函數、運算式
- 控制:順序、選擇、循環、函數調用
掌握這三支柱,即掌握 C 語言核心。進階方向:指標、記憶體管理、檔案 I/O、模組化、並發、系統呼叫。
- 上一篇文章: C 語言動態記憶體管理:malloc/free 實戰與記憶體洩漏防範
- 下一篇文章: C 語言字串複製深度解析:strdup 避免常數區修改陷阱
Copyright ©
程式碼之家 All Rights Reserved