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

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

《C++從入門到精通(第4版)》從初學者的角度出發,以通俗易懂的語言,豐富多彩的實例,詳細講解了C++的基礎知識。本書包括4篇18章:第1篇是基礎知識,包括緒論,數據類型,表達式與語句,條件判斷語句,循環語句,函式,數組、指針和引用,構造數據類型;第2篇是核心技術,包括面向對象編程、類和對象、繼承與派生;第3篇是高級套用,包括模板、標準模板庫、RTTI與異常處理、程式調試、檔案操作、網路通信;第4篇是項目實戰,結合人事考勤管理系統,依照軟體工程的開發流程,講述如何進行實際開發。

基本介紹

  • 書名:《C++從入門到精通(第4版)》
  • 作者:明日科技
  • ISBN:9787302535836
  • 類別:程式語言與程式設計
  • 頁數:512
  • 定價:79.8
  • 出版社:清華大學出版社
  • 出版時間:2019.10.01
  • 裝幀:平裝
  • 開本:16
內容簡介,作者介紹,前言引言,書籍目錄,

內容簡介

《C++從入門到精通(第4版)》從初學者的角度出發,以通俗易懂的語言,豐富多彩的實例,詳細講解了C++的基礎知識。本書包括4篇18章:第1篇是基礎知識,包括緒論,數據類型,表達式與語句,條件判斷語句,循環語句,函式,數組、指針和引用,構造數據類型;第2篇是核心技術,包括面向對象編程、類和對象、繼承與派生;第3篇是高級套用,包括模板、標準模板庫、RTTI與異常處理、程式調試、檔案操作、網路通信;第4篇是項目實戰,結合人事考勤管理系統,依照軟體工程的開發流程,講述如何進行實際開發。

作者介紹

明日科技,是一個擁有軟體開發和項目實施方面的資深專家和學習型技術團隊,利用積累的專業知識和經驗,已開發出版了“從入門到精通”“軟體開發實戰1200例”“軟體開發實戰寶典”“軟體項目開發全程實錄”等系列叢書,是國內暢銷的編程圖書品牌。

前言引言

