C++從入門到精通(第5版)( 簡體 字) | |
作者:明日科技 | 類別:1. -> 程式設計 -> C++ -> C++ |
出版社:清華大學出版社 | 3dWoo書號: 55436 詢問書籍請說出此書號! 缺書 NT售價: 450 元 |
出版日:12/1/2021 | |
頁數:441 | |
光碟數:0 | |
站長推薦: | |
印刷:黑白印刷 | 語系: ( 簡體 字 ) |
ISBN:9787302589464 | 【不接受訂購】 |
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證, 繁體書的下載亦請直接連絡出版社) | |
第1篇基礎知識
第1章緒論2 視頻講解:28分鐘 1.1C++歷史背景2 1.1.1計算機—20世紀最偉大的發明2 1.1.2C++發展歷程3 1.1.3C++領域杰出人物3 1.2常用開發環境5 1.2.1VisualC++6.05 1.2.2VisualStudio20195 1.2.3GCC/G++5 1.2.4Dev-C6 1.2.5Eclipse6 1.3認知C++程序代碼7 1.4C++工程項目文件8 1.5使用VisualC++6.0創建程序9 1.6編譯與連接過程11 1.7C++的特點13 1.8小結13 第2章數據類型14 視頻講解:162分鐘 2.1第一個C++程序14 2.1.1#include指令15 2.1.2注釋15 2.1.3main函數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.2C++語言中的流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.7sizeof運算符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.2if…else判斷語句58 4.2.3elseif判斷語句59 4.3使用條件運算符進行判斷61 4.4switch語句63 4.5判斷語句的嵌套67 4.6小結69 4.7實踐與練習69 第5章循環語句71 視頻講解:85分鐘 5.1while循環71 5.2do...while循環73 5.3while與do…while比較75 5.4for循環76 5.5循環控制80 5.5.1循環控制變量80 5.5.2break語句81 5.5.3continue語句82 5.5.4goto語句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.1auto變量104 6.7.2static變量106 6.7.3register變量107 6.7.4extern變量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.1C++類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簡述STL280 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.1set類模板292 13.3.2multiset類模板296 13.3.3map類模板300 13.3.4multimap類模板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.1RTTI324 14.1.1RTTI的定義324 14.1.2RTTI與引用326 14.1.3RTTI與多重繼承326 14.1.4RTTI映射語法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.1C++流概述350 16.1.1C++中的流類庫350 16.1.2類庫的使用351 16.1.3ios類中的枚舉常量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.1TCP/IP協議368 17.1.1OSI參考模型368 17.1.2TCP/IP參考模型369 17.1.3IP地址369 17.1.4數據包格式370 17.2套接字372 17.2.1Winsock套接字372 17.2.2Winsock的使用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 附錄AVisualC++6.0常用快捷鍵426 A.1VisualC++6.0菜單命令及功能426 A.2VisualC++6.0常用快捷鍵428 附錄BVisualStudio2019簡介430 B.1安裝VisualStudio2019430 B.2VisualStudio2019開發環境介紹433 B.3VisualStudio2019菜單功能437 B.4VisualStudio2019常用快捷鍵440 《C++從入門到精通(第5版)》從初學者角度出發,以通俗易懂的語言和豐富多彩的實例,詳細講解了C++程序開發需要掌握的知識。本書分為4篇共18章:第1篇是基礎知識,包括緒論,數據類型,運算符與表達式,條件判斷語句,循環語句,函數,數組、指針和引用,以及構造數據類型;第2篇是核心技術,包括面向對象編程,類和對象,以及繼承與派生;第3篇是高級應用,包括模板、標準模板庫、RTTI與異常處理、程序調試、文件操作和網絡通信;第4篇是項目實戰,結合人事考勤管理系統,依照軟件項目的開發流程,講述如何進行實際開發。書中所有知識都結合具體實例進行介紹,涉及的程序代碼給出了詳細的注釋,讀者可以輕松領會C++的強大功能,快速提高開發能力。
叢書說明:“軟件開發視頻大講堂”叢書第1版于2008年8月出版,因其編寫細膩,易學實用,配備海量學習資源和全程視頻等,在軟件開發類圖書市場上產生了很大反響,絕大部分品種在全國軟件開發零售圖書排行榜中名列前茅,2009年多個品種被評為“全國優秀暢銷書”。
“軟件開發視頻大講堂”叢書第2版于2010年8月出版,第3版于2012年8月出版,第4版于2016年10月出版,第5版于2019年3月出版。叢書連續暢銷12年,迄今累計重印650多次,銷售400多萬冊。不僅深受廣大程序員的喜愛,還被百余所高校選為計算機、軟件等相關專業的教學參考用書。 “軟件開發視頻大講堂”叢書第6版在繼承前5版所有優點的基礎上,進一步修正了疏漏,優化了圖書內容,并根據讀者建議替換了部分學習視頻。同時,提供了從“入門學習→實例應用→模塊開發→項目開發→能力測試→面試”等各個階段的海量開發資源庫,使之更適合讀者學習、訓練、測試。為了方便教學,還提供了教學課件PPT。 C++語言是在C語言基礎上發展起來的,它在C語言基礎上融入了許多新的編程理念,這些理念有利于程序的開發。從語言角度來說,C++語言是一個規范,它規范程序員如何進行面向對象程序開發。C++具有C語言操作底層的能力,同時還具有提高代碼復用率的面向對象編程技術,是一種語句更加靈活、使用更加簡捷、技術更加全面的編程利器。 本書內容 本書提供了從入門到編程高手所必需的各類知識,共分為4篇。 第1篇:基礎知識。本篇講解C++語言基礎知識,具體包括C++語言的歷史背景、常用開發環境,數據類型,運算符與表達式,條件判斷語句,循環語句,函數,數組、指針和引用,以及構造數據類型。為幫助讀者夯實語言基礎,本篇結合流程圖和實例,并通過視頻的指導講解。讀者只有具備了牢固的基礎才能更快地掌握更高級的內容。 第2篇:核心技術。本篇介紹C++語言面向對象編程方面的內容,幫助讀者透徹理解什么是面向對象,如何應用類創建對象,什么是繼承和派生,以及能夠利用多態進行面向對象開發。 第3篇:高級應用。模板是標準模板庫(STL)的基礎,通過學習模板相關知識,讀者能夠理解STL的構造。通過學習運行時類型識別(RTTI),讀者將對面向對象開發有更深的理解。程序調試和文件操作是程序開發過程中必不可少的技術,是企業項目開發的基礎。網絡通信是僅次于文件技術的另一項關鍵技術,通過多個實例,讀者可以掌握基本的網絡通信知識。 第4篇:項目實戰。本篇運用軟件工程的設計思想,開發了一個人事考勤管理系統。書中按照“需求分析→系統設計→公共模塊設計→主窗體設計→實現項目各模塊功能→總結開發技巧與難點”的流程進行介紹,帶領讀者一步一步親身體驗項目開發的全過程。 本書特點 由淺入深,循序漸進。本書以初、中級程序員為對象,帶領讀者從C++語言基礎學起,再到C++語言的程序結構,然后學習C++語言的高級應用,最后學習開發一個完整的項目。講解過程中步驟詳盡,重點突出,實例豐富,將學與練很好地融合在了一起。 微課視頻,講解詳盡。為便于讀者直觀感受程序開發的全過程,書中重要章節配備了教學微課視頻(總時長27小時,共97集),使用手機掃描正文小節標題一側的二維碼,即可觀看學習。便于初學者快速入門,感受編程的快樂和成就感,進一步增強學習的信心。 基礎示例+編程訓練+實踐練習+項目案例,實戰為王。通過例子學習是最好的學習方式,本書核心知識講解通過“一個知識點、一個示例、一個結果、一段評析、一個綜合應用”的模式,詳盡透徹地講述了實際開發中所需的各類知識。全書共計有178個應用示例,122個編程訓練,53個實踐練習,1個項目案例,為初學者打造“學習1小時,訓練10小時”的強化實戰學習環境。 精彩欄目,貼心提醒。本書設計了很多“注意”“說明”等小欄目,讀者可以在學習過程中更輕松地理解相關知識點及概念,更快地掌握相關技術的應用技巧。 海量資源,可查可練。本書資源包提供了強大的“Visual C++開發資源庫”系統,包含實例資源庫(881個實例)、模塊資源庫(15個典型模塊)、項目資源庫(15個項目案例)、測試題庫系統(616道能力測試題)和面試資源庫(371道企業面試真題)。 讀者對象 初學編程的自學者、編程愛好者、大中專院校的老師和學生、相關培訓機構的老師和學員、畢業設計的學生、初中級程序開發人員、程序測試及維護人員、參加實習的“菜鳥”程序員。 讀者服務 本書提供了大量的輔助學習資源,讀者可掃描圖書封底的“文泉云盤”二維碼,或登錄清華大學出版社網站,在對應圖書頁面下查閱各類學習資源的獲取方式。 讀者可先掃描圖書封底的權限二維碼(需要刮開涂層),獲取學習權限,然后掃描各章節知識點、案例旁的二維碼,觀看對應的視頻講解。讀者可掃碼登錄清大文森學堂,獲取本書的源代碼、微課視頻、開發資源庫等資源。同時,還可以獲得更多的軟件開發進階學習資源、職業成長知識圖譜等,技術上釋疑解惑,職業上交流成長。 致讀者 感謝您購買本書,希望本書能成為您編程路上的領航者。 “零門檻”學編程,一切皆有可能。 祝讀書快樂! |