相關主題
商品描述
<內容簡介>
劉蕾編著的《21天學通C++(附光盤第3版)》從初學者的角度較全面地介紹了C++的相關知識,較為系統地介紹了C++語言的基礎內容。本書包括6篇共21章的內容。其中,第1篇是C++數據表達篇,包括C++入門、變量和數據類型、運算符和表達式以及程序控制結構等;第2篇是C++面向過程設計篇,包括函數、編譯預處理、數組、指針和構造數據類型等內容;第3篇是C++面向對象編程篇,主要包括類和對象、繼承、多態、運算符重載和輸入/輸出流等內容;第4篇主要介紹了C++高級特性,內容包括文件、命名空間和引用與內存管理;第5篇的內容主要是C++編程實踐,主要分析了標準模板庫STL、模板與C++標準庫和異常處理等;最後一篇中結合學生成績管理系統開發實例,講解如何使用C++進行實際開發。
《21天學通C++(附光盤第3版)》適合沒有編程基礎的C++語言初學者作為入門教程,也可作為大中專院校師生和培訓班的教材,對於C++語言開發的愛好者,本書也有較大的參考價值。
本書附帶DVD光盤1張,內容包括超大容量教學視頻、電子教案(PPT)、源代碼等。
<目錄>
第1篇 C++數據表達篇
第1章 C++入門( 教學視頻:31分鐘) 19
1.1 C++概述 19
1.1.1 C++的歷史沿革 19
1.1.2 C++與面向對象 19
1.1.3 從C到C++ 20
1.2 程序設計方法 21
1.2.1 結構化程序設計 21
1.2.2 面向對象程序設計 22
1.2.3 程序設計方法比較 22
1.3 C++開發環境——Visual C++ 6.0 23
1.3.1 工作區 23
1.3.2 編輯區(Editor Area) 24
1.3.3 輸出窗口(Output Panel) 24
1.3.4 菜單欄、工具欄、狀態欄 25
1.4 第一個C++程序——Hello World 25
1.4.1 創建源程序 25
1.4.2 編譯連接 27
1.4.3 調試運行 27
1.5 C++源程序組成元素 28
1.5.1 基本組成 28
1.5.2 基本符號 29
1.5.3 標識符 29
1.5.4 保留字 29
1.5.5 分隔符 30
1.6 小結 30
1.7 習題 30
第2章 變量和數據類型( 教學視頻:32分鐘) 33
2.1 常量 33
2.1.1 聲明常量 33
2.1.2 常量的應用 34
2.2 變量 36
2.2.1 聲明變量 36
2.2.2 變量的命名規則 36
2.2.3 變量的作用範圍 37
2.2.4 變量的應用 38
2.3 基本數據類型 39
2.3.1 整型 40
2.3.2 字符型 41
2.3.3 浮點型 42
2.3.4 布爾型 43
2.4 類型轉換 44
2.4.1 隱式轉換 44
2.4.2 顯式轉換 45
2.5 小結 46
2.6 習題 46
第3章 運算符和表達式( 教學視頻:34分鐘) 48
3.1 運算符 48
3.1.1 算術運算符 48
3.1.2 賦值運算符 50
3.1.3 關係運算符 51
3.1.4 邏輯運算符 51
3.1.5 條件運算符 52
3.1.6 逗號運算符 53
3.1.7 位運算符 53
3.1.8 sizeof運算符 54
3.1.9 運算符的優先級 54
3.2 表達式 55
3.2.1 算術表達式 56
3.2.2 關係表達式 56
3.2.3 邏輯表達式 57
3.2.4 條件表達式 58
3.2.5 賦值表達式 59
3.2.6 逗號表達式 59
3.3 語句 60
3.3.1 語句中的空格 60
3.3.2 空語句 61
3.3.3 聲明語句 61
3.3.4 賦值語句 62
3.4 小結 62
3.5 習題 62
第4章 程序控制結構( 教學視頻:32分鐘) 65
4.1 順序結構 65
4.1.1 表達式語句 65
4.1.2 輸入語句 66
4.1.3 輸出語句 66
4.1.4 格式控制符 67
4.1.5 應用示例 70
4.2 選擇結構 71
4.2.1 if語句 71
4.2.2 ifelse語句 72
4.2.3 多重if…else語句 73
4.2.4 switch語句 75
4.2.5 應用示例 77
4.3 循環結構 78
4.3.1 for語句 78
4.3.2 while語句 79
4.3.3 dowhile語句 80
4.3.4 多重循環 81
4.3.5 應用示例 82
4.4 轉向語句 83
4.5 小結 84
4.6 習題 85
第2篇 C++面向過程設計篇
第5章 函數(教學視頻:36分鐘) 88
5.1 定義函數 88
5.1.1 函數概述 88
5.1.2 定義函數 89
5.1.3 應用示例 90
5.2 函數參數及原型 91
5.2.1 函數的參數及返回值 91
5.2.2 函數原型 92
5.2.3 main()函數 92
5.2.4 帶參數的main()函數 94
5.3 調用函數 95
5.3.1 函數調用格式 95
5.3.2 傳值調用 96
5.3.3 引用調用 97
5.3.4 嵌套調用 98
5.3.5 遞歸調用 98
5.3.6 帶默認形參值的函數 100
5.4 變量的作用域 100
5.4.1 局部變量 101
5.4.2 全局變量 102
5.5 函數的作用域 103
5.6 函數重載 104
5.6.1 函數的重載 105
5.6.2 參數類型不同的函數重載 105
5.6.3 參數個數上不同的重載函數 106
5.7 小結 107
5.8 習題 107
第6章 編譯預處理( 教學視頻:37分鐘) 110
6.1 預處理命令 110
6.2 宏 110
6.2.1 宏概述 110
6.2.2 不帶參數的宏定義 111
6.2.3 取消宏 112
6.2.4 宏嵌套 114
6.2.5 帶參數的宏定義 114
6.2.6 內聯函數 118
6.2.7 宏與函數的區別 118
6.3 文件包含 120
6.3.1 #include命令 120
6.3.2 合理使用文件包含 120
6.4 條件編譯 122
6.4.1 #ifdef形式 122
6.4.2 #ifndef形式 123
6.4.3 #if形式 123
6.5 其他命令 124
6.5.1 #error命令 124
6.5.2 #line命令 125
6.6 小結 125
6.7 習題 126
第7章 數組( 教學視頻:35分鐘) 128
7.1 聲明數組 128
7.1.1 聲明一維數組 128
7.1.2 聲明多維數組 129
7.2 引用數組 130
7.2.1 引用一維數組 130
7.2.2 引用多維數組 131
7.3 數組的賦值 132
7.3.1 初始化數組 133
7.3.2 通過賦值表達式賦值 134
7.3.3 通過輸入語句賦值 135
7.3.4 通過循環語句賦值 136
7.3.5 多維數組的賦值 137
7.4 字符串 138
7.4.1 傳統字符串 138
7.4.2 字符數組 140
7.5 數組與函數 141
7.6 數組應用 143
7.6.1 順序查找 143
7.6.2 折半查找 144
7.6.3 排序 146
7.7 小結 149
7.8 習題 150
第8章 指針( 教學視頻:33分鐘) 152
8.1 指針概述 152
8.1.1 指針是什麼 152
8.1.2 定義指針 153
8.1.3 指針的初始化 153
8.2 指針的運算 155
8.2.1 取地址與取值運算 155
8.2.2 指針的算術運算 156
8.2.3 指針的關係運算 158
8.2.4 指針的賦值運算 159
8.2.5 void指針和const指針 159
8.3 指針與數組 161
8.3.1 訪問數組元素的方法 161
8.3.2 多維數組元素的訪問 163
8.3.3 數組指針與指針數組 164
8.4 指針與函數 165
8.4.1 指針作為函數參數 165
8.4.2 指針型函數 167
8.4.3 函數指針 168
8.5 指針與字符串 169
8.6 二級指針 170
8.7 小結 171
8.8 習題 172
第9章 構造數據類型( 教學視頻:34分鐘) 175
9.1 結構體 175
9.1.1 結構體概述 175
9.1.2 結構體類型說明 176
9.1.3 定義結構體類型變量 177
9.1.4 初始化結構體變量 178
9.1.5 引用結構體成員變量 180
9.1.6 結構體作為函數參數 182
9.2 共享體 183
9.2.1 共享體類型說明 183
9.2.2 定義共享體類型變量 184
9.2.3 引用共享體成員變量 184
9.3 枚舉 186
9.3.1 定義枚舉類型 186
9.3.2 定義枚舉類型變量 188
9.3.3 引用枚舉類型變量 189
9.4 類型重定義typedef 190
9.5 位域 192
9.5.1 定義位域變量 192
9.5.2 使用位域 193
9.6 小結 194
9.7 習題 195
第3篇 C++面向對象編程篇
第10章 類和對象( 教學視頻:35分鐘) 198
10.1 類 198
10.1.1 什麼是類 198
10.1.2 結構到類 199
10.1.3 類的聲明 201
10.1.4 類的訪問控制 202
10.1.5 類的定義 204
10.2 對象 206
10.2.1 對象概述 206
10.2.2 對象數組 207
10.3 構造函數 209
10.3.1 構造函數的概念 209
10.3.2 構造函數的聲明和定義 210
10.3.3 構造函數的調用 211
10.3.4 不帶參數的構造函數 212
10.3.5 帶有默認參數的構造函數 212
10.3.6 構造函數的重載 214
10.4 拷貝構造函數 215
10.4.1 定義拷貝構造函數 215
10.4.2 調用拷貝構造函數 216
10.4.3 默認拷貝構造函數 218
10.5 析構函數 219
10.6 友元 220
10.6.1 友元函數 220
10.6.2 友元成員 222
10.6.3 友元類 223
10.7 小結 226
10.8 習題 226
第11章 繼承( 教學視頻:38分鐘) 230
11.1 繼承與派生 230
11.1.1 繼承與派生概述 230
11.1.2 聲明派生類 231
11.2 訪問控制 231
11.2.1 公有繼承 232
11.2.2 私有派生 234
11.2.3 保護繼承 235
11.3 派生類的構造函數和析構函數 239
11.3.1 執行順序和構建原則 239
11.3.2 派生類的構造函數 239
11.3.3 派生類析構函數的構建 240
11.4 多重繼承 242
11.4.1 二義性問題 242
11.4.2 聲明多重繼承 244
11.4.3 多重繼承的構造函數和析構函數 246
11.5 虛基類 248
11.5.1 虛基類的引入 248
11.5.2 定義虛基類 249
11.5.3 虛基類的構造函數和初始化 251
11.6 小結 252
11.7 習題 252
第12章 多態( 教學視頻:34分鐘) 257
12.1 多態 257
12.1.1 什麼是多態 257
12.1.2 多態的作用 258
12.1.3 多態的引入 258
12.2 函數重載 260
12.3 虛函數 261
12.3.1 虛函數的引入 261
12.3.2 定義虛函數 263
12.3.3 使用虛函數 264
12.3.4 多重繼承和虛函數 265
12.3.5 虛函數的註意事項 267
12.4 抽象類 267
12.4.1 純虛函數 267
12.4.2 抽象類 269
12.5 小結 270
12.6 習題 271
第13章 運算符重載( 教學視頻:31分鐘) 274
13.1 運算符重載簡介 274
13.1.1 運算符重載的定義 274
13.1.2 運算符重載的特點 275
13.1.3 運算符重載的規則 276
13.2 運算符重載的形式 277
13.2.1 重載為類的成員函數 277
13.2.2 雙目運算符重載為成員函數 277
13.2.3 單目運算符重載為成員函數 278
13.2.4 運算符重載為類的友元函數 280
13.2.5 雙目運算符重載為友元函數 280
13.2.6 單目運算符重載為友元函數 281
13.2.7 成員運算符函數與友元運算符函數的比較 283
13.3 特殊運算符的重載 283
13.3.1 「++」和「--」的重載 283
13.3.2 賦值運算符「=」的重載 284
13.3.3 下標運算符「[ ]」的重載 286
13.4 類類型轉換 288
13.5 小結 290
13.6 習題 290
第14章 輸入/輸出流( 教學視頻:34分鐘) 293
14.1 輸入/輸出流的引入 293
14.1.1 printf與scanf的缺陷 293
14.1.2 輸入/輸出流簡介 294
14.1.3 輸入/輸出流類層次 295
14.2 標準輸入/輸出流 296
14.2.1 標準輸出流對象 296
14.2.2 標準輸入流對象 297
14.2.3 標準錯誤輸出流對象 298
14.3 輸入/輸出流成員函數 299
14.3.1 get()函數:輸出字符串 299
14.3.2 getline()函數:獲取字符串 301
14.4 輸入/輸出的格式控制 301
14.4.1 用ios類的成員函數進行格式控制 302
14.4.2 使用格式控制符進行格式控制 304
14.5 用戶自定義數據類型的輸入/輸出 306
14.5.1 重載輸出運算符「<<」 306
14.5.2 重載輸入運算符「>>」 307
14.6 小結 309
14.7 習題 309
第4篇 C++高級特性篇
第15章 文件( 教學視頻:28分鐘) 312
15.1 文件和流 312
15.1.1 文件概述 312
15.1.2 文件流類 313
15.2 文件的打開與關閉 314
15.2.1 打開文件 314
15.2.2 關閉文件 316
15.3 文件的順序讀寫 317
15.3.1 讀寫文本文件 317
15.3.2 文本文件應用示例 318
15.3.3 二進制文件概述 320
15.3.4 讀寫二進制文件 320
15.4 文件的隨機讀寫 323
15.5 小結 325
15.6 習題 325
第16章 命名空間( 教學視頻:34分鐘) 328
16.1 命名空間 328
16.1.1 什麼是命名空間 328
16.1.2 定義命名空間 329
16.2 使用命名空間 331
16.2.1 使用作用域運算符引用成員 331
16.2.2 使用using指令 332
16.2.3 使用using聲明 333
16.3 類的作用域 334
16.3.1 靜態數據成員 335
16.3.2 靜態成員函數 336
16.4 作用域 337
16.4.1 局部作用域 337
16.4.2 全局作用域 339
16.4.3 作用域嵌套 340
16.5 this指針 341
16.6 小結 343
16.7 習題 343
第17章 引用與內存管理( 教學視頻:31分鐘) 346
17.1 引用 346
17.1.1 引用概述 346
17.1.2 引用的使用 347
17.2 引用的操作 348
17.2.1 引用作為函數參數 348
17.2.2 引用作為返回值 349
17.3 動態內存分配 350
17.3.1 申請動態內存 350
17.3.2 釋放空間 352
17.3.3 malloc和free庫函數 353
17.4 const引用 355
17.5 指針與引用的區別 356
17.6 小結 357
17.7 習題 358
第5篇 C++編程實踐篇
第18章 標準模板庫STL( 教學視頻:30分鐘) 360
18.1 標準模板庫 360
18.1.1 STL概述 360
18.1.2 STL的引入 360
18.1.3 STL的組成 361
18.2 演算法 362
18.3 容器 364
18.3.1 什麼是容器 364
18.3.2 向量 364
18.3.3 列表 366
18.3.4 集合 368
18.3.5 雙端隊列 369
18.3.6 棧 370
18.3.7 映射和多重映射 372
18.4 迭代器 373
18.5 小結 374
18.6 習題 374
第19章 模板與C++標準庫( 教學視頻:33分鐘) 377
19.1 模板概述 377
19.1.1 模板簡介 377
19.1.2 模板的引入 378
19.2 函數模板 379
19.2.1 定義函數模板 379
19.2.2 生成模板函數 380
19.2.3 函數模板的異常處理 381
19.3 類模板 382
19.3.1 定義類模板 382
19.3.2 模板類 383
19.4 C++標準庫概述 385
19.5 字符串庫 386
19.5.1 讀寫字符串 386
19.5.2 字符串賦值 387
19.5.3 字符串比較 387
19.5.4 字符串長度和空字符串 388
19.6 小結 390
19.7 習題 390
第20章 異常處理( 教學視頻:31分鐘) 393
20.1 錯誤與異常 393
20.1.1 什麼是異常 393
20.1.2 異常處理的基本思想 393
20.2 異常處理的實現 395
20.2.1 使用try/catch捕獲異常 395
20.2.2 使用throw拋出異常 396
20.2.3 應用示例 397
20.3 類和結構的異常處理 398
20.3.1 異常處理中的構造和析構 399
20.3.2 處理結構類型的異常 400
20.4 異常處理機制 401
20.5 小結 403
20.6 習題 403
第6篇 實例篇
第21章 簡單學生成績管理系統開發實例( 教學視頻:31分鐘) 405
21.1 需求分析 405
21.2 總體設計 405
21.3 功能模塊實現 406
21.3.1 成績錄入模塊 407
21.3.2 成績統計模塊 407
21.3.3 成績排名模塊 408
21.3.4 成績查詢模塊 410
21.3.5 輸出模塊 411
21.4 系統集成 411
21.5 系統實現 413
21.5.1 結構和變量定義部分 415
21.5.2 功能函數定義部分 415
21.5.3 主函數部分 416
21.6 小結 418