叢書說明:“軟體開發視頻大講堂”叢書(第1版)於2008年8月出版,因其編寫細膩,易學實用,配備海量學習資源和全程視頻等,在軟體開發類圖書市場上產生了很大反響,絕大部分品種在全國軟體開發零售圖書排行榜中名列前茅,2009年多個品種被評為“全國優秀暢銷書”。“軟體開發視頻大講堂”叢書(第2版)於2010年8月出版,第3版於2012年8月出版,第4版於2016年10月出版。十年錘鍊,打造經典。叢書迄今累計重印500多次,銷售200多萬冊。不僅深受廣大程式設計師的喜愛,還被百餘所高校選為計算機、軟體等相關專業的教學參考用書。“軟體開發視頻大講堂”叢書(第5版)在繼承前4版所有優點的基礎上,進一步修正了疏漏,最佳化了圖書內容,更新了開發環境和工具,並根據讀者建議替換了部分學習視頻。同時,提供了從“入門學習→實例套用→模組開發→項目開發→能力測試→面試”等各個階段的海量開發資源庫,使之更適合讀者學習、訓練、測試。為了方便教學,還提供了教學課件PPT。
C++語言是在C語言基礎上發展起來的,它在C語言基礎上融入了許多新的編程理念,這些理念有利於程式的開發。從語言角度來說,C++語言是一個規範,它規範程式設計師如何進行面向對象程式開發。C++具有C語言操作底層的能力,同時還具有提高代碼復用率的面向對象編程技術,是一種語句更加靈活、使用更加簡捷、技術更加全面的編程利器。
本書內容
本書提供了從入門到編程高手所必備的各類知識,共分4篇。
第1篇:基礎知識。本篇講解C++語句基礎部分,只有具備了牢固的基礎知識才能更快地掌握更高級的技術內容。通過對C++語言的歷史、常用開發環境、數據類型、運算符與表達式、條件判斷語句、循環語句、函式等這些內容的介紹,結合流程圖和實例,並通過視頻的指導講解,為以後編程奠定堅實的基礎。
第2篇:核心技術。本篇介紹了C++語言的關於面向對象方面的內容,理解面向對象這個概念,套用類類型創建對象,掌握什麼是繼承和派生,利用多態進行面向對象開發。
第3篇:高級套用。模板是標準模板庫(STL)的基礎,通過對模板的介紹,使讀者能夠理解STL的構造。檔案操作也是程式開發過程中必不可少的技術,掌握檔案操作方法是奠定開發大項目的基礎,通過對運行時類型識別(RTTI)的介紹使讀者對面向對象開發有更深的理解。網路通信是僅次於檔案技術的另一項關鍵技術,通過實例,讀者可以掌握基本的網路通信知識。
第4篇:項目實戰。本篇運用軟體工程的設計思想,通過人事考勤管理系統的開發練習,學習如何進行軟體項目開發的知識。書中按照“編寫需求分析→系統設計→公共模組設計→主窗體設計→實現項目模組功能→總結開發技巧與難點”的流程進行介紹,帶領讀者一步一步親身體驗開發項目的全過程。
本書特點
由淺入深,循序漸進。本書以初、中級程式設計師為對象,先從C++語言基礎學起,再到C++語言的程式結構,然後學習C++語言的高級套用,最後學習開發一個完整的項目。講解過程中步驟詳盡,版式新穎,並且在程式中會有相應的實例幫助讀者更好地理解所講解的知識,在實例講解時分步分析,可使讀者在閱讀時一目了然,從而快速把握書中內容。
微課視頻,講解詳盡。為便於讀者直觀感受程式開發的全過程,書中大部分章節都配備了教學微視頻,使用手機掃描正文小節標題一側的二維碼,即可觀看學習,能快速引導初學者入門,感受編程的快樂和成就感,進一步增強學習的信心。
實例典型,輕鬆易學。通過例子學習是最好的學習方式,本書通過“一個知識點、一個例子、一個結果、一段評析、一個綜合套用”的模式,透徹詳盡地講述了實際開發中所需的各類知識。另外,為了便於讀者閱讀程式代碼,快速學習編程技能,書中幾乎每行代碼都給出了注釋。
精彩欄目,貼心提醒。本書根據需要在各章使用了很多“注意”“說明”等小欄目,讓讀者可以在學習過程中更輕鬆地理解相關知識點及概念,更快地掌握個別技術的套用技巧。
套用實踐,隨時練習。書中幾乎每章都提供了“實踐與練習”,讀者能夠通過對問題解答的重新回顧,熟悉所學的知識,並舉一反三,從而為進一步學習做好充分的準備。
讀者對象
初學編程的入門者;編程愛好者;大中專院校的老師和學生;相關培訓機構的老師和學員;做畢業設計的學生;初、中級程式開發人員;程式測試及維護人員;參加實習的“菜鳥”程式設計師。
讀者服務
學習本書時,請先掃描封底的許可權二維碼(需要刮開塗層)獲取學習許可權,然後即可免費學習書中的所有線上線下資源。本書所附贈的各類學習資源,讀者可登錄清華大學出版社網站,在對應圖書頁面下獲取其下載方式。也可掃描圖書封底的“文泉雲盤”二維碼,獲取其下載方式。為了方便解決本書疑難問題,讀者朋友可加我們的企業QQ,也可以登錄明日科技官方網站留言,我們將竭誠為您服務。
致讀者
本書由明日科技C++程式開發團隊組織編寫,明日科技是一家專業從事軟體開發、教育培訓以及軟體開發教育資源整合的高科技公司,其編寫的教材既注重選取軟體開發中的必需、常用內容,又注重內容的易學、方便以及相關知識的拓展,深受讀者喜愛。其編寫的教材多次榮獲“全行業優秀暢銷品種”“中國大學出版社優秀暢銷書”等獎項,多個品種長期位居同類圖書銷售排行榜的前列。
在編寫本書的過程中,我們始終本著科學、嚴謹的態度,力求精益求精,但錯誤、疏漏之處在所難免,敬請廣大讀者批評指正。感謝您購買本書,希望本書能成為您編程路上的領航者。“零門檻”編程,一切皆有可能。祝讀書快樂!

