複製鏈接
請複製以下鏈接發送給好友

C++程序設計

(2010年清華大學出版社出版的圖書)

鎖定
《C++程序設計》是由閔聯營、何克右主編,2010年清華大學出版社出版的21世紀高等學校規劃教材。該教材可以作為高等院校計算機專業和相關專業程序設計課程的教材和計算機專業面向對象程序設計教材,也可以作為全國計算機等級考試(二級C++)的培訓教材和參考書,還可供各類程序設計培訓班學員和C++語言自學者參考。 [1] 
全書共分13章,從內容上組織為5個部分。第1部分是C++概述;第2部分介紹C++面向過程的程序設計方法,主要包括C++的基本數據類型、程序控制語句、數組和結構體、函數、指針和引用等內容;第3部分作為一個過渡,用一個具體的實例探討了程序設計從過程抽象到數據抽象的轉變;第4部分講述C++面向對象的程序設計方法,包括類和對象、繼承和派生、多態性和虛函數、流類庫等內容;第5部分探討C++支持泛型編程的模板機制和泛型編程的實際應用標準模板庫STL等內容。 [1] 
書    名
C++程序設計
作    者
閔聯營
何克右
類    別
21世紀高等學校規劃教材
出版社
清華大學出版社
出版時間
2010年9月1日
頁    數
392 頁
開    本
16 開
裝    幀
平裝
ISBN
9787302229117
字    數
621千字
CIP核字號
2010100210

C++程序設計成書過程

C++程序設計修訂過程

該教材由閔聯營、何克右主編,劉傳文、伍新華和譚新明參加編寫。具體編寫分工如下:第1、2、5章由閔聯營編寫,第3、4、6章由何克右編寫,第7、10章由譚新明編寫,第8、9、13章由伍新華編寫,第11和12兩章由劉傳文編寫。閔聯營審校全書。 [2] 

C++程序設計出版工作

2010年9月1日,該教材由清華大學出版社出版。 [3] 
出版社工作人員
責任編輯
責任校對
責任印製
魏江江
時翠蘭
孟凡玉 [4] 

C++程序設計內容簡介

該教材是一本介紹C++程序設計的教程。全書共分13章,從內容上組織為5個部分。第1部分是C++概述;第2部分介紹C++面向過程的程序設計方法,主要包括C++的基本數據類型、程序控制語句、數組和結構體、函數、指針和引用等內容;第3部分作為一個過渡,用一個具體的實例探討了程序設計從過程抽象到數據抽象的轉變;第4部分講述C++面向對象的程序設計方法,包括類和對象、繼承和派生、多態性和虛函數、流類庫等內容;第5部分探討C++支持泛型編程的模板機制和泛型編程的實際應用標準模板庫STL等內容。 [1] 

C++程序設計教材目錄

