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

C++程序設計語言(李雁妮)“十一五”

鎖定
《C++程序設計語言(李雁妮)“十一五”》是2009年西安電子科技大學出版社出版的圖書,作者是李雁妮、陳平、王獻青。
書    名
C++程序設計語言(李雁妮)“十一五”
作    者
李雁妮 陳平 王獻青
ISBN
978-7-5606-2151-7
定    價
31.45元
出版社
西安電子科技大學出版社
出版時間
2009-01

目錄

C++程序設計語言(李雁妮)“十一五”內容簡介

本書分三部分,共16章。第一部分對C++語言的基本機制,即對C++語言中用於支持面向過程與面向模塊化程序設計的語言機制進行了較為準確與全面的介紹;第二部分重點介紹了C++支持面向對象與類屬程序設計的各種語言機制,同時,在該部分對C++ 的異常處理機制進行了較為詳盡的介紹;第三部分對C++標準模板庫STL進行了簡要闡述,由於程序一般都要進行字符串與輸入/輸出處理,因此,在該部分重點對標準類庫中的string類和C++的I/O類進行了較具體的介紹。
本書針對計算機專業的本科生編寫。書中注有星號的章節為C++ 中較深入的一些問題,在教學中可視教學時數與教學對象進行適當取捨。本書除作為本科生C++ 程序設計的教材之外,還可供計算機或電子類相關專業的研究生或工程技術人員參考學習。 [1] 

C++程序設計語言(李雁妮)“十一五”目錄

