C++程序開發實用教程(第2版)(微課版)
聶世方
相關主題
商品描述
目錄大綱
目 錄
第1章 快速搭建C++開發環境 1
1.1 C++語言概述 2
1.1.1 C++語言的發展歷程 2
1.1.2 C++語言的特點 2
1.2 常見的C++開發環境 3
1.2.1 Visual Studio 2019開發環境 3
1.2.2 Visual C++ 6.0開發環境 6
1.3 C++程序的創建 6
1.3.1 在Visual Studio 2019中創建 6
1.3.2 在Visual C++ 6.0中創建 9
1.4 C++語言的編譯過程 11
1.5 C++程序的編寫規範 12
1.6 就業面試問題解答 13
1.7 上機練練手 14
第2章 C++語言基礎 15
2.1 第一個C++程序 16
2.1.1 #include指令 16
2.1.2 iostream標準庫 17
2.1.3 命名空間 18
2.1.4 main函數 18
2.1.5 函數體 19
2.1.6 函數返回值 19
2.1.7 關於註釋 19
2.2 常量及符號 19
2.2.1 整型常量 20
2.2.2 實型常量 20
2.2.3 字符常量 21
2.2.4 字符串常量 22
2.2.5 其他常量 23
2.2.6 自定義常量 23
2.3 使用變量 25
2.3.1 認識標識符 25
2.3.2 變量的聲明 26
2.3.3 變量的賦值 27
2.3.4 整型變量 28
2.3.5 實型變量 29
2.3.6 字符變量 30
2.4 C++數據類型 31
2.4.1 整型數據類型 31
2.4.2 浮點型數據類型 32
2.4.3 字符型數據類型 33
2.4.4 布爾型數據類型 34
2.4.5 自定義數據類型 35
2.5 數據的輸入與輸出 36
2.5.1 C++語言中的流 36
2.5.2 認識cout與cin語句 37
2.5.3 流輸出格式的控制 38
2.6 就業面試問題解答 41
2.7 上機練練手 42
第3章 運算符與表達式 43
3.1 認識運算符與表達式 44
3.1.1 運算符的分類 44
3.1.2 運算符優先級 44
3.1.3 表達式 45
3.2 使用運算符及表達式 46
3.2.1 算術運算符與表達式 46
3.2.2 關系運算符與表達式 50
3.2.3 邏輯運算符與表達式 51
3.2.4 賦值運算符與表達式 54
3.2.5 位運算符與表達式 56
3.2.6 條件運算符與表達式 58
3.2.7 逗號運算符與表達式 59
3.2.8 雜項運算符與表達式 60
3.3 表達式中的類型轉換 61
3.3.1 自動轉換 61
3.3.2 強制轉換 62
3.4 就業面試問題解答 63
3.5 上機練練手 64
第4章 流程控制語句 65
4.1 順序結構 66
4.2 條件判斷語句 66
4.2.1 if語句 67
4.2.2 if…else語句 68
4.2.3 嵌套if語句 68
4.2.4 switch語句 71
4.3 循環語句 73
4.3.1 while語句 74
4.3.2 do…while語句 75
4.3.3 for語句 76
4.4 循環語句的嵌套 78
4.4.1 嵌套for循環 78
4.4.2 嵌套while循環 79
4.4.3 嵌套do...while循環 80
4.5 跳轉語句 81
4.5.1 break語句 81
4.5.2 continue語句 82
4.6 就業面試問題解答 84
4.7 上機練練手 84
第5章 精通函數的應用 85
5.1 函數概述 86
5.1.1 函數的概念 86
5.1.2 函數的定義 86
5.1.3 函數的聲明 88
5.2 函數參數與返回值 89
5.2.1 空函數 89
5.2.2 形參與實參 90
5.2.3 默認參數 90
5.2.4 聲明返回值類型 91
5.2.5 函數的返回值 93
5.3 函數參數的傳遞 95
5.3.1 值傳遞 95
5.3.2 引用傳遞 96
5.4 函數的調用 97
5.4.1 函數調用的方式 97
5.4.2 函數的嵌套調用 100
5.4.3 函數的遞歸調用 102
5.5 內聯與重載函數 104
5.5.1 內聯函數 104
5.5.2 函數重載 105
5.6 就業面試問題解答 107
5.7 上機練練手 108
第6章 玩轉數組與字符串 109
6.1 數組的概述 110
6.1.1 認識數組 110
6.1.2 數組的組成部分 110
6.2 一維數組 111
6.2.1 聲明一維數組 111
6.2.2 初始化一維數組 112
6.2.3 一維數組的應用 114
6.3 二維數組 115
6.3.1 二維數組的定義 115
6.3.2 二維數組的初始化 116
6.3.3 二維數組的應用 119
6.3.4 多維數組 120
6.4 數組與函數 121
6.4.1 一維數組作為函數的參數 122
6.4.2 傳送多維數組到函數 122
6.5 字符數組 123
6.5.1 字符數組的定義 123
6.5.2 字符數組的初始化 124
6.5.3 字符數組的應用 125
6.5.4 字符串和字符數組 126
6.5.5 字符數組的輸入 127
6.5.6 字符數組的輸出 129
6.6 就業面試問題解答 131
6.7 上機練練手 132
第7章 靈活使用指針 133
7.1 指針概述 134
7.1.1 指針變量的定義 134
7.1.2 指針變量的賦值 134
7.1.3 指針變量的引用 137
7.1.4 指針變量的運算 139
7.2 指針與函數 142
7.2.1 函數返回指針 142
7.2.2 指向函數的指針 143
7.2.3 指針變量作為函數參數 145
7.3 指針與數組 146
7.3.1 數組元素的指針 146
7.3.2 通過指針引用數組元素 147
7.3.3 指向數組的指針變量作為函數
參數 149
7.3.4 通過指針對多維數組進行
引用 150
7.4 指針與字符串 155
7.4.1 字符指針 155
7.4.2 使用字符指針做函數參數 156
7.5 指針數組和多重指針 159
7.5.1 指針數組 159
7.5.2 指向指針的指針 160
7.6 其他類型的指針 161
7.6.1 const指針 162
7.6.2 void類型指針 162
7.7 就業面試問題解答 165
7.8 上機練練手 166
第8章 結構體和共享體 167
8.1 結構體概述 168
8.1.1 結構體類型 168
8.1.2 定義結構體變量 169
8.1.3 初始化結構體變量 170
8.1.4 結構體變量的引用 171
8.2 結構體數組 173
8.2.1 定義結構體數組 173
8.2.2 結構體數組的初始化 174
8.2.3 結構體數組元素的引用 175
8.3 結構體指針 176
8.3.1 指向結構體變量的指針 176
8.3.2 指向結構體數組的指針 178
8.3.3 結構體變量作為函數參數 180
8.3.4 指向結構體變量的指針作為
函數參數 181
8.3.5 結構體作為函數的返回值 182
8.4 共享體 183
8.4.1 共享體的定義 183
8.4.2 共享體變量的定義 184
8.4.3 共享體變量的初始化 185
8.4.4 共享體變量的引用 186
8.5 枚舉 187
8.5.1 定義枚舉類型 187
8.5.2 定義枚舉類型變量 187
8.6 就業面試問題解答 189
8.7 上機練練手 189
第9章 面向對象編程 191
9.1 面向對象編程概述 192
9.1.1 面向對象編程的幾個概念 192
9.1.2 面向對象編程與面向過程
編程的區別 193
9.2 C++類 193
9.2.1 類的概述與定義 193
9.2.2 類的實現方法 194
9.2.3 類對象的聲明 196
9.2.4 類對象的引用 196
9.3 類訪問修飾符 199
9.3.1 公有(public)成員 200
9.3.2 私有(private)成員 201
9.3.3 保護(protected)成員 202
9.4 C++類成員 203
9.4.1 內聯成員函數 203
9.4.2 靜態類成員 204
9.4.3 常量類成員 206
9.4.4 隱藏的this指針 209
9.4.5 類對象數組 210
9.5 友元 212
9.5.1 友元函數 212
9.5.2 友元類 213
9.6 就業面試問題解答 215
9.7 上機練練手 215
第10章 繼承與派生 217
10.1 繼承概述 218
10.1.1 什麽是繼承 218
10.1.2 基類與派生類 219
10.1.3 基類與派生類的轉換 221
10.1.4 基類中的構造函數 225
10.1.5 繼承中的構造順序 228
10.2 C++的繼承方式 230
10.2.1 公有繼承public 230
10.2.2 私有繼承private 231
10.2.3 保護繼承protected 233
10.3 多重繼承 234
10.3.1 聲明多繼承 235
10.3.2 多繼承下的構造函數 235
10.3.3 多繼承的二義性 237
10.4 就業面試問題解答 241
10.5 上機練練手 242
第11章 虛函數和抽象類 243
11.1 多態概述 244
11.1.1 認識多態行為 244
11.1.2 實現多態性 244
11.2 虛函數與虛函數表 246
11.2.1 虛函數的作用 246
11.2.2 動態綁定和靜態綁定 248
11.2.3 定義純虛函數 249
11.2.4 認識虛函數表 251
11.3 抽象類與多重繼承 252
11.3.1 抽象類的作用 252
11.3.2 抽象類的多重繼承 253
11.4 就業面試問題解答 254
11.5 上機練練手 254
第12章 模板的應用 257
12.1 模板的基礎 258
12.1.1 模板簡介 258
12.1.2 模板的用處 258
12.2 函數模板 258
12.2.1 函數模板的定義 259
12.2.2 函數模板的調用 260
12.2.3 函數模板的重載 261
12.3 類模板 262
12.3.1 類模板的定義 262
12.3.2 類模板的實例化 264
12.3.3 類模板的使用 265
12.4 模板的特化 267
12.4.1 函數模板的特化 267
12.4.2 類模板的特化 268
12.4.3 類模板的偏特化 269
12.5 就業面試問題解答 270
12.6 上機練練手 270
第13章 容器和迭代器 273
13.1 認識容器 274
13.2 順序容器 274
13.2.1 向量(vector)類 275
13.2.2 列表(list)類 278
13.2.3 雙端隊列(deque)類 282
13.3 關聯式容器 283
13.3.1 映射(map)類 283
13.3.2 多重映射(multimap)類 286
13.3.3 set(集合)類 287
13.3.4 多重集合(multiset)類 288
13.4 容器適配器 289
13.4.1 棧(stack)類 289
13.4.2 隊列(queue)類 291
13.4.3 優先級隊列類 292
13.5 C++中的迭代器 293
13.5.1 迭代器的分類 293
13.5.2 迭代器的使用 295
13.6 就業面試問題解答 296
13.7 上機練練手 296
第14章 異常的處理 299
14.1 程序常見錯誤 300
14.1.1 語法錯誤 300
14.1.2 邏輯錯誤 300
14.1.3 運行時錯誤 301
14.2 認識異常處理 301
14.2.1 異常處理機制 301
14.2.2 認識標準異常 301
14.2.3 異常處理語句塊 302
14.3 程序異常的處理 303
14.3.1 拋出異常 303
14.3.2 重新拋出異常 304
14.3.3 捕獲所有異常 305
14.3.4 異常的匹配 306
14.3.5 自定義異常類 309
14.3.6 構造函數的異常處理 310
14.4 就業面試問題解答 311
14.5 上機練練手 312
第15章 C++操作文件 313
15.1 文件的基本操作 314
15.1.1 文件的I/O操作 314
15.1.2 文件順序讀寫 317
15.2 文件的打開與關閉 317
15.2.1 文件的打開 317
15.2.2 文件的關閉 320
15.3 文件的讀寫操作 320
15.3.1 將變量寫入到文件 321
15.3.2 將變量寫入文件尾部 321
15.3.3 從文本文件中讀取變量 322
15.3.4 檢測EOF 323
15.3.5 使用函數處理文本文件 323
15.4 就業面試問題解答 325
15.5 上機練練手 325
第16章 開發企業工資管理系統 327
16.1 系統分析 328
16.2 數據庫設計 328
16.3 功能分析及實現 329
16.3.1 系統登錄模塊 329
16.3.2 主界面模塊 333
16.3.3 管理員管理模塊 335
16.3.4 員工管理模塊 339
16.3.5 工資管理模塊 345
16.4 系統運行與測試 350