從零開始學C++(2022年化學工業出版社出版書籍)

本詞條是多義詞,共2個義項
更多義項 ▼ 收起列表 ▲

《從零開始學C++》是2022年化學工業出版社出版的書籍,作者是明日科技。

基本介紹

  • 中文名:從零開始學C++
  • 作者:是明日科技
  • 出版社化學工業出版社
  • 出版時間:2022年7月1日
  • 頁數:355 頁
  • 開本:16 開
  • 裝幀:平裝
  • ISBN:9787122404527
內容簡介,圖書目錄,

內容簡介

本書從零基礎讀者的角度出發,通過通俗易懂的語言、豐富的實例,循序漸進地讓讀者在實踐中學習C++編程知識,並提升自己的實際開發能力。 全書共分為6篇20章,內容包括初識C++、第一個C++程式、數據類型、運算符與表達式、條件判斷語句、循環語句、函式、數組、指針與引用、構造數據類型、面向對象編程、類和對象、繼承與派生、模板、STL標準模板庫、檔案操作、RTTI與異常處理、網路通信、圖書管理系統、網路五子棋等。書中知識點講解細緻,側重介紹每個知識點的使用場景,涉及的代碼給出了詳細的注釋,可以使讀者輕鬆領會C++程式開發的精髓,快速提高開發技能。同時,本書配套了大量教學視頻,掃碼即可觀看,還提供相關程式的源檔案,方便讀者實踐。 本書適合C++初學者、軟體開發入門者自學使用,也可用作高等院校相關專業的教材及參考書。

圖書目錄

