基本信息
書 名 C++程式設計(工業和信息化普通高等教育“十二五”規劃教材立項項目)
叢 書 名 21世紀高等學校計算機規劃教材——高校系列
標準書號 ISBN 978-7-115-24852-7
編目分類 TP312
主編 姚琳
譯 者 --
責任編輯 武恩玉
開 本 16 開
印 張 21.5
字 數 564 千字
頁 數 334 頁
裝 幀 平裝
版 次 第1版第1次
初版時間 2011年3月
本 印 次 2011年3月
首 印 數 -- 冊
定 價 38.00 元
內容提要
本書根據教育部非計算機專業計算機基礎課程教學指導分委員會提出的《高等學校非計算機專業計算機基礎課程教學基本要求》中的關於“程式設計”的課程教學要求編寫。全書以面向對象的編程思想為主線,主要講解程式設計基礎知識、類與對象的基本概念、繼承與多態、輸入/輸出流以及泛型程式設計等內容。
本書可作為高等院校“程式設計”課程的教材使用,也可作為學習程式設計的自學參考書和培訓教材。
目錄
第1章 程式設計方法和C++語言概述 1
1.1 程式編寫過程 1
1.2 面向過程程式設計方法 2
1.3 面向對象程式設計方法 3
1.4 C++語言的發展 5
1.5 C++語言程式的開發過程 7
1.6 一個簡單的程式 7
本章小結 10
習題 10
第2章 數據類型、運算符和表達式 11
2.1 數據類型 11
2.2 常量和變數 13
2.2.1 C++的符號系統 13
2.2.2 C++的常量 14
2.2.3 C++的變數 17
2.3 運算符和表達式 18
2.3.1 算術運算符和算術表達式 18
2.3.2 賦值運算符和賦值表達式 20
2.3.3 關係運算符和關係表達式 21
2.3.4 邏輯運算符和邏輯表達式 22
2.3.5 位運算符和位運算表達式 24
2.3.6 條件運算符和條件表達式 27
2.3.7 其他運算符 27
2.4 數據類型轉換 29
2.4.1 自動類型轉換 29
2.4.2 強制類型轉換 30
2.4.3 賦值表達式的類型轉換 31
2.5 基本輸入/輸出 31
2.5.1 標準輸入流和標準輸出流 31
2.5.2 I/O流的格式控制 32
2.6 C++的語句類型 34
2.6.1 說明性語句 35
2.6.2 可執行語句 35
本章小結 37
習題 38
第3章 C++控制語句 40
3.1 順序結構程式設計 40
3.2 分支結構程式設計 42
3.2.1 if分支語句 42
3.2.2 if語句的嵌套 48
3.2.3 switch語句 51
3.3 循環結構程式設計 53
3.3.1 while語句 53
3.3.2 do...while語句 55
3.3.3 for語句 58
3.3.4 3種循環語句的比較 61
3.3.5 循環嵌套 62
3.3.6 break和continue語句 63
3.4 程式舉例 66
本章小結 68
習題 69
第4章 數組 72
4.1 概述 71
4.2 一維數組 72
4.2.1 一維數組定義和初始化 72
4.2.2 一維數組元素的引用 74
4.3 二維數組 75
4.3.1 二維數組定義和初始化 75
4.3.2 二維數組元素的引用 76
4.4 字元數組與字元串 77
4.4.1 字元數組的定義和初始化 77
4.4.2 字元數組的引用 78
4.5 數組套用舉例 80
4.5.1 一維數組套用舉例 80
4.5.2 二維數組套用舉例 81
4.5.3 字元數組套用舉例 83
4.5.4 綜合套用舉例 84
本章小結 85
習題 85
第5章 函式與預處理 91
5.1 概述 91
5.1.1 函式簡介 91
5.1.2 函式的種類 92
5.2 函式定義及調用 93
5.2.1 函式的定義 93
5.2.2 函式的調用 95
5.2.3 函式參數傳遞與返回值 96
5.2.4 函式的嵌套調用 100
5.2.5 函式原型聲明 102
5.3 C++中的特殊函式 103
5.3.1 重載函式 103
5.3.2 內聯函式 105
5.3.3 具有默認參數值的函式 106
5.4 函式模板 107
5.4.1 函式模板的定義 107
5.4.2 重載函式模板 108
5.5 局部變數和全局變數 109
5.5.1 局部作用域和局部變數 109
5.5.2 全局作用域和全局變數 111
5.6 變數的生存期和存儲類別 113
5.6.1 變數的生存期 113
5.6.2 變數的存儲類別 113
5.7 編譯預處理 117
5.7.1 宏定義 118
5.7.2 檔案包含 120
5.7.3 條件編譯 121
本章小結 121
習題 121
第6章 指針和引用 127
6.1 指針的概念 127
6.1.1 指針和指針變數 127
6.1.2 指針變數的定義 127
6.1.3 指針的基本運算 128
6.1.4 指針作為函式參數 132
6.2 指針與數組 135
6.2.1 指針與一維數組 135
6.2.2 指針與二維數組 138
6.2.3 指向字元串的指針變數 140
6.2.4 指針數組 143
6.2.5 多級指針 146
6.3 指針和函式 147
6.3.1 指針型函式 147
6.3.2 用函式指針調用函式 148
6.3.3 用指向函式的指針作函式參數 150
6.3.4 帶參數的main()函式 151
6.4 動態存儲分配 152
6.4.1 記憶體的動態分配 152
6.4.2 動態記憶體分配操作符 153
6.5 引用 154
6.5.1 引用的概念 154
6.5.2 引用的操作 155
6.5.3 不能被定義引用的情況 156
6.5.4 函式參數中引用的傳遞 157
6.5.5 用引用返回多個值 158
6.5.6 用函式返回引用 159
6.5.7 const引用 159
本章小結 161
習題 162
第7章 其他自定義數據類型 168
7.1 結構體類型 168
7.1.1 結構體類型的定義 168
7.1.2 結構體類型變數的定義及其初始化 169
7.1.3 結構體類型的使用 171
7.2 枚舉類型 175
7.3 共用體類型 178
本章小結 180
習題 181
第8章 類與對象 185
8.1 類的概念 185
8.2 類的定義 186
8.3 對象的定義 187
8.4 類的成員函式 188
8.5 類的訪問屬性 191
8.6 對象的使用 192
8.6.1 對象指針 194
8.6.2 對象引用 194
8.6.3 this指針 194
8.6.4 對象數組 195
8.6.5 普通對象做函式參數 196
8.6.6 對象指針做函式參數 197
8.6.7 對象引用做函式參數 199
8.7 構造函式 201
8.8 析構函式 202
8.9 拷貝構造函式 204
8.10 淺拷貝和深拷貝 205
8.11 靜態成員 206
8.11.1 靜態成員數據 206
8.11.2 靜態成員函式 208
8.12 友元 210
8.12.1 友元函式 210
8.12.2 友元類 211
8.13 常對象 212
8.14 常成員 212
8.14.1 常成員數據 213
8.14.2 常成員函式 213
8.15 組合關係 214
8.16 類模板 216
本章小結 218
習題 218
第9章 繼承與派生 223
9.1 繼承和派生的概念 223
9.2 繼承的實現 224
9.2.1 派生類的定義 224
9.2.2 派生類的構成 226
9.2.3 繼承的訪問控制 228
9.3 派生類的構造函式和析構函式 230
9.3.1 派生類的構造函式 230
9.3.2 派生類的析構函式 232
9.4 多繼承中的二義性與虛函式 233
9.4.1 多繼承中的二義性 233
9.4.2 虛基類 235
本章小結 236
習題 237
第10章 多態性與虛函式 242
10.1 多態性 242
10.1.1 多態性的概念 242
10.1.2 多態的實現——聯編 243
10.2 繼承中的靜態聯編 243
10.2.1 派生類對象調用同名函式 243
10.2.2 通過基類指針調用同名函式 245
10.3 虛函式和運行時的多態 247
10.3.1 虛函式 247
10.3.2 虛函式的使用 248
10.3.3 虛析構函式 249
10.4 純虛函式和抽象類 251
10.4.1 純虛函式 251
10.4.2 抽象類 252
10.4.3 套用實例 252
本章小結 255
習題 255
第11章 運算符重載 260
11.1 運算符重載的概念 260
11.2 運算符重載的規則和語法 261
11.3 “++”、“??”運算符的重載 265
11.4 賦值運算符“=”的重載 268
11.5 插入提取運算符“<<”“>>”的重載 271
11.6 類型轉換運算符的重載 272
本章小結 274
習題 274
第12章 標準模板庫 275
12.1 標準模板庫概述 275
12.2 容器 276
12.2.1 向量 276
12.2.2 列表 279
12.2.3 棧 280
12.2.4 集合 282
12.2.5 映射 284
本章小結 285
習題 285
第13章 輸入/輸出流 287
13.1 流 287
13.2 檔案流 288
13.2.1 數據的層次 288
13.2.2 檔案和流 290
13.2.3 檔案操作 290
13.3 順序檔案操作 294
13.3.1 建立順序檔案 294
13.3.2 讀取順序訪問檔案中的數據 297
13.3.3 更新順序訪問檔案 298
13.4 隨機訪問檔案 299
13.4.1 建立隨機訪問檔案 299
13.4.2 向隨機訪問檔案中隨機地寫入數據 301
13.4.3 從隨機訪問檔案中順序地讀取數據 302
本章小結 304
習題 305
第14章 異常處理 308
14.1 程式的出錯處理 308
14.2 異常及異常處理 310
14.2.1 異常及其特點 310
14.2.2 異常處理方法 310
14.3 C++異常處理機制 311
14.3.1 C++異常處理的基本過程 311
14.3.2 C++異常處理的其他形式 315
14.4 用exception類處理異常 319
14.4.1 C++的exception類 319
14.4.2 用戶自定義類的對象傳遞異常 321
本章小結 324
習題 324
附錄A C++語言中運算符的優先權和結合性 327
附錄B ASCII碼錶 329
附錄C C++常用函式 330
參考文獻 334