「考二級,譚浩強足夠;做開發,譚浩強請繞道。」
| 維度 | 考試導向(全國計算機等級考試二級) | 實務導向(工程開發/系統程式) |
|---|---|---|
| 推薦教材 | 譚浩強《C程序設計》、官方指定教材、歷年真題集 | 《C Primer Plus》、《C專家編程》、《C缺陷與陷阱》、CSAPP、APUE |
| 學習重點 | 語法細節、輸出預測、選擇題技巧、規避編譯器差異 | 記憶體模型、未定義行為、效能優化、工程規範、除錯技巧 |
| 編譯器 | VC++ 6.0(考試環境)、Turbo C | GCC/Clang (最新版)、MSVC (現代版本)、交叉編譯工具鏈 |
| 程式風格 | void main()、conio.h、clrscr()、getch() | int main()、標準庫、可移植性、錯誤處理、靜態分析零警告 |
| 指標深度 | 基礎指標運算、簡單鏈結串列 | 多重指標、函式指標、動態記憶體管理、智慧指標模擬 |
| 資料結構 | 陣列、簡單鏈結串列、棧佇列基礎 | 紅黑樹、B-tree、Lock-free 資料結構、記憶體池、SIMD 優化 |
void main、conio.h)、忽略錯誤處理、未說明未定義行為、缺乏現代 C(C99/C11/C17/C23)特性| 考試思維 | 工程思維 |
|---|---|
| 程式能跑出正確答案即可 | 程式要正確、健壯、可維護、效能好、安全 |
| 忽略警告、忽略回傳值檢查 | 零警告、全路徑錯誤處理、契約式設計 |
| 固定大小陣列、魔術數字 | 動態配置、常數定義、配置檔/環境變數 |
| 單檔案幾百行 | 模組化、分層架構、介面抽象、單元測試 |
| 除錯靠 printf | GDB/Valgrind/AddressSanitizer/靜態分析/核心傾印 |
「譚浩強讓你拿到入場券,《C Primer Plus》讓你進入大門,《C專家編程》讓你站穩腳跟,CSAPP/APUE 讓你成為建築師。」