第1篇 基礎知識篇
第1章 初識C++ 2 視頻講解:6節,33分鐘
1.1 C++發展史 3
1.1.1 20世紀最偉大的發明之一——計算機 3
1.1.2 C++發展歷程 3
1.1.3 C++相關的傑出人物 4
1.2 開發環境 5
1.2.1 Visual C++ 6.0的安裝 5
1.2.2 Visual C++ 6.0的使用 8
1.3 開發應用程式過程 12
1.4 C++工程項目檔案 15
1.5 C++的特點 15
本章知識思維導圖 16
第2章 第一個C++程式 17 視頻講解:2節,29分鐘
2.1 最簡單的C++程式 18
2.2 #include指令 18
2.2.1 #include 18
2.2.2 iostream 19
2.3 注釋 19
2.3.1 單行注釋 19
2.3.2 多行注釋 20
2.4 main函式 20
2.5 函式體 21
2.6 函式返回值 22
本章知識思維導圖 22
第3章 數據類型 23 視頻講解:4節,133分鐘
3.1 常量及符號 24
3.1.1 整型常量 24
3.1.2 浮點型常量 25
3.1.3 字元常量 25
【實例3.1】 轉義字元套用 25
3.1.4 字元串常量 26
3.1.5 其他常量 27
3.2 變數 27
3.2.1 標識符 27
3.2.2 變數與變數說明 28
3.2.3 整型變數 28
3.2.4 浮點型變數 29
3.2.5 變數賦值 29
3.2.6 變數賦初值 29
3.2.7 字元變數 30
【實例3.2】 字元型數據與整型數據間運算 30
【實例3.3】 字元型數據進行算術運算 30
3.3 常用數據類型 31
3.3.1 定義數據類型 32
【實例3.4】 利用浮點數精度進行實數比較 33
3.3.2 字元類型 33
3.3.3 布爾類型 33
3.4 數據輸入與輸出 34
3.4.1 控制台螢幕 34
3.4.2 C++中的流 34
【實例3.5】 簡單輸出字元 35
3.4.3 流操作的控制 36
【實例3.6】 控制列印格式程式 36
【實例3.7】 使用printf進行輸出 39
本章知識思維導圖 40
第4章 運算符與表達式 41 視頻講解:4節,129分鐘
4.1 運算符 42
4.1.1 算術運算符 42
4.1.2 關係運算符 43
4.1.3 邏輯運算符 44
【實例4.1】 求邏輯表達式的值 45
4.1.4 賦值運算符 45
4.1.5 位運算符 46
【實例4.2】 位運算符套用 47
4.1.6 移位運算符 48
4.1.7 sizeof運算符 49
4.1.8 條件運算符 50
4.1.9 逗號運算符 50
4.2 結合性和優先權 50
4.3 表達式 51
4.3.1 算術表達式 52
4.3.2 關係表達式 52
4.3.3 條件表達式 52
4.3.4 賦值表達式 52
4.3.5 邏輯表達式 53
4.3.6 逗號表達式 53
【實例4.3】 逗號運算符套用 53
4.3.7 表達式中的類型轉換 54
【實例4.4】 隱式類型轉換 55
【實例4.5】 強制類型轉換套用 56
4.4 判斷左值與右值 56
本章知識思維導圖 57
第5章 條件判斷語句 58 視頻講解:5節,98分鐘
5.1 決策分支 59
5.2 判斷語句 59
5.2.1 第一種形式的判斷語句 59
【實例5.1】 判斷輸入數是否為奇數 60
5.2.2 第二種形式的判斷語句 61
【實例5.2】 根據分數判斷是否優秀 61
【實例5.3】 改進的奇偶性判別 62
5.2.3 第三種形式的判斷語句 62
【實例5.4】 根據成績劃分等級 63
5.3 使用條件運算符進行判斷 64
【實例5.5】 用條件運算符完成判斷數的奇偶性 64
【實例5.6】 條件表達式判斷一個數是否是3和5的整倍數(1) 65
【實例5.7】 條件表達式判斷一個數是否是3和5的整倍數(2) 65
5.4 switch語句 65
【實例5.8】 根據輸入的字元輸出字元串(1) 66
【實例5.9】 根據輸入的字元輸出字元串(2) 67
【實例5.10】 根據輸入的字元輸出字元串(3) 67
5.5 判斷語句的嵌套 69
【實例5.11】 判斷是否是閏年(1) 69
【實例5.12】 判斷是否是閏年(2) 70
本章知識思維導圖 71
第6章 循環語句 72 視頻講解:5節,82分鐘
6.1 while循環語句 73
【實例6.1】 使用while循環語句計算從1到10的累加 73
6.2 do…while循環語句 74
【實例6.2】 使用do…while循環語句計算1到10的累加 75
6.3 for循環語句 76
【實例6.3】 用for循環語句計算從1到10的累加 76
6.4 循環控制 79
6.4.1 控制循環的變數 79
6.4.2 break語句 80
【實例6.4】 使用break語句跳出循環 80
6.4.3 continue語句 81
【實例6.5】 使用continue語句跳出循環 81
6.5 循環嵌套 81
【實例6.6】 輸出乘法口訣表 82
本章知識思維導圖 83
第2篇 高級技術篇
第7章 函式 86 視頻講解:7節,203分鐘
7.1 函式概述 87
7.1.1 函式的定義 87
7.1.2 函式的聲明 87
【實例7.1】 聲明、定義和使用函式 87
7.2 函式參數及返回值 88
7.2.1 返回值 88
7.2.2 空函式 89
7.2.3 形參與實參 89
7.2.4 默認參數 90
【實例7.2】 調用默認參數的函式 90
7.2.5 可變參數 91
【實例7.3】 定義省略號形式的函式參數 91
7.3 函式調用 92
7.3.1 傳值調用 92
【實例7.4】 使用傳值調用 92
7.3.2 嵌套調用 93
7.3.3 遞歸調用 94
【實例7.5】 漢諾(Hanoi)塔問題 94
【實例7.6】 利用循環求n的階乘 96
7.4 變數作用域 96
7.5 重載函式 97
【實例7.7】 使用重載函式 97
7.6 內聯函式 98
7.7 變數的存儲類別 98
7.7.1 auto變數 99
【實例7.8】 輸出不同生命期的變數值 99
7.7.2 static變數 100
【實例7.9】 使用static變數實現累加 100
7.7.3 register變數 101
7.7.4 extern變數 101
本章知識思維導圖 102
第8章 數組 103 視頻講解:7節,108分鐘
8.1 一維數組 104
8.1.1 一維數組的聲明 104
8.1.2 一維數組的引用 104
8.1.3 一維數組的初始化 104
【實例8.1】 一維數組賦值 105
8.2 二維數組 106
8.2.1 二維數組的聲明 106
8.2.2 二維數組元素的引用 106
8.2.3 二維數組的初始化 107
【實例8.2】 將二維數組行列對換 108
8.3 字元數組 108
【實例8.3】 使用字元串結束符0防止出現非法字元 109
【實例8.4】 輸出字元數組中內容 110
8.4 字元串處理函式 111
8.4.1 strcat函式 111
【實例8.5】 連線字元串 111
【實例8.6】 不使用strcat函式連線兩個字元串 111
8.4.2 strcpy函式 112
【實例8.7】 字元串複製 112
8.4.3 strcmp函式 113
【實例8.8】 字元串比較 113
8.4.4 strlen函式 114
【實例8.9】 獲取字元串長度 114
本章知識思維導圖 115
第9章 指針與引用 116 視頻講解:6節,156分鐘
9.1 指針 117
9.1.1 變數與指針 117
【實例9.1】 輸出變數的地址值 118
9.1.2 指針運算符和取地址運算符 119
【實例9.2】 輸出指針對應的數值 119
9.1.3 指針運算 120
【實例9.3】 輸出指針運算後地址值 120
9.1.4 指向空的指針與空類型指針 121
【實例9.4】 空類型指針的使用 121
9.1.5 指向常量的指針與指針常量 122
【實例9.5】 指針與const 122
9.2 指針與數組 123
9.2.1 數組的存儲 123
9.2.2 指針與一維數組 123
【實例9.6】 通過指針變數獲取數組中元素 124
9.2.3 指針與二維數組 125
【實例9.7】 將多維數組轉換成一維數組 125
【實例9.8】 使用指針變數遍歷二維數組 126
【實例9.9】 使用數組地址將二維數組輸出 127
【實例9.10】 數組指針與指針數組 128
9.2.4 指針與字元數組 129
【實例9.11】 通過指針偏移連線兩個字元串 129
9.3 指針在函式中的套用 130
9.3.1 傳遞地址 130
【實例9.12】 調用自定義函式交換兩變數值 130
9.3.2 指向函式的指針 131
【實例9.13】 使用指針函式進行平均值計算 132
9.3.3 從函式中返回指針 132
【實例9.14】 指針作返回值 133
9.4 指針數組 133
【實例9.15】 用指針數組中各個元素分別指向若干個字元串 134
9.5 安全使用指針 135
9.5.1 記憶體分配 135
【實例9.16】 動態分配空間 136
【實例9.17】 主動釋放記憶體空間 136
9.5.2 記憶體安全 137
【實例9.18】 被銷毀的記憶體 137
【實例9.19】 丟失的記憶體 138
【實例9.20】 回收動態記憶體的一般處理步驟 139
9.6 引用 139
9.6.1 引用概述 139
【實例9.21】 輸出引用 140
9.6.2 使用引用傳遞參數 141
【實例9.22】 通過引用交換數值 141
9.6.3 數組作函式參數 142
【實例9.23】 獲取命令參數 142
【實例9.24】 輸出每行數組中的最小值 142
本章知識思維導圖 144
第10章 構造數據類型 145 視頻講解:6節,92分鐘
10.1 結構體 146
10.1.1 結構體定義 146
10.1.2 結構體變數 146
10.1.3 結構體成員及初始化 147
【實例10.1】 為結構體成員賦值 147
【實例10.2】 使用結構體指針變數引用結構體成員 148
10.1.4 結構體的嵌套 149
【實例10.3】 使用嵌套的結構體 150
10.1.5 結構體大小 150
10.2 重命名數據類型 151
【實例10.4】 三隻小狗 152
10.3 結構體與函式 153
10.3.1 結構體變數作函式參數 153
【實例10.5】 使用結構體變數作函式參數 153
10.3.2 結構體指針變數作函式參數 154
【實例10.6】 使用結構體指針變數作函式參數 154
10.4 結構體數組 155
10.4.1 結構體數組的聲明與引用 155
10.4.2 指針訪問結構體數組 156
【實例10.7】 使用指針訪問結構體數組 156
10.5 共用體 156
10.5.1 共用體的定義與聲明 157
10.5.2 共用體的大小 158
【實例10.8】 使用共用體變數 158
10.5.3 共用體類型的特點 158
10.6 枚舉類型 159
10.6.1 枚舉類型的聲明 159
10.6.2 枚舉類型變數 160
【實例10.9】 枚舉變數的賦值 160
10.6.3 枚舉類型的運算 161
【實例10.10】 枚舉值的比較運算 161
本章知識思維導圖 162
第3篇 面向對象編程篇
第11章 面向對象編程 164 視頻講解:3節,38分鐘
11.1 面向對象概述 165
11.2 面向過程編程與面向對象編程 166
11.2.1 面向過程編程 166
11.2.2 面向對象編程 166
11.2.3 面向對象的特點 167
11.3 統一建模語言 167
11.3.1 統一建模語言概述 167
11.3.2 統一建模語言的結構 168
11.3.3 面向對象的建模 170
本章知識思維導圖 170
第12章 類和對象 171 視頻講解:6節,197分鐘
12.1 C++類 172
12.1.1 類概述 172
12.1.2 類的聲明與定義 172
12.1.3 類的實現 173
12.1.4 對象的聲明 175
【實例12.1】 對象的引用 176
12.2 構造函式 177
12.2.1 構造函式概述 177
【實例12.2】 使用構造函式進行初始化操作 178
12.2.2 複製構造函式 179
【實例12.3】 使用複製構造函式 179
12.3 析構函式 180
【實例12.4】 使用析構函式 180
12.4 類成員 181
12.4.1 訪問類成員 181
12.4.2 內聯成員函式 183
12.4.3 靜態類成員 184
12.4.4 隱藏的this指針 185
12.4.5 嵌套類 187
12.5 友元 188
12.5.1 友元概述 188
12.5.2 友元類 189
12.5.3 友元方法 190
【實例12.5】 定義友元方法 190
12.6 命名空間 192
12.6.1 使用命名空間 192
12.6.2 定義命名空間 192
【實例12.6】 定義命名空間 193
【實例12.7】 使用“using namespace”語句 194
12.6.3 在多個檔案中定義命名空間 194
12.6.4 定義嵌套的命名空間 195
【實例12.8】 定義嵌套的命名空間 196
12.6.5 定義未命名的命名空間 197
本章知識思維導圖 198
第13章 繼承與派生 199 視頻講解:5節,112分鐘
13.1 繼承 200
13.1.1 類的繼承 200
【實例13.1】 以公有方式繼承 200
13.1.2 繼承後可訪問性 201
13.1.3 構造函式訪問順序 203
【實例13.2】 構造函式訪問順序 203
13.1.4 子類顯式調用父類構造函式 204
【實例13.3】 子類顯式調用父類的構造函式 204
13.1.5 子類隱藏父類的成員函式 205
【實例13.4】 子類隱藏父類的成員函式 206
13.2 重載運算符 207
13.2.1 重載運算符的必要性 207
13.2.2 重載運算符的形式與規則 208
【實例13.5】 通過重載運算符實現求和 209
13.2.3 重載運算符的運算 209
13.2.4 轉換運算符 211
【實例13.6】 轉換運算符 212
13.3 多重繼承 212
13.3.1 多重繼承定義 212
13.3.2 二義性 214
13.3.3 多重繼承的構造順序 214
【實例13.7】 多重繼承的構造順序 214
13.4 多態 215
13.4.1 虛函式概述 216
13.4.2 利用虛函式實現動態綁定 216
【實例13.8】 利用虛函式實現動態綁定 216
13.4.3 虛繼承 217
【實例13.9】 虛繼承 217
13.5 抽象類 219
【實例13.10】 創建純虛函式 219
本章知識思維導圖 221
第4篇 模板及檔案篇
第14章 模板 224 視頻講解:3節,20分鐘
14.1 函式模板 225
14.1.1 函式模板的定義 225
14.1.2 函式模板的作用 226
【實例14.1】 使用數組作為模板參數 226
14.1.3 重載函式模板 227
【實例14.2】 求出字元串的最小值 227
14.2 類模板 228
14.2.1 類模板的定義與聲明 228
14.2.2 簡單類模板 230
14.2.3 默認模板參數 230
14.2.4 為具體類型的參數提供默認值 231
14.2.5 有界數組模板 231
【實例14.3】 數組模板的套用 232
14.3 模板的使用 233
14.3.1 定製類模板 233
14.3.2 定製類模板成員函式 235
本章知識思維導圖 236
第15章 STL標準模板庫 237 視頻講解:3節,30分鐘
15.1 序列容器 238
15.1.1 對比容器適配器與容器 238
15.1.2 對比疊代器與容器 238
15.1.3 向量類模板 239
【實例15.1】 vector模板類的操作方法 240
15.1.4 雙端佇列類模板 242
【實例15.2】 雙端佇列類模板的套用 243
15.1.5 鍊表類模板 244
【實例15.3】 疊代器的套用 245
15.2 結合容器 246
15.2.1 set類模板 246
【實例15.4】 創建整型類集合,並插入數據 247
【實例15.5】 創建整型類集合,並刪除集合中的元素 248
【實例15.6】 通過指定的字元在集合中查找元素 248
15.2.2 multiset類模板 250
15.2.3 map類模板 253
15.2.4 multimap類模板 255
15.3 疊代器 256
15.3.1 輸出疊代器 256
【實例15.7】 套用輸出疊代器 256
15.3.2 輸入疊代器 256
15.3.3 前向疊代器 257
15.3.4 雙向疊代器 257
15.3.5 隨機訪問疊代器 258
本章知識思維導圖 259
第16章 檔案操作 260 視頻講解:6節,35分鐘
16.1 流簡介 261
16.1.1 C++中的流類庫 261
16.1.2 類庫的使用 261
16.1.3 ios類中的枚舉常量 262
16.1.4 流的輸入/輸出 262
【實例16.1】 字元相加並輸出 262
16.2 檔案打開 263
16.2.1 打開方式 263
16.2.2 默認打開模式 264
16.2.3 打開檔案同時創建檔案 264
【實例16.2】 創建檔案 264
16.3 檔案的讀寫 265
16.3.1 檔案流 265
【實例16.3】 讀寫檔案 266
16.3.2 寫文本檔案 267
【實例16.4】 向文本檔案寫入數據 267
16.3.3 讀取文本檔案 268
【實例16.5】 讀取文本檔案內容 268
16.3.4 二進制檔案的讀寫 268
【實例16.6】 使用read讀取檔案 268
16.3.5 實現檔案複製 269
16.4 檔案指針移動操作 270
16.4.1 檔案錯誤與狀態 270
16.4.2 檔案的追加 271
16.4.3 檔案結尾的判斷 272
【實例16.7】 判斷檔案結尾 272
16.4.4 在指定位置讀寫檔案 273
16.5 檔案和流的關聯和分離 274
16.6 刪除檔案 275
本章知識思維導圖 276
第5篇 異常處理及網路篇
第17章 RTTI與異常處理 278 視頻講解:2節,18分鐘
17.1 RTTI 279
17.1.1 RTTI的定義 279
17.1.2 RTTI與引用 280
17.1.3 RTTI與多重繼承 281
17.1.4 RTTI映射語法 281
17.2 異常處理 283
17.2.1 拋出異常 283
17.2.2 異常捕獲 285
17.2.3 異常匹配 287
17.2.4 標準異常 288
本章知識思維導圖 289
第18章 網路通信 290 視頻講解:3節,20分鐘
18.1 TCP/IP 291
18.1.1 OSI參考模型 291
18.1.2 TCP/IP參考模型 291
18.1.3 IP位址 292
18.1.4 數據包格式 292
18.2 套接字 294
18.2.1 Winsock套接字 294
18.2.2 Winsock的使用 295
18.2.3 套接字阻塞模式 300
18.2.4 位元組順序 300
18.2.5 面向連線流 300
18.2.6 面向無連線流 301
18.3 簡單協定通信 301
18.3.1 服務端 302
【實例18.1】 伺服器 302
18.3.2 客戶端 304
【實例18.2】 客戶端 304
18.3.3 實例的運行 304
本章知識思維導圖 305
第19章 圖書管理系統 308 視頻講解:7節,44分鐘
19.1 開發背景 309
19.2 需求分析 309
19.3 系統設計 309
19.3.1 系統目標 309
19.3.2 系統功能結構 309
19.3.3 系統預覽 310
19.3.4 業務流程圖 310
19.4 公共類設計 311
19.5 主窗體模組設計 314
19.5.1 主窗體模組概述 314
19.5.2 主窗體模組技術分析 314
19.5.3 主窗體模組實現過程 315
19.6 添加新書模組設計 317
19.6.1 添加新書模組概述 317
19.6.2 添加新書模組技術分析 317
19.6.3 添加新書模組實現過程 317
19.7 瀏覽全部模組設計 318
19.7.1 瀏覽全部模組概述 318
19.7.2 瀏覽全部模組技術分析 318
19.7.3 瀏覽全部模組實現過程 318
19.8 刪除圖書模組設計 319
19.8.1 刪除圖書模組概述 319
19.8.2 刪除圖書模組技術分析 319
19.8.3 刪除圖書模組實現過程 319
19.9 實現全部模組 320
本章知識思維導圖 320
第20章 網路五子棋 321 視頻講解:7節,35分鐘
20.1 開發背景 322
20.2 需求分析 322
20.3 系統設計 322
20.3.1 系統功能結構 322
20.3.2 系統預覽 322
20.4 關鍵技術分析與實現 323
20.4.1 使用TCP進行網路通信 323
20.4.2 定義網路通信協定 325
20.4.3 實現動態調整棋盤大小 326
20.4.4 在棋盤中繪製棋子 327
20.4.5 五子棋贏棋判斷 329
20.4.6 設計遊戲悔棋功能 332
20.4.7 設計遊戲回放功能 334
20.4.8 對方網路狀態測試 337
20.5 伺服器端主窗體設計 339
20.5.1 伺服器端主窗體概述 339
20.5.2 伺服器端主窗體實現過程 339
20.6 棋盤窗體模組設計 341
20.6.1 棋盤窗體模組概述 341
20.6.2 棋盤窗體模組界面布局 341
20.6.3 棋盤窗體模組實現過程 342
20.7 遊戲控制窗體模組設計 348
20.7.1 遊戲控制窗體模組概述 348
20.7.2 遊戲控制窗體模組界面布局 348
20.7.3 遊戲控制窗體模組實現過程 349
20.8 對方信息窗體模組設計 351
20.8.1 對方信息窗體模組概述 351
20.8.2 對方信息窗體模組界面布局 351
20.8.3 對方信息窗體模組實現過程 351
20.9 客戶端主窗體模組設計 352
20.9.1 客戶端主窗體模組概述 352
20.9.2 客戶端主窗體模組實現過程 353
本章知識思維導圖 355

相關詞條

熱門詞條

聯絡我們