C++從入門到精通(第5版)

C++從入門到精通(第5版)

《C++從入門到精通(第5版)》是2021年12月清華大學出版社出版圖書,作者是明日科技。

基本介紹

  • 中文名:C++從入門到精通(第5版)
  • 作者:明日科技
  • 出版社:清華大學出版社
  • 出版時間:2021年12月1日
  • 定價:89.80 元
  • ISBN:9787302589464
內容簡介,目錄,

內容簡介

《C++從入門到精通(第5版)》從初學者角度出發,以通俗易懂的語言和豐富多彩的實例,詳細講解了C++程式開發需要掌握的知識。本書分為4篇共18章:第1篇是基礎知識,包括緒論,數據類型,運算符與表達式,條件判斷語句,循環語句,函式,數組、指針和引用,以及構造數據類型;第2篇是核心技術,包括面向對象編程,類和對象,以及繼承與派生;第3篇是高級套用,包括模板、標準模板庫、RTTI與異常處理、程式調試、檔案操作和網路通信;第4篇是項目實戰,結合人事考勤管理系統,依照軟體項目的開發流程,講述如何進行實際開發。書中所有知識都結合具體實例進行介紹,涉及的程式代碼給出了詳細的注釋,讀者可以輕鬆領會C++的強大功能,快速提高開發能力。

目錄

