書籍資訊
- 書名:《C程式設計語言》(第 2 版)
- 作者:Brian W. Kernighan & Dennis M. Ritchie (C 語言創始人)
- 地位:C 語言標準定義者親寫,公認的「聖經」級權威教材。
內容涵蓋
- 基礎概念:變量、常數、型別、運算子
- 控制流:if-else、switch、迴圈、break/continue
- 函數與程式結構:模組化、遞歸、標頭檔、靜態變量
- 指標與陣列:指標算術、多維陣列、命令列參數、指標函數
- 結構體:定義、陣列、指標、自我引用、表格查找
- 輸入輸出:標準 I/O、格式化、檔案存取、錯誤處理
- UNIX 系統介面:檔案描述符、系統呼叫、目錄操作、進程控制
- 標準庫總覽:
<stdio.h>, <stdlib.h>, <string.h>, <math.h> 等
為何必讀
- 語言設計者視角,精準定義語言語義與未定義行為邊界。
- 範例精煉實用,多為實際系統程式碼片段(如
printf, malloc, qsort 簡化實現)。
- 附錄 A 給出完整語法摘要,附錄 B 標準庫速查,附錄 C 列出與 C89 差異。
- 薄而精(約 270 頁),適合反覆研讀而非一次性閱讀。
閱讀建議
- 先有基礎程式設計經驗(任何語言),再啟動此書。
- 第 5 章(指標與陣列)是核心難點,必須動手實驗每個範例。
- 第 8 章(UNIX 介面)若非系統程式開發者可略讀,但理解檔案描述符與標準 I/O 關係極有價值。
- 配合現代編譯器(GCC/Clang -std=c11 -Wall -Wextra)編譯書中程式,觀察警告與行為差異。
經典語錄
「C 是一門不龐大的語言,也不需要厚厚的書來描述它。」(序言)
無論你是初學者還是資深工程師,K&R 都是案頭必備的參考書,它定義了 C 語言的靈魂。