C++從零開始學(視頻教學版)(第2版) ( 簡體 字) |
作者:王英英 | 類別:1. -> 程式設計 -> C++ -> C++ |
譯者: |
出版社:清華大學出版社 | 3dWoo書號: 52256 詢問書籍請說出此書號!【缺書】 NT售價: 395 元 |
出版日:2/1/2020 |
頁數:365 |
光碟數:0 |
|
站長推薦: |
印刷:黑白印刷 | 語系: ( 簡體 版 ) |
|
加入購物車 │加到我的最愛 (請先登入會員) |
ISBN:9787302544562 |
作者序 | 譯者序 | 前言 | 內容簡介 | 目錄 | 序 |
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證) |
作者序: |
譯者序: |
前言:本書是面向C++初學者的一本高質量的圖書。目前,國內C++開發的需求旺盛,各大知名企業高薪招聘技術能力強的C++開發人員。本書根據這樣的需求,針對初學者量身定做,內容注重實戰,通過實例的操作與分析,引領讀者快速學習和掌握C++開發技術。 和第1版相比的變化 在第2版中,本書綜合讀者的建議和需求,主要做了以下變化: ? 精煉案例,挑選經典、容易快速入門的案例,并且在案例上以符合實際開發為主線。 ? 本書使用最新的開發環境Visual Studio 2019,不僅可以提高程序開發的安全性,還進一步提高開發效率。 ? 新增加了一章項目開發案例:商場采購系統。通過本系統的講述,使讀者真正掌握軟件開發的流程及C++在實際項目中涉及的重要技術。 ? 新增加了一章項目開發案例:推箱子游戲。詳細介紹使用C++語言進行應用程序開發的流程以及圖形編程的方法和技巧。 ? 本書將贈送“大神”程序調試手冊。包括環境搭建、程序調試、排錯秘籍,幫助用戶輕松搭建開發環境,快速解決開發問題。 ? 本書贈送“小白”項目實戰手冊。贈送8個精選的項目,從趣味性和實際應用角度出發,采用當前主流的技術,讀者可以從這些項目中體驗到編程的樂趣并獲得實戰經驗。 本書特色 知識豐富全面:知識點由淺入深,涵蓋所有C++的基礎知識點,由淺入深地掌握C++開發技術。 圖文并茂:注重操作,圖文并茂,在介紹案例的過程中,每一個操作均有對應的步驟和過程說明。這種結合的方式使讀者在學習過程中能夠直觀、清晰地看到操作的過程以及效果,便于更快地理解和掌握。 易學易用:顛覆傳統“看”書的觀念,變成一本能“操作”的圖書。 案例豐富:把知識點融匯于系統的案例實戰中,并且結合綜合案例進行講解和拓展,進而達到“知其然,并知其所以然”的效果。 提示和技巧,貼心周到:本書對讀者在學習過程中可能會遇到的疑難問題以“提示”和“技巧”的形式進行說明,以免讀者在學習的過程中走彎路。 超值贈送資源:本書提供視頻教程和大量經典習題和實戰項目,讓你在實戰應用中掌握C++的每一項技能。 讀者對象 本書是一本完整介紹C++的教程,內容豐富,條理清晰,實用性強,適合以下讀者學習使用: ? 對C++完全不了解或者有一定了解的初學者。 ? 對數據庫開發有興趣,希望快速、全面地掌握C++的讀者。 ? 沒有任何C++經驗,想學習C++,并進行應用開發的讀者。 鳴 謝 本書由王英英主筆,還有李小威、劉增產、王秀榮、王天護、張工廠、胡同夫、皮素芹、王猛、王攀登、王婷婷和王朵朵等人參加編寫工作。雖然傾注了眾多編者的努力,但由于水平有限、時間倉促,書中難免有疏漏之處,請讀者諒解。 課件、源碼、教學視頻下載 本書課件、源碼、教學視頻可以掃描右側的二維碼獲得。 如果下載有問題,請發送電子郵件,郵件主題為“C++從零開始學”。
編 者 2020年1月 |
內容簡介:本書面向C++編程初學者和廣大C++編程愛好者。本書循序漸進地介紹C++應用與開發的相關基礎知識,提供大量具體操作C++編程的實例供讀者實踐。每節都清晰地闡述代碼如何工作及其作用,使讀者能在最短的時間內有效地掌握C++編程。本書配有源碼、課件與教學視頻。 全書共20章,分別介紹:為什么要學習C++、C++程序結構、基本數據類型和數據處理、運算符與表達式、程序流程控制、函數、數組與字符串、指針、struct與其他復合數據類型、類的使用方法、對象的初始化和清除、運算符的重載、類的繼承、虛函數和抽象類、C++中的文件處理、異常處理和C++的高級概念等知識。在每章的后面提供自我評估的習題供讀者操作練習,從而加深理解。 本書適合C++初學者自學使用,也適合作為高等院校和培訓學校計算機相關專業師生的教學參考書。 |
目錄:第1章學習C++—認識C++ 1 1.1C/C++的起源 1 1.2C++的特色 2 1.3關于ANSI/ISOC++標準 3 1.4語言的翻譯過程 4 1.5編寫代碼前的準備—安裝開發環境VisualStudio2019 5 1.6小試身手—新建一個C++項目 8 1.7疑難解惑 11 1.8經典習題 13 第2章C++程序結構 14 2.1簡單程序 14 2.2C++程序分析 15 2.2.1#include指令及頭文件 15 2.2.2main函數 16 2.2.3變量聲明和定義 17 2.2.4函數的聲明 19 2.2.5關于注釋 20 2.3輸入輸出對象 22 2.3.1cout輸出數據 22 2.3.2cin讀取輸入數據 25 2.4標識符 26 2.4.1保留字 27 2.4.2標識符命名 27 2.5預處理 27 2.6命名空間 30 2.6.1命名空間的定義 30 2.6.2using關鍵字 32 2.6.3命名空間std 33 2.7小試身手—入門經典程序 34 2.8疑難解惑 35 2.9經典習題 36 第3章基本數據類型 37 3.1變量與常量 37 3.1.1變量 37 3.1.2常量 40 3.2基本變量類型 43 3.2.1整數類型 43 3.2.2字符類型 44 3.2.3浮點數類型 46 3.2.4布爾類型 48 3.3typedef 49 3.4小試身手—測試基本數據類型的字節長度 53 3.5疑難解惑 54 3.6經典習題 55 第4章運算符和表達式 56 4.1運算符概述 56 4.1.1賦值運算符 56 4.1.2算術運算符 57 4.1.3關系運算符 59 4.1.4邏輯運算符 60 4.1.5自增和自減運算符 62 4.1.6位邏輯運算符 63 4.1.7移位運算符 65 4.1.8三元運算符 66 4.1.9逗號運算符 67 4.1.10類型轉換運算符 68 4.2運算符優先級和結合性 69 4.2.1運算符優先級 69 4.2.2運算符結合性 70 4.3小試身手—綜合運用運算符 72 4.4疑難解惑 73 4.5經典習題 74 第5章程序流程控制 75 5.1順序語句 75 5.2條件判斷語句 76 5.2.1if條件 76 5.2.2if-else條件 78 5.2.3條件運算符 79 5.3循環語句 80 5.3.1for循環 81 5.3.2while循環 82 5.3.3do-while循環 83 5.4跳出循環 84 5.4.1continue 84 5.4.2break 85 5.5多重選擇語句 86 5.6小試身手—計算商品總價 88 5.7疑難解惑 90 5.8經典習題 92 第6章函數 93 6.1函數的基本結構 93 6.1.1函數的聲明、定義和調用 93 6.1.2參數的傳遞方式 95 6.1.3函數的默認參數 97 6.1.4函數的返回值 99 6.2變量的作用域 99 6.2.1局部變量 99 6.2.2靜態局部變量 100 6.2.3外部變量 101 6.2.4寄存器變量 102 6.3特殊函數調用方式—遞歸調用 103 6.4內聯函數 104 6.5預處理器 106 6.5.1#define預處理器 106 6.5.2#define的作用 107 6.5.3const修飾符 108 6.6函數的重載 108 6.7小試身手—漢諾塔問題函數 110 6.8疑難解惑 111 6.9經典習題 112 第7章數組與字符串 113 7.1一維數組 113 7.1.1一維數組的聲明 113 7.1.2數組初始化 114 7.1.3數組的操作 115 7.2二維數組和多維數組 117 7.2.1二維數組的聲明 117 7.2.2二維數組的使用和存取 117 7.2.3多維數組 119 7.3數組與函數 121 7.3.1一維數組作為函數的參數 121 7.3.2傳送多維數組到函數 122 7.4字符串類 123 7.4.1字符串的聲明 123 7.4.2字符串的輸入和輸出 124 7.4.3字符串處理 125 7.5小試身手—判斷字符串回文 129 7.6疑難解惑 131 7.7經典習題 132 第8章指針 133 8.1指針概述 133 8.1.1什么是指針 133 8.1.2為什么要用指針 134 8.1.3指針的地址 134 8.2指針變量 135 8.2.1指針變量的聲明 135 8.2.2指針變量的使用 136 8.3指針與函數 137 8.3.1指針傳送到函數中 137 8.3.2返回值為指針的函數 138 8.3.3函數指針 140 8.4指針與數組 141 8.4.1指針的算術運算 141 8.4.2利用指針存儲一維數組的元素 142 8.4.3利用指針傳輸一維數組到函數中 143 8.5指針與字符串 144 8.6void指針 145 8.7指向指針的指針 145 8.8動態內存配置 146 8.8.1使用基本數據類型做動態配置 147 8.8.2使用數組做動態配置 148 8.9小試身手—判斷字符串中有多少個整數 149 8.10疑難解惑 151 8.11經典習題 152 第9章struct和其他復合類型 153 9.1struct 153 9.1.1struct的聲明 153 9.1.2struct變量的初始化與使用 155 9.1.3struct數組初始化 156 9.2將結構體變量作為函數參數 158 9.2.1將整個結構體傳送到函數 158 9.2.2傳送結構體的地址到函數 159 9.3union 160 9.3.1union的定義和聲明 160 9.3.2union類型的初始化和使用 161 9.3.3struct和union的差異 163 9.4enum 163 9.4.1enum的定義和聲明 163 9.4.2enum的初始化和使用 164 9.5小試身手—學生信息登記表 166 9.6疑難解惑 168 9.7經典習題 169 第10章類 170 10.1認識類 170 10.1.1類的基本概念 170 10.1.2類的定義 170 10.1.3類對象的生成 172 10.1.4類對象指針 173 10.2成員函數 175 10.3嵌套類 177 10.4const成員函數 177 10.5類成員的訪問控制 179 10.5.1私有成員 180 10.5.2公有成員 181 10.6靜態成員 182 10.6.1靜態數據成員 182 10.6.2靜態成員函數 184 10.7友元 186 10.8小試身手—棧類的實現 187 10.9疑難解惑 189 10.10經典習題 190 第11章構造函數和析構函數 191 11.1構造函數初始化類對象 191 11.1.1什么是構造函數 191 11.1.2使用構造函數 192 11.2析構函數清除類對象 193 11.2.1析構函數的概念 193 11.2.2析構函數的調用 194 11.3默認構造函數 195 11.4重載構造函數 197 11.4.1重載構造函數的作用 197 11.4.2重載構造函數的調用 197 11.5類對象數組的初始化 198 11.5.1類對象數組調用 198 11.5.2類對象數組和默認構造函數 200 11.5.3類對象數組和析構函數 201 11.6拷貝構造函數 203 11.6.1拷貝構造函數的概念 203 11.6.2深拷貝和淺拷貝 204 11.7小試身手—構造函數和析構函數的應用 206 11.8疑難解惑 208 11.9經典習題 208 第12章運算符的重載 210 12.1什么是運算符重載 210 12.1.1運算符重載的形式 211 12.1.2可重載的運算符 213 12.2重載前置運算符和后置運算符 213 12.2.1重載前置運算符 214 12.2.2重載后置運算符 215 12.3插入運算符和折取運算符的重載 217 12.3.1插入運算符的重載 217 12.3.2折取運算符的重載 218 12.4常用運算符的重載 220 12.4.1“<”運算符的重載 220 12.4.2“+”運算符的重載 222 12.4.3“=”運算符的重載 223 12.5小試身手—運算符重載實例 225 12.6疑難解惑 227 12.7經典習題 227 第13章類的繼承 228 13.1面向對象編程概述 228 13.1.1面向對象編程的幾個概念 228 13.1.2面向對象編程與面向過程編程的區別 229 13.2繼承的基本概念 229 13.2.1基類和繼承類 229 13.2.2簡單的基礎實例 231 13.2.3調用父類中的構造函數 236 13.3子類存取父類成員 239 13.3.1私有成員的存取 239 13.3.2繼承與靜態成員 241 13.3.3多繼承 242 13.4小試身手—繼承的應用 245 13.5疑難解惑 246 13.6經典習題 247 第14章虛函數和抽象類 248 14.1什么是虛函數 248 14.1.1虛函數的作用 248 14.1.2動態綁定和靜態綁定 250 14.2抽象類與純虛函數 252 14.2.1定義純虛函數 252 14.2.2抽象類的作用 253 14.2.3虛析構函數 254 14.3抽象類的多重繼承 256 14.4虛函數表 257 14.4.1什么是虛函數表 257 14.4.2繼承關系的虛函數表 259 14.5小試身手—抽象類的應用 261 14.6疑難解惑 263 14.7經典習題 264 第15章C++中的文件處理 265 15.1文件的基本概念 265 15.1.1文件I/O 265 15.1.2文件順序讀寫 269 15.1.3隨機文件讀寫 269 15.2文件的打開與關閉 271 15.2.1文件的打開 271 15.2.2文件的關閉 273 15.3文本文件的處理 274 15.3.1將變量寫入文件 274 15.3.2將變量寫入文件尾部 275 15.3.3從文本文件中讀入變量 275 15.3.4使用get()、getline()和put()函數 276 15.4二進制文件的處理 279 15.5小試身手—文件操作 281 15.6疑難解惑 283 15.7經典習題 284 第16章異常處理 285 16.1異常的基本概念 285 16.2異常處理機制 285 16.3拋出異常 287 16.4重新拋出異常 289 16.5捕獲所有異常 290 16.6不是錯誤的異常 291 16.7未捕捉到的異常 292 16.8標準異常 292 16.9異常規范 293 16.10異常與繼承 294 16.11異常處理的應用 295 16.11.1自定義異常類 295 16.11.2捕獲多個異常 297 16.12小試身手—異常處理 298 16.13疑難解惑 300 16.14經典習題 301 第17章模板與類型轉換 302 17.1模板 302 17.1.1函數模板 302 17.1.2類模板 304 17.1.3模板參數 306 17.1.4模板的特殊化 307 17.1.5重載和函數模板 308 17.2類型識別和強制轉換運算符 310 17.2.1運行時類型識別 310 17.2.2強制類型轉換運算符 314 17.3小試身手—模板應用 316 17.4疑難解惑 318 17.5經典習題 319 第18章容器和迭代器 320 18.1STL 320 18.2迭代器 320 18.3順序容器 322 18.3.1向量 322 18.3.2雙端隊列 323 18.3.3列表 324 18.4關聯容器 326 18.4.1集合和多重集合 326 18.4.2映射和多重映射 328 18.5容器適配器 329 18.5.1棧 329 18.5.2隊列 330 18.5.3優先級隊列 332 18.6小試身手—容器操作實例 333 18.7疑難解惑 338 18.8經典習題 338 第19章開發商場采購系統 339 19.1系統需求分析 339 19.2功能分析 340 19.3系統代碼編寫 341 19.3.1密碼文件和購物單文件 341 19.3.2管理員登錄功能 342 19.3.3采購系統的主功能 345 19.3.4采購操作功能和驗證功能的實現 350 19.3.5主程序運行入口 356 19.4系統運行 357 第20章開發推箱子游戲 359 20.1系統功能描述 359 20.2系統功能分析及實現 359 20.2.1功能分析 359 20.2.2功能實現 360 20.3游戲運行 365 |
序: |