注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當(dāng)前位置: 首頁出版圖書科學(xué)技術(shù)計(jì)算機(jī)/網(wǎng)絡(luò)軟件與程序設(shè)計(jì)C和C++經(jīng)典著作:C和指針+C專家編程+C陷阱與缺陷(共3冊)

C和C++經(jīng)典著作:C和指針+C專家編程+C陷阱與缺陷(共3冊)

C和C++經(jīng)典著作:C和指針+C專家編程+C陷阱與缺陷(共3冊)

定 價(jià):¥217.00

作 者: (美)肯尼斯·里科,(美),彼得·范德林登,(美)安德魯·凱尼格
出版社: 人民郵電出版社
叢編項(xiàng):
標(biāo) 簽: 暫缺

購買這本書可以去


ISBN: 9787115005380 出版時(shí)間: 2020-11-01 包裝:
開本: 16開 頁數(shù): 891 字?jǐn)?shù):  

內(nèi)容簡介

  9787115522689 C和指針 99.00 9787115521323 C專家編程 69.00 9787115521279 C 陷阱與缺陷 49.00 《C和指針》 《C和指針》提供與C語言編程相關(guān)的全面資源和深入討論。本書通過對指針的基礎(chǔ)知識和高級特性的探討,幫助程序員把指針的強(qiáng)大功能融入到自己的程序中去。全書共18章,覆蓋了數(shù)據(jù)、語句、操作符和表達(dá)式、指針、函數(shù)、數(shù)組、字符串、結(jié)構(gòu)和聯(lián)合等幾乎所有重要的C編程話題。書中給出了很多編程技巧和提示,每章后面有針對性很強(qiáng)的練習(xí),附錄部分則給出了部分練習(xí)的解答?!禖和指針》適合C語言初學(xué)者和初級C程序員閱讀,也可作為計(jì)算機(jī)專業(yè)學(xué)生學(xué)習(xí)C語言的參考。 《C專家編程》 《C專家編程》展示了優(yōu)秀的C程序員所使用的編碼技巧,并專門開辟了一章對C++的基礎(chǔ)知識進(jìn)行了介紹。《C專家編程》對C的歷史、語言特性、聲明、數(shù)組、指針、鏈接、運(yùn)行時(shí)、內(nèi)存以及如何進(jìn)一步學(xué)習(xí)C++等問題進(jìn)行了細(xì)致的講解和深入的分析。本書擷取幾十個實(shí)例進(jìn)行講解,對C程序員具有非常高的實(shí)用價(jià)值?!禖專家編程》可以幫助有一定經(jīng)驗(yàn)的C程序員成為C編程方面的專家;對于C語言功底深厚的程序員,本書可以幫助他們站在C的高度了解和學(xué)習(xí)C++。 《C 陷阱與缺陷》 《C陷阱與缺陷》作者以自己1985年在貝爾實(shí)驗(yàn)室時(shí)發(fā)表的一篇論文為基礎(chǔ),結(jié)合自己的工作經(jīng)驗(yàn)將這篇論文擴(kuò)展成對C程序員具有珍貴價(jià)值的經(jīng)典著作。本書的出發(fā)點(diǎn)不是批判C語言,而是要幫助C程序員繞過編程過程中的陷阱和障礙?!禖陷阱與缺陷》分為8章,分別從詞法陷阱、語法陷阱、語義陷阱、鏈接、庫函數(shù)、預(yù)處理器、可一致性缺陷等幾個方面分析了C編程中可能遇到的問題。最后,作者用一章的篇幅給出了若干具有實(shí)用價(jià)值的建議?!禖陷阱與缺陷》適合有一定經(jīng)驗(yàn)的C程序員閱讀學(xué)習(xí),即便你是C編程高手,本書也應(yīng)該成為你的案頭必備圖書。

作者簡介

  《C和指針》 Kenneth Reek是美國Rochester工業(yè)學(xué)院計(jì)算機(jī)系教授,有幾十年年的C編程教學(xué)經(jīng)驗(yàn),并憑借《C和指針》一書獲得了ACUU的高度評價(jià)?!禖專家編程》 Peter van der Linden,Sun公司編譯器和OS核心開發(fā)團(tuán)隊(duì)成員,世界知名的專家級C程序員,擁有多年的C開發(fā)實(shí)戰(zhàn)經(jīng)驗(yàn),對C/C++語言有深入理解?!禖 陷阱與缺陷》 Andrew Koenig,AT&T大規(guī)模程序研發(fā)部(前貝爾實(shí)驗(yàn)室)成員。他從1986年開始從事C語言的研究,1977年加入貝爾實(shí)驗(yàn)室。他編寫了一些早期的類庫,并在1988年組織召開了第一個具有相當(dāng)規(guī)模的C++會議。在ISO/ANSI C++委員會成立的1989年,他就加入了該委員會,并一直擔(dān)任項(xiàng)目編輯。他已經(jīng)發(fā)表了100多篇C++方面的論文,并在Addsion-Wesley出版了C Traps and Pitfalls 一書(中文版名為《C缺陷與陷阱》,由人民郵電出版社出版),還應(yīng)邀到世界各地演講。Anderw Koenig不僅有著多年的C++開發(fā)、研究和教學(xué)經(jīng)驗(yàn),而且還親身參與了C++的演化和變革,對C++的變化和發(fā)展產(chǎn)生了重要的影響。