第1章 C++概述 1
1.1 程序設計語言 1
1.1.1 機器語言 1
1.1.2 彙編語言 2
1.1.3 高級語言 2
1.2 算法及算法的表示方法 4
1.2.1 算法的概念 4
1.2.2 算法的表示方法 5
1.3 C++的發展和特點 8
1.3.1 C++的發展 8
1.3.2 C++的特點 9
1.4 C++程序的基本框架 9
1.4.1 最簡單的C++程序 9
1.4.2 結構化程序設計框架 12
1.4.3 面向對象程序設計框架 13
1.5 C++程序的開發過程 15
1.5.1 C++程序開發的一般過程 15
1.5.2 用Visual C++開發C++應用程序的步驟 16
習題 18
第2章 C++數據類型 20
2.1 基本數據類型 20
2.1.1 數據在計算機中的存儲 20
2.1.2 標識符 21
2.1.3 數據類型修飾符 22
2.2 常量和變量 23
2.2.1 常量 23
2.2.2 變量 25
2.3 運算符和表達式 27
2.3.1 算術運算符和算術表達式 27
2.3.2 賦值運算符和賦值表達式 28
2.3.3 關係運算和邏輯運算 29
2.3.4 條件運算符 31
2.3.5 逗號運算符 31
2.3.6 位運算符 32
2.3.7 sizeof運算符 32
2.3.8 運算符優先級與結合性 33
2.3.9 數據類型轉換 34
2.4 數據的輸入和輸出 35
2.4.1 用cout進行輸出 35
2.4.2 用cin進行輸入 36
習題 37
第3章 程序控制語句 38
3.1 選擇語句 38
3.1.1 if語句 38
3.1.2 switch語句 43
3.2 循環語句 45
3.2.1 while語句 45
3.2.2 do語句 47
3.2.3 for語句 48
3.2.4 循環的嵌套 50
3.2.5 break和continue語句 52
3.2.6 goto語句 53
習題 54
第4章 數組和結構體 55
4.1 數組 55
4.1.1 數組的定義和存儲 55
4.1.2 數組元素的引用 57
4.1.3 數組的初始化 58
4.1.4 數組的應用 61
4.2 結構體 70
4.2.1 結構體概述 70
4.2.2 結構體類型變量的定義和引用 71
4.2.3 結構體數組 74
習題 75
第5章 函數 77
5.1 函數概述 77
5.2 函數的定義和調用 79
5.2.1 函數定義的一般形式 79
5.2.2 函數的調用 80
5.2.3 函數原型 82
5.2.4 函數的參數傳遞 83
5.3 函數的嵌套和遞歸 94
5.3.1 函數的嵌套調用 94
5.3.2 函數的遞歸調用 95
5.4 內聯函數 97
5.5 函數重載 98
5.6 變量的作用域和存儲期 101
5.6.1 程序的內存區域 101
5.6.2 局部變量和全局變量 103
5.6.3 變量的存儲期 106
5.6.4 存儲類別小結 110
5.7 預處理命令 112
5.7.1 宏定義命令 112
5.7.2 文件包含命令 113
5.7.3 條件編譯命令 114
習題 116
第6章 指針和引用 117
6.1 指針 117
6.1.1 地址和指針的概念 117
6.1.2 指針的定義和使用 118
6.1.3 指針與數組 124
6.1.4 指針與函數 133
6.1.5 指針與結構體 136
6.1.6 const修飾符和指針 145
6.2 引用 146
6.2.1 引用的概念 146
6.2.2 引用作函數參數 148
6.2.3 引用返回值 149
6.2.4 用const限定引用 151
習題 151
第7章 從過程抽象到數據抽象 153
7.1 從過程抽象到數據抽象 153
7.1.1 集合的實現與使用 153
7.1.2 將集合的實現與使用分開 156
7.1.3 將集合用鏈表實現 159
7.1.4 將集合的數據表示和操作封裝在一起 161
7.2 面向對象程序設計的基本概念和特徵 165
7.2.1 面向對象程序設計的基本概念 165
7.2.2 面向對象程序設計的三大特徵 167
7.2.3 從面向過程的程序設計到面向對象的程序設計 172
習題 175
第8章 類和對象 176
8.1 類的定義 176
8.1.1 類的定義 176
8.1.2 類的數據成員 177
8.1.3 類的成員函數 178
8.1.4 類成員的訪問控制 180
8.2 對象 181
8.2.1 對象的定義和使用 181
8.2.2 對象在內存中的存放 183
8.2.3 this指針 185
8.3 構造函數和析構函數 186
8.3.1 構造函數 186
8.3.2 帶默認參數的構造函數 188
8.3.3 重載構造函數 189
8.3.4 複製構造函數 190
8.3.5 析構函數 194
8.3.6 成員對象的構造和析構 195
8.4 對象數組和對象指針 198
8.4.1 對象數組 198
8.4.2 對象指針 200
8.5 靜態成員 203
8.5.1 靜態數據成員 204
8.5.2 靜態成員函數 205
8.6 友元 206
8.6.1 友元函數 207
8.6.2 友元類 209
8.7 常類型 209
8.7.1 常對象 209
8.7.2 用const修飾的類成員 210
習題 212
第9章 繼承與派生 214
9.1 派生類 214
9.1.1 派生類的定義 214
9.1.2 派生類生成過程 215
9.1.3 派生類的構造函數和析構函數 218
9.2 訪問控制 220
9.2.1 公有繼承 221
9.2.2 私有繼承 222
9.2.3 保護繼承 223
9.3 虛基類 225
9.3.1 多繼承中的二義性問題 225
9.3.2 虛基類的概念 229
9.3.3 虛基類的構造函數 230
習題 234
第10章 多態性 236
10.1 多態性概述 236
10.1.1 靜態聯編 236
10.1.2 動態聯編 238
10.2 運算符重載 240
10.2.1 運算符重載的方法和規則 240
10.2.2 運算符重載為成員函數 244
10.2.3 運算符重載為友元函數 247
10.3 虛函數 248
10.3.1 虛函數的定義及使用 248
10.3.2 動態聯編的一種典型實現方案 254
10.3.3 純虛函數和抽象類 256
10.3.4 虛函數的應用示例 260
習題 264
第11章 模板 265
11.1 模板的概念 265
11.2 函數模板和模板函數 266
11.2.1 函數模板的定義和模板函數的生成 266
11.2.2 函數模板的使用 268
11.2.3 函數模板的特化 270
11.2.4 用函數模板實現基本算法 271
11.3 類模板和模板類 273
11.3.1 類模板的定義 273
11.3.2 類模板的使用 275
11.3.3 類模板的派生 278
11.3.4 類模板的特化 282
11.3.5 string類的使用 285
習題 290
第12章 標準模板庫STL 292
12.1 標準模板庫STL概述 292
12.1.1 STL的發展歷史 292
12.1.2 STL的組成 293
12.2 容器類 295
12.2.1 順序容器 296
12.2.2 關聯容器 313
12.3  STL算法 323
12.3.1 for_each 324
12.3.2 count和count_if 325
12.3.3 copy和remove 327
12.3.4 transform 329
12.4 迭代器 331
12.4.1 迭代器的分類 331
12.4.2 迭代器的特性 335
12.4.3 traits技術 337
12.4.4 與迭代器相關的函數 342
12.4.5 指針與迭代器 343
12.5 函數對象 345
12.5.1 函數對象的概念 345
12.5.2 STL中的函數對象 348
12.6 適配器 349
12.6.1 容器適配器 349
12.6.2 迭代器適配器 355
12.6.3 函數適配器 361
習題 371
第13章 C++的I/O流類庫 372
13.1 C++的流及流類庫 372
13.1.1 C++的流 372
13.1.2 流類庫 372
13.2 格式化I/O 375
13.2.1 用ios類的成員函數進行格式控制 375
13.2.2 使用I/O操縱符進行格式控制 378
13.3 重載I/O運算符 380
13.3.1 重載輸出運算符“<<” 380
13.3.2 重載輸入運算符“>>” 382
13.4 文件流 383
13.4.1 文件的打開和關閉 383
13.4.2 文件的讀寫 386
習題 392
(注:目錄排版順序為從左列至右列 [5] 

C++程序設計教學資源

該教材有配套教材——《C++程序設計習題集和實驗指導》。 [6] 
書名
書號
出版社
出版時間
作者
《C++程序設計習題集和實驗指導》
9787302231325
清華大學出版社
2010.08.01
閔聯營、何克右 [6] 

C++程序設計教材特色

該教材注重理論與實踐相結合,書中所有例題均在VisualC++6.0上運行通過。 [1] 
該教材所有的語法和程序都是依據C++標準介紹的。在教學實踐中作者感到學生對面向對象的基本特徵和概念的理解有一定的困難,因此專門用一章的篇幅介紹了程序設計從過程抽象到數據抽象的轉變,逐步引入面向對象的概念。對於學過C語言而需要學習面向對象程序設計的讀者,可以直接從第7章開始學習。該教材第12章用較大的篇幅對標準模板庫STL的相關知識進行了闡述。 [2] 

C++程序設計作者簡介

閔聯營,男,武漢理工大學計算機學院副教授。 [7] 
何克右,男,武漢理工大學計算機學院教師。 [8] 
參考資料