第一階段:入門語法與工具 (2-4 週)
- 首選教材: 《C程式設計語言》(K&R) 第2版 —— 簡潔權威,配合官方習題集;或譚浩強《C語言程式設計》(第5/6版) —— 中文詳盡、例題豐富,適合國內考試體系。
- 輔助視頻: B站/慕課網:
→ 「鄭大C語言」/「浙大翁恺C語言」MOOC(學術規範)
→ 「小甲魚C語言」(趣味入門)
→ 「C語言中文網」配套視頻(知識點碎片化) - 開發環境: 不要用 Turbo C 2.0/VC6.0!推薦:
→ VS Code + GCC (MinGW-w64/MSYS2) / Clang 輕量跨平台
→ CLion (JetBrains) 專業 IDE,學生免費
→ Visual Studio 2022 Community Windows 原生最強
→ Code::Blocks 輕量適合老機器 - 必做動作: 每節課例題親手敲入、編譯、運行、修改、觀察輸出變化;章節習題 100% 完成;建立「錯題筆記本」。
第二階段:核心難點突破 (4-8 週)
- 指標與記憶體: 畫記憶體圖理解:指標變數、指向變數/陣列/函式/指標的指標、`malloc/free` 配對、野指標、記憶體洩漏、棧 vs 堆。
- 字串與標準庫: 手寫 `strlen/strcpy/strcat/strcmp/strstr`;熟練 `` `` `` `` `` `` `` `` `` `` `` `` `` ``。
- 結構體/聯合/位域/對齊: 手算結構體大小、偏移量、位域分配規則;實作鏈結串列、二叉樹、哈希表節點。
- 檔案 IO 與預處理: 文字/二進制模式、`fseek/ftell/rewind`、格式化讀寫、宏定義技巧、條件編譯、頭檔防重複包含守衛。
第三階段:資料結構與演算法 C 语言實戰 (8-12 週)
- 教材:《資料結構與演算法分析:C語言描述》(Mark Allen Weiss) / 《大話資料結構》(程杰)。
- 必會實作:動態陣列、單/雙向鏈結串列、棧/佇列、二叉樹 (BST/AVL/紅黑)、堆、圖 (鄰接表/矩陣)、DFS/BFS、最短路徑、最小生成樹、排序 (快排/合併/堆/基數)、查找 (二分/哈希/Trie)。
- 刷題平台:LeetCode (C 語言模式)、Luogu、Codeforces、AtCoder,專注「資料結構」與「演算法」標籤。
第四階段:專案落地與領域拓展 (持續)
- 系統程式:簡易 Shell、HTTP Server (epoll/kqueue/IOCP)、記憶體分配器、並發線程池。
- 嵌入式:STM32/ESP32 裸機/RTOS (FreeRTOS) 開發、驅動程式、通訊協議 (UART/I2C/SPI/CAN/MQTT)。
- 開源貢獻:挑選感興趣的 C 專案 (Redis、Nginx、SQLite、Linux Kernel、FFmpeg),從文檔修正、測試用例、Issue 修復切入。
黃金法則
不寫代碼不算學會。 讀十遍書不如敲一遍碼;不改錯不算懂;不畫圖不算透徹;不重構不算精進。