C++ 入門很輕松 (微課超值版)
內容描述
《C++入門很輕松:微課超值版》是針對零基礎讀者編寫的C++入門教材,側重實戰,結合流行有趣的熱點案例,詳細地介紹了C++開發中的各項技術。全書分為16章,內容包括快速步入C++的世界、C++語言基礎、使用常量和變量、使用運算符和表達式、程序流程控制結構、函數與函數調用、數值數組與字符數組、C++中的指針和引用、結構體/共享體和枚舉、C++中的類和對象、C++中的繼承與派生、C++中的多態與重載、C++中模板的應用、容器/算法與迭代器、C++程序的異常處理、C++中文件的操作。 本書通過大量案例,不僅可以幫助初學者快速入門,還可以讓讀者積累項目開發經驗。通過微信掃碼可以快速查看對應案例的微視頻操作及實戰訓練中的解題思路;通過一步步引導的方式,可以檢驗讀者對每章知識點掌握的程度。另外,本書還贈送大量超值資源,包括精美幻燈片、案例源代碼、教學大綱、求職資源庫、面試資源庫、筆試題庫和“小白”項目實戰手冊。本書提供了技術支持QQ群,專為讀者答疑解難,降低零基礎學習編程的門檻,讓讀者輕松跨入編程的領域。 本書適合零基礎的C++自學者和C++開發技術人員,還可作為大、中專院校的學生和培訓機構學員的參考用書。
目錄大綱
第1章 快速步入C++的世界 001
1.1 C++語言概述 001
1.1.1 C語言與C++語言的關系 001
1.1.2 C++語言的特點 001
1.1.3 C++的發展歷程 002
1.2 搭建C++開發環境 002
1.2.1 安裝Visual Studio 2019 002
1.2.2 啟動Visual Studio 2019 004
1.2.3 使用Visual Studio 2019建立C++程序 005
1.3 C++的編譯過程 009
1.4 新手疑難問題解答 010
1.5 實戰訓練 010
第2章 C++語言基礎 011
2.1 C++基本語法 011
2.1.1 C++中的基本概念 011
2.1.2 C++中的分號和空格 011
2.1.3 C++中的語句塊 012
2.1.4 C++中的標識符 012
2.1.5 C++中的關鍵字 013
2.2 C++程序的結構 013
2.2.1 第一個C++程序 013
2.2.2 #include指令 014
2.2.3 iostream標準庫 015
2.2.4 命名空間 016
2.2.5 函數main() 016
2.2.6 關於註釋 017
2.3 C++數據類型 017
2.3.1 整型數據類型 017
2.3.2 浮點型數據類型 019
2.3.3 字符型數據類型 019
2.3.4 布爾型數據類型 021
2.3.5 自定義數據類型 021
2.4 數據的輸入與輸出 022
2.4.1 認識控制台 022
2.4.2 C++語言中的流 023
2.4.3 認識cout與cin語句 024
2.4.4 流輸出格式的控制 026
2.5 新手疑難問題解答 029
2.6 實戰訓練 030
第3章 使用常量和變量 031
3.1 使用常量 031
3.1.1 認識常量 031
3.1.2 整型常量 032
3.1.3 實型常量 032
3.1.4 字符常量 033
3.1.5 字符串常量 034
3.1.6 其他常量 035
3.2 自定義常量 035
3.2.1 使用#define預處理器 036
3.2.2 使用const關鍵字 037
3.3 使用變量 038
3.3.1 認識變量 038
3.3.2 變量的聲明 039
3.3.3 變量的賦值 040
3.3.4 變量的作用域 041
3.3.5 整型變量 044
3.3.6 實型變量 045
3.3.7 字符型變量 046
3.3.8 布爾型變量 047
3.4 新手疑難問題解答 047
3.5 實戰訓練 048
第4章 使用運算符和表達式 049
4.1 認識運算符 049
4.1.1 算術運算符 049
4.1.2 自增、自減運算符 050
4.1.3 關系運算符 051
4.1.4 邏輯運算符 052
4.1.5 賦值運算符 054
4.1.6 位運算符 055
4.1.7 雜項運算符 056
4.1.8 逗號運算符 057
4.2 優先級與結合性 058
4.2.1 運算符優先級 058
4.2.2 運算符結合性 059
4.3 使用表達式 061
4.3.1 算術表達式 061
4.3.2 賦值表達式 063
4.3.3 關系表達式 064
4.3.4 邏輯表達式 065
4.3.5 位運算表達式 066
4.3.6 條件表達式 067
4.3.7 逗號表達式 068
4.4 表達式中的類型轉換 068
4.4.1 自動轉換 068
4.4.2 強制轉換 070
4.5 新手疑難問題解答 071
4.6 實戰訓練 071
第5章 程序流程控制結構 072
5.1 順序結構 072
5.2 選擇結構 073
5.2.1 if語句 073
5.2.2 if…else語句 074
5.2.3 嵌套if…else語句 075
5.2.4 switch語句 078
5.2.5 嵌套switch語句 080
5.3 循環結構 081
5.3.1 循環結構類型 081
5.3.2 循環控制語句 091
5.4 新手疑難問題解答 096
5.5 實戰訓練 097
第6章 函數與函數調用 098
6.1 函數的概述 098
6.1.1 函數的概念 098
6.1.2 函數的定義 098
6.1.3 函數的聲明 100
6.2 函數參數及返回值 101
6.2.1 空函數 101
6.2.2 形參與實參 102
6.2.3 函數的默認參數 102
6.2.4 參數的傳遞方式 103
6.2.5 聲明返回值類型 105
6.2.6 函數的返回值 107
6.3 函數的調用 109
6.3.1 函數調用的形式 109
6.3.2 函數調用的方式 109
6.3.3 函數的傳值調用 111
6.3.4 函數的嵌套調用 111
6.3.5 函數的遞歸調用 113
6.4 變量的作用域 116
6.4.1 自動變量 116
6.4.2 靜態局部變量 116
6.4.3 外部變量 117
6.4.4 寄存器變量 118
6.5 內聯函數 118
6.6 新手疑難問題解答 119
6.7 實戰訓練 120
第7章 數值數組與字符數組 121
7.1 數組概述 121
7.1.1 認識數組 121
7.1.2 數組的特點 122
7.2 一維數組 122
7.2.1 定義一維數組 122
7.2.2 初始化一維數組 123
7.2.3 一維數組的應用 125
7.3 二維數組 127
7.3.1 定義二維數組 127
7.3.2 初始化二維數組 128
7.3.3 二維數組的應用 129
7.4 多維數組 131
7.5 字符數組 131
7.5.1 字符數組的定義 131
7.5.2 初始化字符數組 132
7.5.3 字符數組的應用 133
7.5.4 字符數組的輸出 134
7.5.5 字符數組的輸入 135
7.6 新手疑難問題解答 137
7.7 實戰訓練 138
第8章 C++中的指針和引用 139
8.1 指針與變量 139
8.1.1 指針變量的定義 139
8.1.2 指針變量的初始化 140
8.1.3 指針變量的引用 142
8.1.4 指針變量的運算 143
8.2 指針與函數 145
8.2.1 指針傳送到函數中 145
8.2.2 返回值為指針的函數 146
8.2.3 指向函數的指針 147
8.3 指針與數組 148
8.3.1 數組元素的指針 149
8.3.2 通過指針引用數組元素 149
8.3.3 指向數組的指針變量作為函數參數 152
8.3.4 通過指針對多維數組進行引用 156
8.4 指針與字符串 160
8.4.1 指向字符串的指針變量 160
8.4.2 使用字符指針作為函數參數 161
8.5 指針數組和多重指針 163
8.5.1 指針數組 163
8.5.2 指向指針的指針 164
8.6 C++中的引用 166
8.6.1 認識C++中的引用 166
8.6.2 通過引用傳遞函數參數 166
8.6.3 把引用作為返回值 167
8.7 新手疑難問題解答 168
8.8 實戰訓練 168
第9章 結構體、共享體和枚舉 170
9.1 結構體概述 170
9.1.1 結構體的概念 170
9.1.2 結構體類型的定義 171
9.1.3 結構體變量的定義 172
9.1.4 結構體變量的初始化 173
9.1.5 結構體變量成員的引用 174
9.2 結構體數組 175
9.2.1 結構體數組的定義 175
9.2.2 結構體數組的初始化 175
9.2.3 結構體數組的引用 176
9.3 結構體與函數 177
9.3.1 結構體變量作為函數參數 177
9.3.2 結構體變量的成員作為函數參數 178
9.3.3 結構體變量作為函數返回值 179
9.4 結構體與指針 180
9.4.1 指向結構體變量的指針 180
9.4.2 指向結構體數組的指針 182
9.4.3 結構體指針作為函數參數 183
9.5 共享體數據類型 184
9.5.1 共享體類型的聲明 184
9.5.2 共享體變量的定義 184
9.5.3 共享體變量的初始化 186
9.5.4 共享體變量的引用 186
9.6 枚舉數據類型 187
9.6.1 枚舉類型的定義 187
9.6.2 枚舉類型變量的定義 188
9.7 新手疑難問題解答 189
9.8 實戰訓練 190
第10章 C++中的類和對象 192
10.1 C++類 192
10.1.1 類的概述與定義 192
10.1.2 類的實現方法 193
10.1.3 類對象的聲明 195
10.1.4 類對象的引用 195
10.2 類訪問修飾符 198
10.2.1 公有成員 199
10.2.2 私有成員 200
10.2.3 保護成員 201
10.3 構造函數 201
10.3.1 構造函數的定義 202
10.3.2 帶參數的構造函數 203
10.3.3 使用參數初始化表 204
10.3.4 構造函數的重載 205
10.3.5 構造函數的默認參數 206
10.3.6 復制構造函數 207
10.4 析構函數 209
10.4.1 認識析構函數 209
10.4.2 析構函數的調用 210
10.5 C++類成員 211
10.5.1 內聯成員函數 211
10.5.2 靜態類成員 212
10.5.3 常量類成員 214
10.5.4 隱式/顯式的this指針 216
10.6 類對象數組 218
10.6.1 類對象數組的調用 218
10.6.2 類對象數組和默認構造函數 219
10.6.3 類對象數組和析構函數 220
10.7 友元 221
10.7.1 友元函數 221
10.7.2 友元類 222
10.8 新手疑難問題解答 223
10.9 實戰訓練 224
第11章 C++中的繼承與派生 225
11.1 C++中的繼承 225
11.1.1 什麽是繼承 225
11.1.2 基類與派生類 226
11.1.3 基類中的構造函數 228
11.1.4 繼承中的構造順序 231
11.2 C++繼承方式 233
11.2.1 公有繼承 233
11.2.2 私有繼承 234
11.2.3 保護繼承 235
11.3 派生類存取基類成員 237
11.3.1 私有成員的存取 237
11.3.2 繼承與靜態成員 238
11.4 多重繼承 239
11.4.1 聲明多繼承 240
11.4.2 多繼承下的構造函數 240
11.5 新手疑難問題解答 242
11.6 實戰訓練 242
第12章 C++中的多態與重載 244
12.1 多態概述 244
12.1.1 認識多態行為 244
12.1.2 實現多態性 244
12.2 虛函數與虛函數表 246
12.2.1 虛函數的作用 246
12.2.2 動態綁定和靜態綁定 248
12.2.3 定義純虛函數 249
12.2.4 認識虛函數表 251
12.3 抽象類與多重繼承 252
12.3.1 抽象類的作用 253
12.3.2 抽象類的多重繼承 253
12.4 認識運算符的重載 254
12.4.1 什麽是運算符重載 255
12.4.2 運算符重載的形式 255
12.4.3 可重載的運算符 258
12.5 常用運算符的重載 259
12.5.1 “<”運算符重載 259
12.5.2 “+”運算符重載 260
12.5.3 “=”賦值運算符重載 261
12.5.4 前置運算符重載 263
12.5.5 後置運算符重載 264
12.5.6 插入運算符重載 265
12.5.7 折取運算符重載 266
12.6 新手疑難問題解答 268
12.7 實戰訓練 268
第13章 C++中模板的應用 269
13.1 函數模板 269
13.1.1 函數模板的用途 269
13.1.2 函數模板的定義 270
13.1.3 函數模板的調用 271
13.1.4 函數模板的重載 273
13.2 類模板 274
13.2.1 類模板的定義 274
13.2.2 類模板的實例化 277
13.2.3 類模板的使用 277
13.3 模板的特化 279
13.3.1 函數模板的特化 280
13.3.2 類模板的特化 281
13.4 新手疑難問題解答 282
13.5 實戰訓練 283
第14章 容器、算法與迭代器 284
14.1 認識容器 284
14.2 順序容器 285
14.2.1 向量類模板 285
14.2.2 鏈表類模板 290
14.2.3 雙端隊列類模板 296
14.3 關聯容器 297
14.3.1 映射類模板 298
14.3.2 集合類模板 301
14.3.3 多重集合類模板 302
14.4 容器適配器 303
14.4.1 棧類 303
14.4.2 隊列類 304
14.4.3 優先級隊列類 305
14.5 C++中的算法 307
14.5.1 數據編輯算法 307
14.5.2 查找算法 308
14.5.3 比較算法 310
14.5.4 排序相關算法 311
14.6 C++中的迭代器 312
14.6.1 迭代器的分類 312
14.6.2 迭代器的使用 314
14.7 新手疑難問題解答 315
14.8 實戰訓練 315
第15章 C++程序的異常處理 316
15.1 認識異常處理 316
15.1.1 認識異常處理機制 316
15.1.2 認識標準異常 317
15.1.3 異常處理語句塊 317
15.2 異常處理的簡單應用 318
15.2.1 拋出異常 318
15.2.2 重新拋出異常 320
15.2.3 捕獲所有異常 321
15.2.4 異常的匹配 321
15.3 異常處理的高級應用 324
15.3.1 自定義異常類 324
15.3.2 捕獲多個異常 325
15.3.3 異常的重新捕獲 327
15.3.4 構造函數的異常處理 328
15.4 新手疑難問題解答 329
15.5 實戰訓練 330
第16章 C++中文件的操作 331
16.1 文件I/O操作 331
16.1.1 輸入文件流 331
16.1.2 輸出文件流 332
16.1.3 輸入/輸出文件流 333
16.2 文件的打開與關閉 334
16.2.1 文件的打開 334
16.2.2 文件的關閉 336
16.3 文本文件的處理 337
16.3.1 將變量寫入文本文件 337
16.3.2 將變量寫入文件尾部 337
16.3.3 從文本文件中讀取變量 338
16.4 使用函數處理文本文件 339
16.4.1 使用函數get()讀取文本文件 339
16.4.2 使用函數getline()讀取文本文件 340
16.4.3 使用函數put()將記錄寫入文本文件 340
16.5 新手疑難問題解答 341
16.6 實戰訓練 341
作者介紹
雲尚科技由眾多軟件開發工程師和數據庫運維工程師組成。雲尚科技團隊曾做項目:基於ASP.NET平台的演播廳票務系統,B2C電子商務平台,思邁威科技CRM管理系統和某汽車網大型行業級網站應用。雲尚科技團隊為鄭州大學、黃河科技大學等高校提供畢業生項目實訓服務,對於初學者常遇到的問題有豐富的解決經驗。雲尚科技長期從事軟件項目開發、Linux系統管理與運維,具有豐富開發和教學經驗。雲尚科技同時投入視頻在線教育,目前擁有會員4萬多,為編程初學者提供z優質的教學視頻課程。