圖書目錄

《C和指針》


第1章快速上手 1


1.1 簡介 1


1.2 補(bǔ)充說明 14


1.3 編譯 14


1.4 總結(jié) 15


1.5 警告的總結(jié) 15


1.6 編程提示的總結(jié) 15


1.7 問題 16


1.8 編程練習(xí) 16


第 2章基本概念 19


2.1 環(huán)境 19


2.2 詞法規(guī)則 21


2.3 程序風(fēng)格 25


2.4 總結(jié) 26


2.5 警告的總結(jié) 26


2.6 編程提示的總結(jié) 26


2.7 問題 27


2.8 編程練習(xí) 28


第3章 數(shù)據(jù) 29


3.1 基本數(shù)據(jù)類型 29


3.2 基本聲明 35


3.3 typedef 38


3.4 常量 38


3.5 作用域 39


3.6 鏈接屬性 41


3.7 存儲類型 43


3.8 static關(guān)鍵字 44


3.9 作用域、存儲類型示例 45


3.10 總結(jié) 46


3.11 警告的總結(jié) 47


3.12 編程提示的總結(jié) 47

 

3.13 問題 48

 

第4章 語句 51

 

4.1 空語句 51

 

4.2 表達(dá)式語句 51

 

4.3 代碼塊 52

 

4.4 if語句 52

 

4.5 while語句 53

 

4.6 for語句 55

 

4.7 do語句 56

 

4.8 switch語句 57

 

4.9 goto語句 60

 

4.10 總結(jié) 61

 

4.11 警告的總結(jié) 62

 

4.12 編程提示的總結(jié) 62

 

4.13 問題 62

 

4.14 編程練習(xí) 63

 

第5章 操作符和表達(dá)式 67

 

5.1 操作符 67

 

5.2 布爾值 78

 

5.3 左值和右值 79

 

5.4 表達(dá)式求值 80

 

5.5 總結(jié) 85

 

5.6 警告的總結(jié) 86

 

5.7 編程提示的總結(jié) 86

 

5.8 問題 86

 

5.9 編程練習(xí) 88

 

第6章 指針 91

 

6.1 內(nèi)存和地址 91

 

6.2 值和類型 92

 

6.3 指針變量的內(nèi)容 93

 

6.4 間接訪問操作符 94

 

6.5 未初始化和非法的指針 95

 

6.6 NULL指針 96

 

6.7 指針、間接訪問和左值 97

 

6.8 指針、間接訪問和變量 97

 

6.9 指針常量 98

 

6.10 指針的指針 98

 

6.11 指針表達(dá)式 99

 

6.12 實(shí)例 104

 

6.13 指針運(yùn)算 107

 

6.14 總結(jié) 111

 

6.15 警告的總結(jié) 112

 

6.16 編程提示的總結(jié) 112

 

6.17 問題 112

 

6.18 編程練習(xí) 115

 

第7章 函數(shù) 117

 

7.1 函數(shù)定義 117

 

7.2 函數(shù)聲明 119

 

7.3 函數(shù)的參數(shù) 122

 

7.4 ADT和黑盒 124

 

7.5 遞歸 127

 

7.6 可變參數(shù)列表 134

 

7.7 總結(jié) 136

 

7.8 警告的總結(jié) 137

 

7.9 編程提示的總結(jié) 137

 

7.10 問題 138

 

7.11 編程練習(xí) 138

 

第8章 數(shù)組 141

 

8.1 一維數(shù)組 141

 

8.2 多維數(shù)組 154

 

8.3 指針數(shù)組 162

 

8.4 總結(jié) 165

 

8.5 警告的總結(jié) 166

 

8.6 編程提示的總結(jié) 166

 

8.7 問題 166

 

8.8 編程練習(xí) 170

 

第9章 字符串、字符和字節(jié) 175

 

9.1 字符串基礎(chǔ) 175

 

9.2 字符串長度 175

 

9.3 不受限制的字符串函數(shù) 177

 

9.4 長度受限的字符串函數(shù) 179

 

9.5 字符串查找基礎(chǔ) 180

 

9.6 高級字符串查找 182

 

