![](/c3/1027042807.jpg)
出版社:機械工業出版社 ISBN:9787111617945 商品編碼:1027042807 品牌:文軒 出版時間:2019-04-01 代碼:69 作者:布萊恩·克尼漢(BrianW.Kernigh
"![](http://img14.360buyimg.com/cms/jfs/t1/203358/9/26405/134589/62f4a34cEcdefae53/84e082ed3b03dbc0.jpg) 作 者:[美]布萊恩·克尼漢(Brian W. Kernighan),丹尼斯·裡奇(Dennis 著 徐寶文 李志 譯 譯 定 價:69 出 版 社:機械工業出版社 出版日期:2019年04月01日 頁 數:276 裝 幀:平裝 ISBN:9787111617945 ●出版者的話中文版序譯者序校譯者簡介第2版前言第1版前言引言第1章 導言11.1 入門11.2 變量與算術表達式31.3 for語句81.4 符號常量91.5 字符輸入/輸出91.5.1 文件復制101.5.2 字符計數111.5.3 行計數131.5.4 單詞計數141.6 數組151.7 函數171.8 參數—傳值調用191.9 字符數組201.10 外部變量與作用域22第2章 類型、運算符與表達式272.1 變量名272.2 數據類型及長度272.3 常量282.4 聲明312.5 算術運算符322.6 關繫運算符與邏輯運算符322.7 類型轉換332.8 自增運算符與自減運算符372.9 位運算符382.10 賦值運算符與表達式402.11 條件表達式412.12 運算符優先級與求值次序42第3章 控制流453.1 語句與程序塊453.2 if-else語句453.3 else-if語句463.4 switch語句483.5 while循環與for循環493.6 do-while循環523.7 break語句與continue語句533.8 goto語句與標號54第4章 函數與程序結構574.1 函數的基本知識574.2 返回非整型值的函數604.3 外部變量624.4 作用域規則684.5 頭文件694.6 靜態變量704.7 寄存器變量714.8 程序塊結構724.9 初始化724.10 遞歸734.11 C預處理器754.11.1 文件包含754.11.2 宏替換764.11.3 條件包含78第5章 指針與數組795.1 指針與地址795.2 指針與函數參數815.3 指針與數組835.4 地址算術運算865.5 字符指針與函數895.6 指針數組以及指向指針的指針925.7 多維數組955.8 指針數組的初始化975.9 指針與多維數組975.10 命令行參數985.11 指向函數的指針1025.12 復雜聲明105第6章 結構1116.1 結構的基本知識1116.2 結構與函數1136.3 結構數組1156.4 指向結構的指針1196.5 自引用結構1216.6 表查找1256.7 類型定義(typedef)1276.8 聯合1286.9 位字段130第7章 輸入與輸出1337.1 標準輸入/輸出1337.2 格式化輸出—printf函數1357.3 變長參數表1367.4 格式化輸入—scanf函數1377.5 文件訪問1407.6 錯誤處理—stderr和exit1437.7 行輸入和行輸出1447.8 其他函數1457.8.1 字符串操作函數1457.8.2 字符類別測試和轉換函數1467.8.3 ungetc函數1467.8.4 命令執行函數1467.8.5 存儲管理函數1477.8.6 數學函數1477.8.7 隨機數發生器函數148第8章 UNIX繫統接口1498.1 文件描述符1498.2 低級I/O—read和write1508.3 open、creat、close和unlink1518.4 隨機訪問—lseek1538.5 實例—fopen和getc函數的實現1548.6 實例—目錄列表1578.7 實例—存儲分配程序162附錄A 參考手冊167A.1 引言167A.2 詞法規則167A.2.1 記號167A.2.2 注釋167A.2.3 標識符167A.2.4 關鍵字168A.2.5 常量168A.2.6 字符串字面值170A.3 語法符號170A.4 標識符的含義170A.4.1 存儲類171A.4.2 基本類型171A.4.3 派生類型172A.4.4 類型限定符172A.5 對像和左值172A.6 轉換173A.6.1 整型提升173A.6.2 整型轉換173A.6.3 整數和浮點數173A.6.4 浮點類型173A.6.5 算術類型轉換173A.6.6 指針和整數174A.6.7 void175A.6.8 指向void的指針175A.7 表達式175A.7.1 指針生成176A.7.2 初等表達式176A.7.3 後綴表達式177A.7.4 運算符179A.7.5 強制類型轉換180A.7.6 乘法類運算符180A.7.7 加法類運算符181A.7.8 移位運算符181A.7.9 關繫運算符182A.7.10 相等類運算符182A.7.11 按位與運算符183A.7.12 按位異或運算符183A.7.13 按位或運算符183A.7.14 邏輯與運算符183A.7.15 邏輯或運算符183A.7.16 條件運算符184A.7.17 賦值表達式184A.7.18 逗號運算符185A.7.19 常量表達式185A.8 聲明185A.8.1 存儲類說明符186A.8.2 類型說明符187A.8.3 結構和聯合聲明188A.8.4 枚舉191A.8.5 聲明符191A.8.6 聲明符的含義192A.8.7 初始化195A.8.8 類型名197A.8.9 typedef198A.8.10 類型等價199A.9 語句199A.9.1 帶標號語句199A.9.2 表達式語句199A.9.3 復合語句200A.9.4 選擇語句200A.9.5 循環語句201A.9.6 跳轉語句201A.10 外部聲明202A.10.1 函數定義202A.10.2 外部聲明204A.11 作用域與連接204A.11.1 詞法作用域205A.11.2 連接205A.12 預處理205A.12.1 三字符序列206A.12.2 行連接206A.12.3 宏定義和擴展206A.12.4 文件包含208A.12.5 條件編譯209A.12.6 行控制210A.12.7 錯誤信息生成210A.12.8 pragma210A.12.9 空指令210A.12.10 預定義名字211A.13 語法211附錄B 標準庫219B.1 輸入與輸出: 219B.1.1 文件操作220B.1.2 格式化輸出221B.1.3 格式化輸入223B.1.4 字符輸入/輸出函數224B.1.5 直接輸入/輸出函數225B.1.6 文件定位函數225B.1.7 錯誤處理函數226B.2 字符類別測試:226B.3 字符串函數:227B.4 數學函數:228B.5 實用函數:229B.6 診斷:232B.7 可變參數表:232B.8 非局部跳轉:232B.9 信號:233B.10 日期與時間函數:234B.11 與具體實現相關的: 和 236附錄C 變更小結237索引241 在計算機發展的歷史上,沒有哪一種程序設計語言像C語言這樣應用如此廣泛。 本書原著即為C語言的設計者之一Dennis M.Ritchie 和有名的計算機科學家 Brian W.Kernighan合著的一本介紹C語言的權威經典著作。 我們現在見到的大量論述C語言程序設計的教材和專著均以此書為藍本。原著第1版中介紹的C語言成為後來廣泛使用的C語言版本--標準C的基礎。人們熟知的"hello,world"程序就是由本書首次引入的,現在,這一程序已經成為所有程序設計語言入門的第一課。原著第2版根據1987年制定的ANSI C標準做了適當的修訂,引入了近期新的語言形式,並增加了新的示例。通過簡潔的描述、典型的示例,作者全面、繫統、準確地講述了C語言的各個特性以及程序設計的基本方法。 對於計算機從業人員來說,本書是一本推薦閱讀的程序設計語言方面的參考書。 [美]布萊恩·克尼漢(Brian W. Kernighan),丹尼斯·裡奇(Dennis 著 徐寶文 李志 譯 譯 布萊恩· W. 克尼漢(Brian W. Kernighan) 貝爾實驗室計算科學研究中心高級研究人員,有名的計算機科學家。他參加了UNIX 繫統、C語言、AWK語言和許多其他繫統的開發,同時出版了許多在計算機領域具有影響的著作。[美]丹尼斯· M. 裡奇(Dennis M.Ritchie) 1967年加入貝爾實驗室,曾任該實驗室計算科學研究中心繫統軟件研究部主任。他和Ken L.Thompson共同設計並實現的C語言改變了程序設計語言發展的軌跡,是程序設計語言發展過程中的一個重要裡程碑。與此同時,他們兩人還設計並實現了UNIX 操作繫統。正是由於這兩項巨大貢獻,Dennis M.Ritchi等 第2版前言The C Programming Language, Second Edition自從1978年本書第1版出版以來,計算機領域經歷了一場革命。大型計算機的功能越來越強大,而個人計算機的性能也可以與十多年前的大型機相媲美。在此期間,C語言也在悄悄地演進,其發展早已超出了它僅僅作為UNIX操作繫統的編程語言的初衷。C語言普及程度的逐漸增加以及該語言本身的發展,加之很多組織開發出了與其設計有所不同的編譯器,所有這一切都要求對C語言有一個比本書第1版更準確、更適應其發展的定義。1983年,美國國家標準協會(ANSI)成立了一個委員會,其目標是制定“一個無歧義性的且與具體機器無關的C語言定義”,而同時又要保持C語言原有的“精神”。結果產生了C語言的ANSI標準。ANSI標準規範了一些在本書第1版中提及但沒有具體描述的結構,特別是結構賦值和枚舉。該標準還提供了一種新的函數聲明形式,允許在使等 ![](https://img10.360buyimg.com/imgzone/jfs/t1/147514/7/5440/73116/5f34a3beE3ba58783/f5b2391383f5625c.jpg)
" |