第1篇 基礎知識
第1章 緒論 2
視頻講解:28分鐘
1.1 C++歷史背景 2
1.1.1 計算機—20世紀最偉大的發明 2
1.1.2 C++發展歷程 3
1.1.3 C++領域傑出人物 3
1.2 常用開發環境 5
1.2.1 Visual C++ 6.0 5
1.2.2 Visual Studio 2019 5
1.2.3 GCC/G++ 5
1.2.4 Dev-C 6
1.2.5 Eclipse 6
1.3 認知C++程式代碼 7
1.4 C++工程項目檔案 8
1.5 使用Visual C++ 6.0創建程式 9
1.6 編譯與連線過程 11
1.7 C++的特點 13
1.8 小結 13
第2章 數據類型 14
視頻講解:162分鐘
2.1 第一個C++程式 14
2.1.1 #include指令 15
2.1.2 注釋 15
2.1.3 main函式 15
2.1.4 函式體 15
2.1.5 函式返回值 16
2.2 常量及符號 16
2.2.1 整型常量 16
2.2.2 實型常量 17
2.2.3 字元常量 17
2.2.4 字元串常量 18
2.2.5 其他常量 18
2.3 變數 19
2.3.1 標識符 19
2.3.2 變數與變數聲明 20
2.3.3 整型變數 20
2.3.4 實型變數 21
2.3.5 變數賦值 21
2.3.6 變數賦初值 22
2.3.7 字元變數 22
2.4 常用數據類型 23
2.4.1 整數類型 24
2.4.2 浮點類型 24
2.4.3 字元類型 25
2.4.4 布爾類型 25
2.5 數據輸入與輸出 25
2.5.1 控制台螢幕 26
2.5.2 C++語言中的流 26
2.5.3 流操作的控制 28
2.6 小結 34
2.7 實踐與練習 34
第3章 運算符與表達式 36
視頻講解:133分鐘
3.1 運算符 36
3.1.1 算術運算符 37
3.1.2 關係運算符 38
3.1.3 邏輯運算符 39
3.1.4 賦值運算符 40
3.1.5 位運算符 41
3.1.6 移位運算符 42
3.1.7 sizeof運算符 44
3.1.8 條件運算符 45
3.1.9 逗號運算符 45
3.2 結合性和優先權 45
3.3 表達式 46
3.3.1 算術表達式 47
3.3.2 關係表達式 47
3.3.3 條件表達式 47
3.3.4 賦值表達式 48
3.3.5 邏輯表達式 48
3.3.6 逗號表達式 48
3.3.7 表達式中的類型轉換 49
3.4 語句 52
3.5 判斷左值與右值 53
3.6 小結 53
3.7 實踐與練習 54
第4章 條件判斷語句 55
視頻講解:98分鐘
4.1 決策分支 55
4.2 判斷語句 56
4.2.1 簡單if語句 56
4.2.2 if…else判斷語句 58
4.2.3 else if判斷語句 59
4.3 使用條件運算符進行判斷 61
4.4 switch語句 63
4.5 判斷語句的嵌套 67
4.6 小結 69
4.7 實踐與練習 69
第5章 循環語句 71
視頻講解:85分鐘
5.1 while循環 71
5.2 do...while循環 73
5.3 while與do…while比較 75
5.4 for循環 76
5.5 循環控制 80
5.5.1 循環控制變數 80
5.5.2 break語句 81
5.5.3 continue語句 82
5.5.4 goto語句 83
5.6 循環嵌套 84
5.7 小結 86
5.8 實踐與練習 87
第6章 函式 89
視頻講解:203分鐘
6.1 函式概述 89
6.1.1 函式的定義 89
6.1.2 函式的聲明 90
6.2 函式參數及返回值 91
6.2.1 返回值 91
6.2.2 空函式 92
6.2.3 形參與實參 93
6.2.4 默認參數 93
6.2.5 可變參數 94
6.3 函式調用 95
6.3.1 傳值調用 96
6.3.2 嵌套調用 97
6.3.3 遞歸調用 98
6.4 變數作用域 101
6.5 重載函式 102
6.6 內聯函式 103
6.7 變數的存儲類別 104
6.7.1 auto變數 104
6.7.2 static變數 106
6.7.3 register變數 107
6.7.4 extern變數 107
6.8 小結 108
6.9 實踐與練習 108
第7章 數組、指針和引用 110
視頻講解:245分鐘
7.1 一維數組 110
7.1.1 一維數組的聲明 110
7.1.2 一維數組元素的引用 111
7.1.3 一維數組的初始化 111
7.2 二維數組 113
7.2.1 二維數組的聲明 113
7.2.2 二維數組元素的引用 113
7.2.3 二維數組的初始化 114
7.3 字元數組 116
7.4 指針 122
7.4.1 變數與指針 122
7.4.2 指針運算符和取地址運算符 126
7.4.3 指針運算 127
7.4.4 指向空的指針與空類型指針 128
7.4.5 指向常量的指針與指針常量 129
7.5 指針與數組 131
7.5.1 數組的存儲 131
7.5.2 指針與一維數組 131
7.5.3 指針與二維數組 133
7.5.4 指針與字元數組 137
7.6 指針在函式中的套用 139
7.6.1 傳遞地址 139
7.6.2 指向函式的指針 140
7.6.3 空指針調用函式 142
7.6.4 從函式中返回指針 142
7.7 指針數組 144
7.8 安全使用指針 146
7.8.1 記憶體分配 146
7.8.2 記憶體安全 148
7.9 引用 151
7.9.1 引用概述 151
7.9.2 使用引用傳遞參數 153
7.9.3 指針傳遞參數 154
7.9.4 數組做函式參數 155
7.10 小結 157
7.11 實踐與練習 157
第8章 構造數據類型 159
視頻講解:96分鐘
8.1 結構體 159
8.1.1 結構體定義 159
8.1.2 結構體變數 160
8.1.3 結構體成員及初始化 161
8.1.4 結構體的嵌套 163
8.1.5 結構體大小 165
8.2 重命名數據類型 166
8.3 結構體與函式 168
8.3.1 結構體變數做函式參數 168
8.3.2 結構體指針做函式參數 169
8.4 結構體數組 170
8.4.1 結構體數組聲明與引用 170
8.4.2 指針訪問結構體數組 171
8.5 共用體 172
8.5.1 共用體的定義與聲明 172
8.5.2 共用體的大小 173
8.5.3 共用體的特點 174
8.6 枚舉類型 175
8.6.1 枚舉類型的聲明 175
8.6.2 枚舉類型變數 176
8.6.3 枚舉類型的運算 177
8.7 自定義數據類型 178
8.8 使用宏定義替換複雜的數據 179
8.9 小結 183
8.10 實踐與練習 183
第2篇 核心技術
第9章 面向對象編程 186
視頻講解:39分鐘
9.1 面向對象概述 186
9.2 面向對象編程與面向過程編程 187
9.2.1 面向過程編程 187
9.2.2 面向對象編程 188
9.2.3 面向對象的特點 188
9.3 統一建模語言 189
9.3.1 統一建模語言概述 189
9.3.2 統一建模語言的結構 189
9.3.3 面向對象的建模 190
9.4 小結 191
第10章 類和對象 192
視頻講解:197分鐘
10.1 C++類 192
10.1.1 類的概述 192
10.1.2 類的聲明與定義 193
10.1.3 類的實現 194
10.1.4 對象的聲明 198
10.2 構造函式 200
10.2.1 構造函式概述 200
10.2.2 複製構造函式 201
10.3 析構函式 203
10.4 類成員 206
10.4.1 訪問類成員 206
10.4.2 內聯成員函式 207
10.4.3 靜態類成員 208
10.4.4 隱藏的this指針 210
10.4.5 嵌套類 211
10.4.6 局部類 212
10.5 友元 213
10.5.1 友元概述 213
10.5.2 友元類 215
10.5.3 友元方法 216
10.6 命名空間 218
10.6.1 使用命名空間 218
10.6.2 定義命名空間 219
10.6.3 在多個檔案中定義命名空間 221
10.6.4 定義嵌套的命名空間 222
10.6.5 定義未命名的命名空間 224
10.7 小結 224
10.8 實踐與練習 224
第11章 繼承與派生 226
視頻講解:112分鐘
11.1 繼承 226
11.1.1 類的繼承 226
11.1.2 繼承後可訪問性 228
11.1.3 構造函式訪問順序 231
11.1.4 子類顯示調用父類構造函式 232
11.1.5 子類隱藏父類的成員函式 234
11.2 重載運算符 236
11.2.1 重載運算符的必要性 236
11.2.2 重載運算符的形式與規則 238
11.2.3 重載運算符的運算 240
11.2.4 轉換運算符 242
11.3 多重繼承 243
11.3.1 多重繼承定義 243
11.3.2 二義性 245
11.3.3 多重繼承的構造順序 245
11.4 多態 247
11.4.1 虛函式概述 247
11.4.2 利用虛函式實現動態綁定 248
11.4.3 虛繼承 249
11.5 抽象類 251
11.5.1 純虛函式 251
11.5.2 實現抽象類中的成員函式 253
11.6 小結 254
11.7 實踐與練習 255
第3篇 高級套用
第12章 模板 258
視頻講解:32分鐘
12.1 函式模板 258
12.1.1 函式模板的定義 258
12.1.2 函式模板的作用 259
12.1.3 重載函式模板 261
12.2 類模板 262
12.2.1 類模板的定義與聲明 262
12.2.2 簡單類模板 264
12.2.3 默認模板參數 265
12.2.4 為具體類型的參數提供默認值 266
12.2.5 有界數組模板 267
12.3 模板的使用 269
12.3.1 定製類模板 269
12.3.2 定製類模板成員函式 270
12.4 鍊表類模板 272
12.4.1 鍊表 272
12.4.2 鍊表類模板的使用 274
12.4.3 類模板的靜態數據成員 277
12.5 小結 278
12.6 實踐與練習 279
第13章 標準模板庫 280
視頻講解:38分鐘
13.1 幾種常見數據結構 280
13.1.1 簡述STL 280
13.1.2 順序線性結構 281
13.1.3 基本操作 281
13.1.4 棧結構 281
13.1.5 佇列結構 281
13.1.6 鍊表結構 282
13.1.7 圖結構 282
13.2 序列容器 282
13.2.1 對比容器適配器與容器 283
13.2.2 對比疊代器與容器 283
13.2.3 向量類模板 284
13.2.4 雙端佇列類模板 287
13.2.5 鍊表類模板 289
13.3 結合容器 292
13.3.1 set類模板 292
13.3.2 multiset類模板 296
13.3.3 map類模板 300
13.3.4 multimap類模板 302
13.4 算法 303
13.4.1 非修正序列算法 303
13.4.2 修正序列算法 305
13.4.3 排序算法 309
13.4.4 數值算法 315
13.5 疊代器 319
13.5.1 輸出疊代器 319
13.5.2 輸入疊代器 319
13.5.3 前向疊代器 320
13.5.4 雙向疊代器 321
13.5.5 隨機訪問疊代器 321
13.6 小結 323
13.7 實踐與練習 323
第14章 RTTI與異常處理 324
視頻講解:18分鐘
14.1 RTTI 324
14.1.1 RTTI的定義 324
14.1.2 RTTI與引用 326
14.1.3 RTTI與多重繼承 326
14.1.4 RTTI映射語法 327
14.2 異常處理 329
14.2.1 拋出異常 330
14.2.2 捕獲異常 331
14.2.3 異常匹配 334
14.2.4 標準異常 335
14.3 小結 336
第15章 程式調試 337
視頻講解:21分鐘
15.1 選擇正確的調試方法 337
15.2 程式錯誤的常見類型 338
15.2.1 語法錯誤 338
15.2.2 連線錯誤 339
15.2.3 運行時錯誤 339
15.2.4 邏輯錯誤 340
15.3 調試工具的使用 340
15.3.1 創建調試程式 340
15.3.2 進入調試狀態 341
15.3.3 調試相關視窗 342
15.4 調試的基本套用 343
15.4.1 變數的跟蹤與查看 343
15.4.2 位置斷點的使用 344
15.4.3 數據斷點的使用 346
15.5 調試的高級套用 347
15.5.1 在調試時修改變數的值 347
15.5.2 在循環中調試 348
15.6 小結 349
第16章 檔案操作 350
視頻講解:35分鐘
16.1 C++流概述 350
16.1.1 C++中的流類庫 350
16.1.2 類庫的使用 351
16.1.3 ios類中的枚舉常量 351
16.1.4 流的輸入/輸出 352
16.2 檔案打開 353
16.2.1 打開方式 353
16.2.2 默認打開模式 354
16.2.3 打開檔案同時創建檔案 354
16.3 檔案的讀寫 355
16.3.1 檔案流 355
16.3.2 寫文本檔案 357
16.3.3 讀取文本檔案 357
16.3.4 二進制檔案的讀寫 359
16.3.5 實現檔案複製 360
16.4 檔案指針移動操作 361
16.4.1 檔案錯誤與狀態 361
16.4.2 檔案的追加 362
16.4.3 檔案結尾的判斷 363
16.4.4 在指定位置讀寫檔案 364
16.5 檔案和流的關聯和分離 365
16.6 刪除檔案 367
16.7 小結 367
16.8 實踐與練習 367
第17章 網路通信 368
視頻講解:20分鐘
17.1 TCP/IP協定 368
17.1.1 OSI參考模型 368
17.1.2 TCP/IP參考模型 369
17.1.3 IP位址 369
17.1.4 數據包格式 370
17.2 套接字 372
17.2.1 Winsock套接字 372
17.2.2 Winsock的使用 372
17.2.3 套接字阻塞模式 377
17.2.4 位元組順序 377
17.2.5 面向連線流 377
17.2.6 面向無連線流 378
17.3 簡單協定通信 379
17.3.1 伺服器端 379
17.3.2 客戶端 381
17.3.3 實例的運行 382
17.4 小結 383
17.5 實踐與練習 383
第4篇 項目實戰
第18章 人事考勤管理系統 386
視頻講解:89分鐘
18.1 開發背景 386
18.2 需求分析 387
18.3 系統設計 387
18.3.1 系統目標 387
18.3.2 系統功能結構 387
18.3.3 系統預覽 387
18.3.4 業務流程圖 388
18.3.5 資料庫設計 389
18.4 公共模組設計 390
18.5 主窗體設計 395
18.6 用戶登錄模組設計 397
18.6.1 用戶登錄模組概述 397
18.6.2 用戶登錄技術分析 397
18.6.3 用戶登錄實現過程 398
18.7 用戶管理模組設計 399
18.7.1 用戶管理模組概述 399
18.7.2 用戶管理技術分析 399
18.7.3 用戶管理實現過程 400
18.7.4 單元測試 402
18.8 部門管理模組設計 403
18.8.1 部門管理模組概述 403
18.8.2 部門管理技術分析 403
18.8.3 部門管理實現過程 404
18.9 人員信息管理模組設計 406
18.9.1 人員信息管理模組概述 406
18.9.2 人員信息管理技術分析 406
18.9.3 人員信息管理實現過程 407
18.10 考勤管理模組設計 413
18.10.1 考勤管理模組概述 413
18.10.2 考勤管理技術分析 413
18.10.3 考勤管理實現過程 414
18.11 考勤匯總查詢模組設計 420
18.11.1 考勤匯總查詢模組概述 420
18.11.2 考勤匯總查詢技術分析 420
18.11.3 考勤匯總查詢實現過程 421
18.12 開發技巧與難點分析 424
18.12.1 調用動態程式庫設計界面 424
18.12.2 主窗體的界面顯示 425
18.13 小結 425
附錄A Visual C++ 6.0 常用快捷鍵 426
A.1 Visual C++ 6.0選單命令及功能 426
A.2 Visual C++ 6.0常用快捷鍵 428
附錄B Visual Studio 2019簡介 430
B.1 安裝Visual Studio 2019 430
B.2 Visual Studio 2019開發環境介紹 433
B.3 Visual Studio 2019選單功能 437
B.4 Visual Studio 2019常用快捷鍵 440

相關詞條

熱門詞條

聯絡我們