9.7 錯誤信息 183

 

9.8 字符操作 184

 

9.9 內(nèi)存操作 185

 

9.10 總結(jié) 186

 

9.11 警告的總結(jié) 187

 

9.12 編程提示的總結(jié) 187

 

9.13 問題 187

 

9.14 編程練習(xí) 188

 

第 10章結(jié)構(gòu)和聯(lián)合 195


第 11章動態(tài)內(nèi)存分配 221

 

第 12章使用結(jié)構(gòu)和指針 235


第 13章高級指針話題 257


第 14章預(yù)處理器 279

 

第 15章輸入/輸出函數(shù) 297


第 16章標(biāo)準(zhǔn)函數(shù)庫 327


第 17章經(jīng)典抽象數(shù)據(jù)類型 355


第 18章運(yùn)行時(shí)環(huán)境 387


附錄 部分問題和編程練習(xí)的答案 405



《C專家編程》

 

第1章C:穿越時(shí)空的迷霧 1

 

1.1 C語言的史前階段 1

 

1.2 C語言的早期體驗(yàn) 4

 

1.3 標(biāo)準(zhǔn)I/O庫和C預(yù)處理器 5

 

1.4 K&RC 8

 

1.5 今日之ANSIC 10

 

1.6 它很棒,但它符合標(biāo)準(zhǔn)嗎 12

 

1.7 編譯限制 14

 

1.8 ANSIC標(biāo)準(zhǔn)的結(jié)構(gòu) 15

 

1.9 閱讀ANSIC標(biāo)準(zhǔn),尋找樂趣和裨益 18

 

1.10 “安靜的改變”究竟有多少安靜 22

 

1.11 輕松一下——由編譯器定義的Pragmas效果 25

 

第 2章這不是Bug,而是語言特性 27

 

2.1 這關(guān)語言特性何事,在Fortran里這就是Bug呀 27

 

2.2 多做之過 29

 

2.3 誤做之過 36

 

2.4 少做之過 43

 

2.5 輕松一下——有些特性確實(shí)就是Bug 51

 

第3章 分析C語言的聲明 53

 

3.1 只有編譯器才會喜歡的語法 54

 

3.2 聲明是如何形成的 56

 

3.3 優(yōu)先級規(guī)則 61

 

3.4 通過圖表分析C語言的聲明 63

 

3.5 typedef可以成為你的朋友 65

 

3.6 typedefintx[10]和#definexint[10]的區(qū)別 66

 

3.7 typedefstructfoo{...foo;}的含義 67

 

3.8 理解所有分析過程的代碼段 69

 

3.9 輕松一下——驅(qū)動物理實(shí)體的軟件 71

 

第4章 令人震驚的事實(shí):數(shù)組和指針并不相同 79

 

4.1 數(shù)組并非指針 79

 

4.2 我的代碼為什么無法運(yùn)行 79

 

4.3 什么是聲明,什么是定義 80

 

4.4 使聲明與定義相匹配 84

 

4.5 數(shù)組和指針的其他區(qū)別 84

 

4.6 輕松一下——回文的樂趣 85

 

第5章 對鏈接的思考 89

 

5.1 函數(shù)庫、鏈接和載入 89

 

5.2 動態(tài)鏈接的優(yōu)點(diǎn) 92

 

5.3 函數(shù)庫鏈接的5個特殊秘密 95

 

5.4 警惕Interpositioning 99

 

5.5 產(chǎn)生鏈接器報(bào)告文件 104

 

5.6 輕松一下——看看誰在說話:挑戰(zhàn)Turing測驗(yàn) 105

 

第6章 運(yùn)動的詩章:運(yùn)行時(shí)數(shù)據(jù)結(jié)構(gòu) 111

 

6.1 a.out及其傳說 112

 

6.2 段 113

 

6.3 操作系統(tǒng)在a.out文件里干了些什么 115

 

6.4 C語言運(yùn)行時(shí)系統(tǒng)在a.out里干了些什么 117

 

6.5 當(dāng)函數(shù)被調(diào)用時(shí)發(fā)生了什么:過程活動記錄 119

 

6.6 auto和static關(guān)鍵字 123

 

6.7 控制線程 124

 

6.8 setjmp和longjmp 124

 

6.9 UNIX中的堆棧段 126

 

6.10 MS-DOS中的堆棧段 126

 

6.11 有用的C語言工具 127

 

6.12 輕松一下——卡耐基·梅隆大學(xué)的編程難題 130

 

6.13 只適用于高級學(xué)員閱讀的材料 132


第7章 對內(nèi)存的思考 133


7.1 Intel80x86系列 133


7.2 Intel80x86內(nèi)存模型以及它的工作原理 137


7.3 虛擬內(nèi)存 141


