C++從零開始學(視頻教學版)(第2版)

C++從零開始學(視頻教學版)(第2版)

《C++從零開始學(視頻教學版)(第2版)》是清華大學出版社於2020年2月1日出版的一本圖書,作者是王英英。

基本介紹

  • 中文名:C++從零開始學(視頻教學版)(第2版)
  • 作者:王英英
  • 出版時間:2020年2月1日
  • 出版社:清華大學出版社
  • ISBN:9787302544562
  • 定價:79 元
內容簡介,圖書目錄,

內容簡介

本書面向C++編程初學者和廣大C++編程愛好者。本書循序漸進地介紹C++套用與開發的相關基礎知識,提供大量具體操作C++編程的實例供讀者實踐。每節都清晰地闡述代碼如何工作及其作用,使讀者能在最短的時間內有效地掌握C++編程。本書配有源碼、課件與教學視頻。全書共20章,分別介紹:為什麼要學習C++、C++程式結構、基本數據類型和數據處理、運算符與表達式、程式流程控制、函式、數組與字元串、指針、struct與其他複合數據類型、類的使用方法、對象的初始化和清除、運算符的重載、類的繼承、虛函式和抽象類、C++中的檔案處理、異常處理和C++的高級概念等知識。在每章的後面提供自我評估的習題供讀者操作練習,從而加深理解。
本書適合C++初學者自學使用,也適合作為高等院校和培訓學校計算機相關專業師生的教學參考書。

圖書目錄