第一部分 C++語言的基本機制
第1章 緒論 2
1.1 C++語言的發展歷史及特點 2
1.1.1 C++語言的發展歷史 2
1.1.2 C++語言的特點 3
1.2 學習C++語言的注意事項 3
1.2.1 如何學習C++ 3
1.2.2 如何使用本教材 4
1.3 C++ 語言中一些重要的程序設計理念 5
小結 7
練習題 7
第2章 C++ 語言概述 8
2.1 C++語言及程序設計範型 8
2.1.1 C++語言的概念 8
2.1.2 程序設計範型 9
2.1.3 第一個C++程序及C++程序結構 9
2.2 過程程序設計範型 10
2.2.1 過程程序設計範型介紹 10
2.2.2 變量和算術運算符 11
2.2.3 條件判斷與循環 12
2.2.4 指針與數組 12
2.3 模塊化程序設計範型 13
2.4 數據抽象 14
2.5 面向對象程序設計範型 17
2.6 類屬/通用程序設計範型 19
小結 21
練習題 21
第3章 類型與聲明 22
3.1 類 型 22
3.2 C++中的基本數據類型 24
3.2.1 布爾類型 24
3.2.2 字符類型 25
3.2.3 整數類型 26
3.2.4 浮點類型 27
3.2.5 C++數據類型存儲量的大小 29
3.3 void類型 30
3.4 枚舉類型 30
3.5 類型的聲明與定義 32
3.5.1 聲明的語法規則 33
3.5.2 C++中的標識符 34
3.5.3 標識符的作用域 35
3.5.4 typedef 35
3.6 類型轉換 36
小結 37
練習題 38 [1] 
第4章 運算符與語句 39
4.1 C++運算符概述 39
4.1.1 算術運算符和自增、自減運算符 40
4.1.2 關係和邏輯運算符 42
4.1.3 位運算符 43
4.1.4 內存申請與釋放運算符new和delete 46
4.1.6 類型轉換運算符 47
4.1.7 C++運算符概覽及其優先級次序 49
4.2 C++語句 50
4.2.1 表達式語句和空語句 51
4.2.2 註釋語句及意義 51
4.2.3 複合語句 52
4.2.4 選擇判斷語句 52
4.2.5 循環語句 57
4.2.6 跳轉語句 62
小結 65
練習題 66
第5章 指針、數組和結構 67
5.1 指針 67
5.1.1 指針與指針變量 67
5.1.2 為什麼要使用指針變量 68
5.1.3 指針變量的聲明與定義 69
5.1.4 指針變量的操作 69
5.1.5 常量零(0) 71
5.2 數組 71
5.2.1 數組的定義與初始化 71
5.2.2 字符串字面值 73
5.3 指向數組的指針 74
5.3.1 指向一維數組的指針 74
5.3.2 指向多維數組的指針 75
5.3.3 取數組元素及數組的遍歷 76
5.4 指向函數的指針 80
5.5 指向void*的指針 81
5.6 常量 82
5.7 引用 85
5.8 結構 88
小結 94
練習題 95
第6章 函數 96
6.1 函數的聲明 98
6.1.1 函數接口/原型聲明 98
6.1.2 函數的定義 98
6.2 函數的參數傳遞 99
6.3 函數的返回值 101
6.4 函數名的過載/重載 102
6.4.1 函數名過載/重載的基本概念 102
6.4.2 重載函數的匹配規則 102
6.4.3 重載函數與函數的返回類型 105
6.4.4 重載與作用域 105 [1] 
6.5 缺省的函數參數值 106
6.6 遞歸 107
6.6.1 遞歸的基本概念 107
6.6.2 遞歸的定義及遞歸函數的編寫模式 108
6.7 參數數目可變的函數 110
6.8 函數指針 114
6.9 綜合示例 115
小結 128
練習題 128
第7章 名字空間與異常處理 129
7.1 模塊與接口的基本概念 129
7.2 名字空間 131
7.2.1 名字空間的基本概念 131
7.2.2 名字空間中的名字解析 132
7.2.3 模塊的多重接口 137
7.3 異常處理 138
7.4 綜合示例 141
小結 146
練習題 147
第8章 源文件和程序 148
8.1 分別編譯 149
8.2 鏈接 149
8.2.1 鏈接與一致性的基本概念 149
8.2.2 頭文件 151
8.2.3 #include指令 152
8.2.4 用户頭文件內容的設計 152
8.3 頭文件的有效使用 154
8.5 程序 158
8.5.1 程序的執行 158
8.5.2 程序的終止 159
小結 159
練習題 160
第二部分 C++的抽象機制
第9章 類與對象 162
9.1 類的基本概念 162
9.2 類中成員 163
9.2.1 類中的成員 163
9.2.2 類的訪問控制 165
9.2.3 類的構造函數 168
9.2.4 類的靜態成員 170
9.2.5 對象的拷貝 173
9.2.6 常量(Const或稱只讀)成員函數 175
9.2.7 對象的自身引用——this 176
9.3 定義有效、高質量的類 178
9.4 對象 180
9.4.1 對象是什麼 180
9.4.2 C++中對象的類別 182
9.4.3 對象的析構——析構函數 183
9.4.5 幾種主要類別對象的構造與析構 184
9.4.6 對象的構造與析構次序 187
9.5 綜合示例 189
小結 195
練習題 196 [1] 
第10章 操作符重載 198
10.1 概述 198
10.2 操作符重載 199
10.2.1 二元操作符的重載 200
10.2.2 一元操作符的重載 201
10.3 類型轉換操作符 202
10.3.2 歧義性(二義性)問題 204
10.4 友員 204
10.5 大型對象 206
10.6 類中應具有的基本操作 207
10.7 幾種特殊操作符的重載 211
10.7.1 下標運算符的重載 211
10.7.2 函數調用操作符的重載 212
10.7.3 指針/指向操作符的重載 214
10.7.4 自增、自減操作符的重載 216
10.7.5 流輸入與流輸出操作符的重載 217
10.8 綜合示例 219
小結 237
練習題 238
第11章 繼承與多態 239
11.1 概述 239
11.2 子類/派生類 240
11.2.1 子類/派生類與繼承的基本概念 240
11.2.2 子類對象的存儲結構 242
11.2.3 子類中的成員 242
11.2.4 子類的構造與析構函數 243
11.2.5 子類對象拷貝 246
11.2.6 public、protected和private繼承 247
11.3 虛函數與多態性 253
11.3.1 類型域 253
11.3.2 虛擬函數 255
11.3.3 抽象基類與實例類 257
11.3.4 多態 259
11.3.5 虛擬的析構函數 261
*11.4 運行時的類型識別 263
11.4.1 dynamic_cast運算符 263
11.4.2 type_id運算符 266
*11.5 指向類成員的指針 266
11.5.1 指向類成員的指針 266
11.5.2 指向類的成員函數指針的應用場合 268
11.6 多重繼承 270
11.7 綜合示例 273
小結 279
練習題 280 [1] 
第12章 模板 283
12.1 概述 283
12.2 類模板 285
12.2.1 類模板的定義 285
12.2.2 類模板參數及其限制 288
12.3 函數模板 289
12.3.1 函數模板的定義 289
12.3.2 函數模板的重載 290
12.3.3 函數調用的匹配原則 292
12.3.4 編寫函數模板時的注意事項 292
12.4 模板與繼承 297
12.5 綜合示例 299
小結 313
練習題 313
第13章 異常處理 314
13.1 概述 314
13.2 C++異常處理結構try、throw 和catch 315
13.2.1 拋出異常 315
13.2.2 重新拋出異常 316
13.2.3 捕獲所有的異常 317
13.3 異常類層次 317
*13.4 捕獲new操作所產生的異常 318
*13.5 C++ 標準庫異常層次 321
小結 321
練習題 322
第三部分 C++標準模板庫STL簡介
第14章 string類 324
14.1 string概述 324
14.2 string類的構造函數與析構函數 324
14.3 string類重載的操作符 325
14.4 string類的成員函數 328
14.5 string的基本操作 329
14.5.1 元素訪問 329
14.5.2 賦值 330
14.5.3 從string轉換到C風格的字符串 331
14.5.4 字符串的比較 331
14.5.5 附加與插入 333
14.5.6 查找子串 334
14.5.7 替換 335
14.5.8 求子串 336
14.5.9 string對象的大小和容量 336
14.5.10 輸入輸出 336
14.6 C風格的字符串 337
14.6.1 C字符串操作函數 337
14.6.2 將數值字符串轉換到數值的函數 338
14.6.3 字符分類 338 [1] 
14.7 迭代器 339
14.8 字符串流處理 340
小結 340
練習題 340
第15章 C++ 輸入/輸出系統基礎 342
15.1 C++ 中的流概述 342
15.1.1 C++的輸入/輸出流類庫中的頭文件 343
15.1.2 輸入/輸出流類和對象 343
15.2 輸出流 344
15.3 輸入流 345
15.3.1 流讀取運算符 345
15.3.2 用於輸入的一些成員函數 346
15.4 成員函數read和write的無格式 輸入/輸出 347
15.5 流操縱算子 347
15.5.1 設置整數流的基數 348
15.5.2 設置浮點數精度 348
15.5.3 設置輸出域寬 350
小結 351
練習題 352
第16章 標準模板庫STL簡介 353
16.1 STL概述 353
16.1.1 容器 353
16.1.2 算法 353
16.1.3 迭代器 354
16.1.4 其它STL元素 354
16.2 容器類 355
16.3 STL類的一般操作原理 356
16.4 vector容器 357
16.4.1 通過迭代器訪問vector矢量中的元素 360
16.4.2 vector的其它成員函數 361
16.4.3 在vector中存儲自定義類型的對象 363
16.5 list容器 364
16.6 deque雙向隊列 369
16.7 關聯容器 369
16.7.1 map關聯容器類 369
16.7.2 set和multiset關聯容器類 372
16.8 容器適配器 373
16.8.1 stack適配器 373
16.8.2 queue適配器 375
16.8.3 priority_queue適配器 376
16.9 算法 376
16.9.1 fill、fill_n、generate與generate_n算法 378
16.9.2 equal、mismatch和lexicographica_compare算法 380
16.9.3 remove、remove_if、remove_copy和remove_copy_if算法 382
16.9.4 replace、replace_if、replace_copy和replace_copy_if算法 384
16.9.5 一些常用的數學算法 386
16.9.6 基本查找與排序算法 388
16.9.7 swap、iter_swap和swap_ranges算法 390
16.9.8 copy_backward、mergeunique和reverse算法 392
16.9.9 inplace_merge、unique_copy和reverse_copy算法 393
16.9.10 集合操作 394
16.9.11 lower_bound、upper_bound和equal_range算法 396
16.9.12 堆排序 398
16.9.13 min和max算法 400
16.10 函數對象 401
16.10.1 一元函數對象與二元函數對象 401
16.10.2 STL內置的函數對象 401
16.10.3 綁定器 404
參考文獻 406 [1] 
參考資料