7.4 cache存儲器 144


7.6 內(nèi)存泄漏 149


7.7 總線錯誤 153


7.8 輕松一下——“ThingKing”和“頁面游戲” 159


第8章 為什么程序員無法分清萬圣節(jié)和圣誕節(jié) 163


8.1 Portzebie度量衡系統(tǒng) 163


8.2 根據(jù)位模式構(gòu)筑圖形 164

 

8.3 在等待時(shí)類型發(fā)生了變化 166

 

8.4 原型之痛 168

 

8.5 原型在什么地方會失敗 170

 

8.6 不需要按回車鍵就能得到一個字符 173

 

8.7 用C語言實(shí)現(xiàn)有限狀態(tài)機(jī) 177

 

8.8 軟件比硬件更困難 178

 

8.9 如何進(jìn)行強(qiáng)制類型轉(zhuǎn)換,為何要進(jìn)行類型強(qiáng)制轉(zhuǎn)換 181

 

8.10 輕松一下——國際C語言混亂代碼大賽 183

 

第9章 再論數(shù)組 193

 

9.1 什么時(shí)候數(shù)組與指針相同 193

 

9.2 為什么會發(fā)生混淆 194

 

9.3 為什么C語言把數(shù)組形參當(dāng)作指針 199

 

9.4 數(shù)組片段的下標(biāo) 202

 

9.5 數(shù)組和指針可交換性的總結(jié) 203

 

9.6 C語言的多維數(shù)組 203

 

9.7 輕松一下——軟件/硬件平衡 209

 

第 10章再論指針 213

 

第 11章你懂得C,所以C++不在話下 235

 

附錄A 程序員工作面試的秘密 265

 

 

《C陷阱與缺陷》

第0章導(dǎo)讀    1

 

第 1章詞法“陷阱” 5

 

1.1 =不同于== 6

 

1.2 &和|不同于&&和|| 8

 

1.3 詞法分析中的“貪心法” 8

 

1.4 整型常量 10

 

1.5 字符與字符串 11

 

第 2章語法“陷阱” 15

 

2.1 理解函數(shù)聲明 15

 

2.2 運(yùn)算符的優(yōu)先級問題 19

 

2.3 注意作為語句結(jié)束標(biāo)志的分號 24

 

2.4 switch語句 26

 

2.5 函數(shù)調(diào)用 28

 

2.6 “懸掛”else引發(fā)的問題 28


第3章 語義“陷阱” 33

 

3.1 指針與數(shù)組 33

 

3.2 非數(shù)組的指針 39

 

3.3 作為參數(shù)的數(shù)組聲明 41

 

3.4 避免“舉隅法” 43

 

3.5 空指針并非空字符串 44

 

3.6 邊界計(jì)算與不對稱邊界 45

 

3.7 求值順序 57

 

3.8 運(yùn)算符&&、||和! 59

 

3.9 整數(shù)溢出 61

 

3.10 為函數(shù)main提供返回值 62

 

第4章 鏈接 65

 

4.1 什么是鏈接器 65

 

4.2 聲明與定義 67

 

4.3 命名沖突與static修飾符 69

 

4.4 形參、實(shí)參與返回值 70

 

4.5 檢查外部類型 77

 

4.6 頭文件 80

 

第5章 庫函數(shù) 83

 

5.1 返回整數(shù)的getchar函數(shù) 84

 

5.2 更新順序文件 85

 

5.3 緩沖輸出與內(nèi)存分配 86

 

5.4 使用errno檢測錯誤 88

 

5.5 庫函數(shù)signal 89

 

第6章 預(yù)處理器 93

 

6.1 不能忽視宏定義中的空格 94

 

6.2 宏并不是函數(shù) 94

 

6.3 宏并不是語句 99

 

6.4 宏并不是類型定義 101

 

第7章 可移植性缺陷 103

 

7.1 應(yīng)對C語言標(biāo)準(zhǔn)變更 104

 

7.2 標(biāo)識符名稱的限制 106

 

7.3 整數(shù)的大小 107

 

7.4 字符是有符號整數(shù)還是無符號整數(shù) 108

 

7.5 移位運(yùn)算符 109

 

7.6 內(nèi)存位置0 110

 

7.7 除法運(yùn)算時(shí)發(fā)生的截?cái)唷?11

 

7.8 隨機(jī)數(shù)的大小 113

 

7.9 大小寫轉(zhuǎn)換 113

 

7.10 首先釋放,然后重新分配 115

 

7.11 可移植性問題的一個例子 116

 

第8章 建議與答案 123

 

8.1 建議 124

 

8.2 答案 128

 

附錄A printf、varargs與stdarg 147

 

附錄B Koenig和Moo夫婦訪談 169

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網(wǎng)安備 42010302001612號