第1章 學習C++—認識C++ 1
1.1 C/C++的起源 1
1.2 C++的特色 2
1.3 關於ANSI/ISO C++標準 3
1.4 語言的翻譯過程 4
1.5 編寫代碼前的準備—安裝開發環境Visual Studio 2019 5
1.6 小試身手—新建一個C++項目 8
1.7 疑難解惑 11
1.8 經典習題 13
第2章 C++程式結構 14
2.1 簡單程式 14
2.2 C++程式分析 15
2.2.1 #include指令及頭檔案 15
2.2.2 main函式 16
2.2.3 變數聲明和定義 17
2.2.4 函式的聲明 19
2.2.5 關於注釋 20
2.3 輸入輸出對象 22
2.3.1 cout輸出數據 22
2.3.2 cin讀取輸入數據 25
2.4 標識符 26
2.4.1 保留字 27
2.4.2 標識符命名 27
2.5 預處理 27
2.6 命名空間 30
2.6.1 命名空間的定義 30
2.6.2 using關鍵字 32
2.6.3 命名空間std 33
2.7 小試身手—入門經典程式 34
2.8 疑難解惑 35
2.9 經典習題 36
第3章基本數據類型 37
3.1變數與常量 37
3.1.1變數 37
3.1.2常量 40
3.2基本變數類型 43
3.2.1整數類型 43
3.2.2字元類型 44
3.2.3浮點數類型 46
3.2.4布爾類型 48
3.3typedef 49
3.4小試身手—測試基本數據類型的位元組長度 53
3.5疑難解惑 54
3.6經典習題 55
第4章運算符和表達式 56
4.1運算符概述 56
4.1.1賦值運算符 56
4.1.2算術運算符 57
4.1.3關係運算符 59
4.1.4邏輯運算符 60
4.1.5自增和自減運算符 62
4.1.6位邏輯運算符 63
4.1.7移位運算符 65
4.1.8三元運算符 66
4.1.9逗號運算符 67
4.1.10類型轉換運算符 68
4.2運算符優先權和結合性 69
4.2.1運算符優先權 69
4.2.2運算符結合性 70
4.3小試身手—綜合運用運算符 72
4.4疑難解惑 73
4.5經典習題 74
第5章程式流程控制 75
5.1順序語句 75
5.2條件判斷語句 76
5.2.1if條件 76
5.2.2if-else條件 78
5.2.3條件運算符 79
5.3循環語句 80
5.3.1for循環 81
5.3.2while循環 82
5.3.3do-while循環 83
5.4跳出循環 84
5.4.1continue 84
5.4.2break 85
5.5多重選擇語句 86
5.6小試身手—計算商品總價 88
5.7疑難解惑 90
5.8經典習題 92
第6章函式 93
6.1函式的基本結構 93
6.1.1函式的聲明、定義和調用 93
6.1.2參數的傳遞方式 95
6.1.3函式的默認參數 97
6.1.4函式的返回值 99
6.2變數的作用域 99
6.2.1局部變數 99
6.2.2靜態局部變數 100
6.2.3外部變數 101
6.2.4暫存器變數 102
6.3特殊函式調用方式—遞歸調用 103
6.4內聯函式 104
6.5預處理器 106
6.5.1#define預處理器 106
6.5.2#define的作用 107
6.5.3const修飾符 108
6.6函式的重載 108
6.7小試身手—漢諾塔問題函式 110
6.8疑難解惑 111
6.9經典習題 112
第7章數組與字元串 113
7.1一維數組 113
7.1.1一維數組的聲明 113
7.1.2數組初始化 114
7.1.3數組的操作 115
7.2二維數組和多維數組 117
7.2.1二維數組的聲明 117
7.2.2二維數組的使用和存取 117
7.2.3多維數組 119
7.3數組與函式 121
7.3.1一維數組作為函式的參數 121
7.3.2傳送多維數組到函式 122
7.4字元串類 123
7.4.1字元串的聲明 123
7.4.2字元串的輸入和輸出 124
7.4.3字元串處理 125
7.5小試身手—判斷字元串回文 129
7.6疑難解惑 131
7.7經典習題 132
第8章指針 133
8.1指針概述 133
8.1.1什麼是指針 133
8.1.2為什麼要用指針 134
8.1.3指針的地址 134
8.2指針變數 135
8.2.1指針變數的聲明 135
8.2.2指針變數的使用 136
8.3指針與函式 137
8.3.1指針傳送到函式中 137
8.3.2返回值為指針的函式 138
8.3.3函式指針 140
8.4指針與數組 141
8.4.1指針的算術運算 141
8.4.2利用指針存儲一維數組的元素 142
8.4.3利用指針傳輸一維數組到函式中 143
8.5指針與字元串 144
8.6void指針 145
8.7指向指針的指針 145
8.8動態記憶體配置 146
8.8.1使用基本數據類型做動態配置 147
8.8.2使用數組做動態配置 148
8.9小試身手—判斷字元串中有多少個整數 149
8.10疑難解惑 151
8.11經典習題 152
第9章struct和其他複合類型 153
9.1struct 153
9.1.1struct的聲明 153
9.1.2struct變數的初始化與使用 155
9.1.3struct數組初始化 156
9.2將結構體變數作為函式參數 158
9.2.1將整個結構體傳送到函式 158
9.2.2傳送結構體的地址到函式 159
9.3union 160
9.3.1union的定義和聲明 160
9.3.2union類型的初始化和使用 161
9.3.3struct和union的差異 163
9.4enum 163
9.4.1enum的定義和聲明 163
9.4.2enum的初始化和使用 164
9.5小試身手—學生信息登記表 166
9.6疑難解惑 168
9.7經典習題 169
第10章類 170
10.1認識類 170
10.1.1類的基本概念 170
10.1.2類的定義 170
10.1.3類對象的生成 172
10.1.4類對象指針 173
10.2成員函式 175
10.3嵌套類 177
10.4const成員函式 177
10.5類成員的訪問控制 179
10.5.1私有成員 180
10.5.2公有成員 181
10.6靜態成員 182
10.6.1靜態數據成員 182
10.6.2靜態成員函式 184
10.7友元 186
10.8小試身手—棧類的實現 187
10.9疑難解惑 189
10.10經典習題 190
第11章構造函式和析構函式 191
11.1構造函式初始化類對象 191
11.1.1什麼是構造函式 191
11.1.2使用構造函式 192
11.2析構函式清除類對象 193
11.2.1析構函式的概念 193
11.2.2析構函式的調用 194
11.3默認構造函式 195
11.4重載構造函式 197
11.4.1重載構造函式的作用 197
11.4.2重載構造函式的調用 197
11.5類對象數組的初始化 198
11.5.1類對象數組調用 198
11.5.2類對象數組和默認構造函式 200
11.5.3類對象數組和析構函式 201
11.6拷貝構造函式 203
11.6.1拷貝構造函式的概念 203
11.6.2深拷貝和淺拷貝 204
11.7小試身手—構造函式和析構函式的套用 206
11.8疑難解惑 208
11.9經典習題 208
第12章運算符的重載 210
12.1什麼是運算符重載 210
12.1.1運算符重載的形式 211
12.1.2可重載的運算符 213
12.2重載前置運算符和後置運算符 213
12.2.1重載前置運算符 214
12.2.2重載後置運算符 215
12.3插入運算符和折取運算符的重載 217
12.3.1插入運算符的重載 217
12.3.2折取運算符的重載 218
12.4常用運算符的重載 220
12.4.1“<”運算符的重載 220
12.4.2“+”運算符的重載 222
12.4.3“=”運算符的重載 223
12.5小試身手—運算符重載實例 225
12.6疑難解惑 227
12.7經典習題 227
第13章類的繼承 228
13.1面向對象編程概述 228
13.1.1面向對象編程的幾個概念 228
13.1.2面向對象編程與面向過程編程的區別 229
13.2繼承的基本概念 229
13.2.1基類和繼承類 229
13.2.2簡單的基礎實例 231
13.2.3調用父類中的構造函式 236
13.3子類存取父類成員 239
13.3.1私有成員的存取 239
13.3.2繼承與靜態成員 241
13.3.3多繼承 242
13.4小試身手—繼承的套用 245
13.5疑難解惑 246
13.6經典習題 247
第14章虛函式和抽象類 248
14.1什麼是虛函式 248
14.1.1虛函式的作用 248
14.1.2動態綁定和靜態綁定 250
14.2抽象類與純虛函式 252
14.2.1定義純虛函式 252
14.2.2抽象類的作用 253
14.2.3虛析構函式 254
14.3抽象類的多重繼承 256
14.4虛函式表 257
14.4.1什麼是虛函式表 257
14.4.2繼承關係的虛函式表 259
14.5小試身手—抽象類的套用 261
14.6疑難解惑 263
14.7經典習題 264
第15章C++中的檔案處理 265
15.1檔案的基本概念 265
15.1.1檔案I/O 265
15.1.2檔案順序讀寫 269
15.1.3隨機檔案讀寫 269
15.2檔案的打開與關閉 271
15.2.1檔案的打開 271
15.2.2檔案的關閉 273
15.3文本檔案的處理 274
15.3.1將變數寫入檔案 274
15.3.2將變數寫入檔案尾部 275
15.3.3從文本檔案中讀入變數 275
15.3.4使用get、getline和put函式 276
15.4二進制檔案的處理 279
15.5小試身手—檔案操作 281
15.6疑難解惑 283
15.7經典習題 284
第16章異常處理 285
16.1異常的基本概念 285
16.2異常處理機制 285
16.3拋出異常 287
16.4重新拋出異常 289
16.5捕獲所有異常 290
16.6不是錯誤的異常 291
16.7未捕捉到的異常 292
16.8標準異常 292
16.9異常規範 293
16.10異常與繼承 294
16.11異常處理的套用 295
16.11.1自定義異常類 295
16.11.2捕獲多個異常 297
16.12小試身手—異常處理 298
16.13疑難解惑 300
16.14經典習題 301
第17章模板與類型轉換 302
17.1模板 302
17.1.1函式模板 302
17.1.2類模板 304
17.1.3模板參數 306
17.1.4模板的特殊化 307
17.1.5重載和函式模板 308
17.2類型識別和強制轉換運算符 310
17.2.1運行時類型識別 310
17.2.2強制類型轉換運算符 314
17.3小試身手—模板套用 316
17.4疑難解惑 318
17.5經典習題 319
第18章容器和疊代器 320
18.1STL 320
18.2疊代器 320
18.3順序容器 322
18.3.1向量 322
18.3.2雙端佇列 323
18.3.3列表 324
18.4關聯容器 326
18.4.1集合和多重集合 326
18.4.2映射和多重映射 328
18.5容器適配器 329
18.5.1棧 329
18.5.2佇列 330
18.5.3優先權佇列 332
18.6小試身手—容器操作實例 333
18.7疑難解惑 338
18.8經典習題 338
第19章開發商場採購系統 339
19.1系統需求分析 339
19.2功能分析 340
19.3系統代碼編寫 341
19.3.1密碼檔案和購物單檔案 341
19.3.2管理員登錄功能 342
19.3.3採購系統的主功能 345
19.3.4採購操作功能和驗證功能的實現 350
19.3.5主程式運行入口 356
19.4系統運行 357
第20章開發推箱子遊戲 359
20.1系統功能描述 359
20.2系統功能分析及實現 359
20.2.1功能分析 359
20.2.2功能實現 360
20.3遊戲運行 365

相關詞條

熱門詞條

聯絡我們