書籍目錄

第1篇 基礎知識
第1章 緒論 2
視頻講解:1小時18分鐘
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 VisualC 6.0 5
1.2.2 VisualStudio2017 6
1.2.3 GCC/G 7
1.2.4 Dev-C 7
1.2.5 Eclipse 8
1.3 認知C 程式代碼 8
1.4 C 工程項目檔案 9
1.5 使用VisualC 6.0創建程式 10
1.6 編譯與連線過程 13
1.7 C 的特點 16
1.8 小結 16
第2章 數據類型 17
視頻講解:1小時25分鐘
2.1 第*個C 程式 18
2.1.1 #include指令 18
2.1.2 注釋 18
2.1.3 main函式 19
2.1.4 函式體 19
2.1.5 函式返回值 19
2.2 常量及符號 19
2.2.1 整型常量 20
2.2.2 實型常量 21
2.2.3 字元常量 21
2.2.4 字元串常量 22
2.2.5 其他常量 23
2.3 變數 23
2.3.1 標識符 23
2.3.2 變數與變數聲明 24
2.3.3 整型變數 24
2.3.4 實型變數 25
2.3.5 變數賦值 25
2.3.6 變數賦初值 26
2.3.7 字元變數 26
2.4 常用數據類型 27
2.4.1 定義數值類型 28
2.4.2 字元類型 30
2.4.3 布爾類型 30
2.5 數據輸入與輸出 30
2.5.1 控制台螢幕 30
2.5.2 C 語言中的流 31
2.5.3 流操作的控制 33
2.6 小結 40
2.7 實踐與練習 40
第3章 表達式與語句 41
視頻講解:55分鐘
3.1 運算符 42
3.1.1 算術運算符 42
3.1.2 關係運算符 43
3.1.3 邏輯運算符 44
3.1.4 賦值運算符 45
3.1.5 位運算符 46
3.1.6 移位運算符 47
3.1.7 sizeof運算符 50
3.1.8 條件運算符 50
3.1.9 逗號運算符 50
3.2 結合性和優先權 51
3.3 表達式 52
3.3.1 算術表達式 53
3.3.2 關係表達式 53
3.3.3 條件表達式 53
3.3.4 賦值表達式 53
3.3.5 邏輯表達式 53
3.3.6 逗號表達式 54
3.3.7 表達式中的類型轉換 55
3.4 語句 57
3.5 判斷左值與右值 58
3.6 小結 59
3.7 實踐與練習 59
第4章 條件判斷語句 60
視頻講解:35分鐘
4.1 決策分支 61
4.2 判斷語句 62
4.2.1種形式的判斷語句 62
4.2.2 第二種形式的判斷語句 63
4.2.3 第三種形式的判斷語句 65
4.3 使用條件運算符進行判斷 67
4.4 switch語句 68
4.5 判斷語句的嵌套 72
4.6 小結 74
4.7 實踐與練習 74
第5章 循環語句 75
視頻講解:55分鐘
5.1 while循環 76
5.2 do...while循環 77
5.3 while與do…while比較 79
5.4 for循環語句 80
5.5 循環控制 84
5.5.1 控制循環的變數 84
5.5.2 break語句 85
5.5.3 continue語句 86
5.5.4 goto語句 87
5.6 循環嵌套 88
5.7 循環套用實例 90
5.7.1 阿姆斯壯數 90
5.7.2 巴斯卡三角形 91
5.7.3 對輸入的分數進行排名 92
5.8 小結 93
5.9 實踐與練習 94
第6章 函式 95
視頻講解:1小時14分鐘
6.1 函式概述 96
6.1.1 函式的定義 96
6.1.2 函式的聲明 96
6.2 函式參數及返回值 97
6.2.1 返回值 97
6.2.2 空函式 98
6.2.3 形參與實參 99
6.2.4 默認參數 99
6.2.5 可變參數 101
6.3 函式調用 102
6.3.1 傳值調用 102
6.3.2 嵌套調用 104
6.3.3 遞歸調用 105
6.4 變數作用域 108
6.5 重載函式 109
6.6 內聯函式 110
6.7 變數的存儲類別 111
6.7.1 auto變數 112
6.7.2 靜態變數 113
6.7.3 register變數 115
6.7.4 extern變數 115
6.8 小結 116
6.9 實踐與練習 116
第7章 數組、指針和引用 117
視頻講解:1小時27分鐘
7.1 一維數組 118
7.1.1 一維數組的聲明 118
7.1.2 一維數組元素的引用 118
7.1.3 一維數組的初始化 119
7.2 二維數組 120
7.2.1 二維數組的聲明 120
7.2.2 二維數組元素的引用 121
7.2.3 二維數組的初始化 121
7.3 字元數組 124
7.4 指針 131
7.4.1 變數與指針 131
7.4.2 指針運算符和取地址運算符 134
7.4.3 指針運算 136
7.4.4 指向空的指針與空類型指針 138
7.4.5 指向常量的指針與指針常量 139
7.5 指針與數組 140
7.5.1 數組的存儲 140
7.5.2 指針與一維數組 141
7.5.3 指針與二維數組 143
7.5.4 指針與字元數組 148
7.6 指針在函式中的套用 150
7.6.1 傳遞地址 150
7.6.2 指向函式的指針 152
7.6.3 空指針調用函式 153
7.6.4 從函式中返回指針 154
7.7 指針數組 155
7.8 安全使用指針 158
7.8.1 記憶體分配 158
7.8.2 記憶體安全 160
7.9 引用 163
7.9.1 引用概述 163
7.9.2 使用引用傳遞參數 166
7.9.3 指針傳遞參數 167
7.9.4 數組做函式參數 168
7.10 小結 170
7.11 實踐與練習 171
第8章 構造數據類型 172
視頻講解:59分鐘
8.1 結構體 173
8.1.1 結構體定義 173
8.1.2 結構體變數 173
8.1.3 結構體成員及初始化 174
8.1.4 結構體的嵌套 176
8.1.5 結構體大小 178
8.2 重命名數據類型 180
8.3 結構體與函式 182
8.3.1 結構體變數做函式參數 182
8.3.2 結構體指針做函式參數 183
8.4 結構體數組 184
8.4.1 結構體數組聲明與引用 184
8.4.2 指針訪問結構體數組 185
8.5 共用體 186
8.5.1 共用體的定義與聲明 187
8.5.2 共用體的大小 188
8.5.3 共用體的特點 189
8.6 枚舉類型 189
8.6.1 枚舉類型的聲明 189
8.6.2 枚舉類型變數 190
8.6.3 枚舉類型的運算 191
8.7 自定義數據類型 193
8.8 異常處理 194
8.8.1 拋出異常 194
8.8.2 捕獲異常 196
8.8.3 異常匹配 199
8.8.4 標準異常 201
8.9 使用宏定義替換複雜的數據 202
8.10 小結 205
8.11 實踐與練習 205
第2篇 核心技術
第9章 面向對象編程 207
視頻講解:32分鐘
9.1 面向對象概述 208
9.2 面向對象與面向過程編程 209
9.2.1 面向過程編程 209
9.2.2 面向對象編程 209
9.2.3 面向對象的特點 210
9.3 統一建模語言 210
9.3.1 統一建模語言概述 210
9.3.2 統一建模語言的結構 211
9.3.3 面向對象的建模 213
9.4 小結 213
第10章 類和對象 214
視頻講解:1小時1分鐘
10.1 C 類 215
10.1.1 類概述 215
10.1.2 類的聲明與定義 215
10.1.3 類的實現 216
10.1.4 對象的聲明 221
10.2 構造函式 223
10.2.1 構造函式概述 223
10.2.2 複製構造函式 225
10.3 析構函式 227
10.4 類成員 229
10.4.1 訪問類成員 229
10.4.2 內聯成員函式 230
10.4.3 靜態類成員 231
10.4.4 隱藏的this指針 233
10.4.5 嵌套類 235
10.4.6 局部類 236
10.5 友元 237
10.5.1 友元概述 237
10.5.2 友元類 239
10.5.3 友元方法 240
10.6 命名空間 242
10.6.1 使用命名空間 242
10.6.2 定義命名空間 243
10.6.3 在多個檔案中定義命名空間 245
10.6.4 定義嵌套的命名空間 247
10.6.5 定義未命名的命名空間 248
10.7 小結 249
10.8 實踐與練習 249
第11章 繼承與派生 250
視頻講解:57分鐘
11.1 繼承 251
11.1.1 類的繼承 251
11.1.2 繼承後可訪問性 253
11.1.3 構造函式訪問順序 256
11.1.4 子類顯示調用父類構造函式 257
11.1.5 子類隱藏父類的成員函式 259
11.2 重載運算符 262
11.2.1 重載運算符的必要性 262
11.2.2 重載運算符的形式與規則 263
11.2.3 重載運算符的運算 265
11.2.4 轉換運算符 267
11.3 多重繼承 269
11.3.1 多重繼承定義 269
11.3.2 二義性 270
11.3.3 多重繼承的構造順序 271
11.4 多態 273
11.4.1 虛函式概述 273
11.4.2 利用虛函式實現動態綁定 273
11.4.3 虛繼承 275
11.5 抽象類 277
11.5.1 純虛函式 277
11.5.2 實現抽象類中的成員函式 279
11.6 小結 280
11.7 實踐與練習 280
第3篇套用
第12章 模板 282
視頻講解:49分鐘
12.1 函式模板 283
12.1.1 函式模板的定義 283
12.1.2 函式模板的作用 284
12.1.3 重載函式模板 286
12.2 類模板 287
12.2.1 類模板的定義與聲明 287
12.2.2 簡單類模板 289
12.2.3 默認模板參數 290
12.2.4 為具體類型的參數提供默認值 291
12.2.5 有界數組模板 292
12.3 模板的使用 294
12.3.1 定製類模板 294
12.3.2 定製類模板成員函式 295
12.4 鍊表類模板 297
12.4.1 鍊表 297
12.4.2 鍊表類模板 299
12.4.3 類模板的靜態數據成員 302
12.5 小結 303
12.6 實踐與練習 304
第13章 標準模板庫 305
視頻講解:35分鐘
13.1 幾種常見數據結構 306
13.1.1 簡述STL 306
13.1.2 順序線性結構 306
13.1.3 基本操作 306
13.1.4 棧結構 307
13.1.5 佇列結構 307
13.1.6 鍊表結構 308
13.1.7 圖結構 308
13.2 序列容器 309
13.2.1 對比容器適配器與容器 309
13.2.2 對比疊代器與容器 309
13.2.3 向量類模板 310
13.2.4 雙端佇列類模板 314
13.2.5 鍊表類模板 316
13.3 結合容器 318
13.3.1 set類模板 319
13.3.2 multiset類模板 323
13.3.3 map類模板 328
13.3.4 multimap類模板 330
13.4 算法 331
13.4.1 非修正序列算法 331
13.4.2 修正序列算法 334
13.4.3 排序算法 338
13.4.4 數值算法 345
13.5 疊代器 350
13.5.1 輸出疊代器 350
13.5.2 輸入疊代器 350
13.5.3 前向疊代器 351
13.5.4 雙向疊代器 352
13.5.5 隨機訪問疊代器 353
13.6 小結 354
13.7 實踐與練習 354
第14章 RTTI與異常處理 355
視頻講解:22分鐘
14.1 RTTI 356
14.1.1 什麼是RTTI 356
14.1.2 RTTI與引用 357
14.1.3 RTTI與多重繼承 358
14.1.4 RTTI映射語法 359
14.2 小結 361
第15章 程式調試 362
視頻講解:33分鐘
15.1 選擇正確的調試方法 363
15.2 程式常見的4種類型 363
15.2.1 語法 363
15.2.2 連線 364
15.2.3 運行時 364
15.2.4 邏輯 365
15.3 調試工具的使用 366
15.3.1 創建調試程式 366
15.3.2 進入調試狀態 369
15.3.3 Watch視窗 369
15.3.4 CallStack視窗 370
15.3.5 Memory視窗 370
15.3.6 Variables視窗 371
15.3.7 Registers視窗 371
15.3.8 Disassembly視窗 372
15.4 調試的基本套用 372
15.4.1 變數的跟蹤與查看 372
15.4.2 位置斷點的使用 373
15.4.3 數據斷點的使用 376
15.5 調試的套用 377
15.5.1 在調試時修改變數的值 378
15.5.2 在循環中調試 379
15.6 小結 380
第16章 檔案操作 380
視頻講解:58分鐘
16.1 檔案流 381
16.1.1 C 中的流類庫 381
16.1.2 類庫的使用 381
16.1.3 ios類中的枚舉常量 382
16.1.4 流的輸入/輸出 382
16.2 檔案打開 383
16.2.1 打開方式 383
16.2.2 默認打開模式 384
16.2.3 打開檔案同時創建檔案 385
16.3 檔案的讀寫 386
16.3.1 檔案流 386
16.3.2 寫文本檔案 388
16.3.3 讀取文本檔案 389
16.3.4 二進制檔案的讀寫 390
16.3.5 實現檔案複製 391
16.4 檔案指針移動操作 392
16.4.1 檔案與狀態 392
16.4.2 檔案的追加 393
16.4.3 檔案結尾的判斷 394
16.4.4 在指定位置讀寫檔案 395
16.5 檔案和流的關聯和分離 397
16.6 刪除檔案 398
16.7 小結 399
16.8 實踐與練習 399
第17章 網路通信 400
視頻講解:39分鐘
17.1 TCP/IP協定 401
17.1.1 OSI參考模型 401
17.1.2 TCP/IP參考模型 401
17.1.3 IP位址 402
17.1.4 數據包格式 403
17.2 套接字 405
17.2.1 Winsocket套接字 405
17.2.2 Winsocket的使用 405
17.2.3 套接字阻塞模式 410
17.2.4 位元組順序 410
17.2.5 面向連線流 411
17.2.6 面向無連線流 411
17.3 簡單協定通信 412
17.3.1 服務端 412
17.3.2 客戶端 414
17.3.3 實例的運行 416
17.4 小結 416
17.5 實踐與練習 416
第4篇 項目實戰
第18章 人事考勤管理 418
視頻講解:1小時31分鐘
18.1 開發背景 419
18.2 需求分析 419
18.3設計 419
18.3.1目標 419
18.3.2功能結構 420
18.3.3預覽 420
18.3.4 業務流程圖 422
18.3.5 資料庫設計 422
18.4 公共模組設計 425
18.5 主窗體設計 430
18.6 用戶登錄模組設計 432
18.6.1 用戶登錄模組概述 432
18.6.2 用戶登錄技術分析 433
18.6.3 用戶登錄實現過程 433
18.7 用戶管理模組設計 435
18.7.1 用戶管理模組概述 435
18.7.2 用戶管理技術分析 435
18.7.3 用戶管理實現過程 436
18.7.4 單元測試 438
18.8 部門管理模組設計 439
18.8.1 部門管理模組概述 439
18.8.2 部門管理技術分析 439
18.8.3 部門管理實現過程 440
18.9 人員信息管理模組設計 443
18.9.1 人員信息管理模組概述 443
18.9.2 人員信息管理技術分析 443
18.9.3 人員信息管理實現過程 443
18.10 考勤管理模組設計 449
18.10.1 考勤管理模組概述 449
18.10.2 考勤管理技術分析 450
18.10.3 考勤管理實現過程 451
18.11 考勤匯總查詢模組設計 456
18.11.1 考勤匯總查詢模組概述 456
18.11.2 考勤匯總查詢技術分析 457
18.11.3 考勤匯總查詢實現過程 458
18.12 開發技巧與難點分析 461
18.12.1 調用動態程式庫設計界面 461
18.12.2 主窗體的界面顯示 462
18.13 小結 462
附錄A 463
A1 Visual C 6.0選單命令及功能 464
A2 Visual C 6.0常用快捷鍵 465
附錄B 468
B1 安裝Visual Studio 2017 469
B2 Visual Studio 2017開發環境介紹 472
B3 Visual Studio 2017選單功能 478B4 Visual Studio 2017常用快捷鍵 481

相關詞條

熱門詞條

聯絡我們