|
-- 會員 / 註冊 --
|
|
|
|
C++程序設計:現代方法 ( 簡體 字) |
作者:[美] F. Alexander Allain | 類別:1. -> 程式設計 -> C++ -> C++ |
譯者: |
出版社:人民郵電出版社 | 3dWoo書號: 39273 詢問書籍請說出此書號!【缺書】 NT售價: 345 元 |
出版日:8/1/2014 |
頁數:369 |
光碟數:0 |
|
站長推薦: |
印刷:黑白印刷 | 語系: ( 簡體 版 ) |
|
加入購物車 │加到我的最愛 (請先登入會員) |
ISBN:9787115357007 |
作者序 | 譯者序 | 前言 | 內容簡介 | 目錄 | 序 |
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證) |
作者序: |
譯者序: |
前言: |
內容簡介: 《C++程序設計:現代方法》是一本寫給沒有編程經驗的人看的C++入門書,篇幅適中,通俗易懂。全書分四部分,涵蓋了C++編程的所有重要概念。作者在C++教育領域很有影響力,他是月訪問量超百萬的著名C\C++教程站Cprogramming.com的創建者,也真正了解每一位C++學習者的需求,了解初學者起步階段的困惑和糾結。因此,《C++程序設計:現代方法》由淺入深、循序漸進、步步為營,講述了編程過程的每一個環節,揭示了編程之路中可能遇到的各種“坑”,是初學C++最合適的入門書。 《C++程序設計:現代方法》適合C++初學者、在校學生,以及對C++編程感興趣者參考閱讀。 |
目錄:第一部分 進入C++的世界
第1章 簡介和環境搭建 3 1.1 什么是編程語言 3 1.2 C和C++之間的不同之處 3 1.3 學習C++之前,是否需要先了解C 3 1.4 成為程序員,是否需要懂數學 4 1.5 術語 4 1.5.1 編程 4 1.5.2 可執行文件 4 1.6 編輯和編譯源文件 4 1.7 關于示例源代碼 5 1.8 Windows 5 1.8.1 第1步:下載Code::Blocks 5 1.8.2 第2步:安裝Code::Blocks 5 1.8.3 第3步:運行Code::Blocks 6 1.8.4 錯誤調試 9 1.8.5 使用Code::Blocks的原因 11 1.9 Macintosh 11 1.9.1 Xcode 12 1.9.2 安裝Xcode 5 12 1.9.3 運行Xcode 12 1.9.4 用Xcode創建第一個C++程序 12 1.9.5 安裝Xcode 6 beta 16 1.9.6 運行Xcode 16 1.9.7 用Xcode創建第一個C++程序 17 1.9.8 錯誤調試 20 1.10 Linux 21 1.10.1 步驟1:安裝g++ 21 1.10.2 步驟2:運行g++ 22 1.10.3 步驟3:運行你的程序 22 1.10.4 步驟4:安裝文本編輯器 23 1.10.5 配置nano 23 1.10.6 使用nano 23
第2章 C++基礎 27 2.1 C++簡介 27 2.1.1 最簡單的C++程序 27 2.1.2 程序無法運行的原因 29 2.1.3 C++程序的基本結構 30 2.2 為程序添加注釋 30 2.3 像程序員一樣思考,創建可復用的代碼 31 2.4 痛并快樂著的練習 32 2.5 問答題 32 2.6 實踐題 33
第3章 用戶交互和變量 34 3.1 變量 34 3.1.1 C++中的變量聲明 34 3.1.2 使用變量 34 3.1.3 程序閃退的處理方法 35 3.1.4 修改、使用和比較變量 36 3.1.5 加減1的簡寫 36 3.2 變量的使用和濫用 38 3.2.1 C++中聲明變量的常見錯誤 38 3.2.2 區分大小寫 39 3.2.3 變量命名 39 3.3 字符串存儲 40 3.4 基本類型的存儲解析 42 3.5 問答題 43 3.6 實踐題 44
第4章 if語句 45 4.1 if的基礎語法 45 4.2 表達式 46 4.2.1 truth 47 4.2.2 布爾型 48 4.3 else語句 48 4.4 else-if 49 4.5 字符串比較 49 4.6 邏輯運算符在條件語句上的有趣應用 50 4.6.1 邏輯非 50 4.6.2 邏輯與 51 4.6.3 邏輯或 51 4.6.4 綜合表達式 52 4.6.5 邏輯表達式示例 53 4.7 問答題 54 4.8 實踐題 54
第5章 循環 55 5.1 while循環 55 5.2 for循環 57 5.2.1 變量初始化 57 5.2.2 循環條件 57 5.2.3 變量更新 57 5.3 do-while循環 58 5.4 控制循環 59 5.5 嵌套循環 61 5.6 選擇合適的循環 62 5.6.1 for循環 62 5.6.2 while循環 62 5.6.3 do-while循環 63 5.7 問答題 64 5.8 實踐題 64
第6章 函數 66 6.1 函數語法 66 6.2 局部變量和全局變量 68 6.2.1 局部變量 68 6.2.2 全局變量 69 6.2.3 有關全局變量的警告 70 6.3 使函數對調用有效 71 6.3.1 函數定義和聲明 71 6.3.2 函數原型的應用示例 72 6.4 把程序拆分成函數 73 6.4.1 當需要重復代碼時 73 6.4.2 使代碼更加易讀 73 6.5 命名和重載函數 73 6.6 函數概述 74 6.7 問答題 74 6.8 實踐題 75
第7章 如何解決問題 76 7.1 只需判斷數被除時有無余數 78 7.2 效率和安全的簡單說明 79 7.3 不知道算法的情況下的解決方案 80 7.4 實踐題 82
第8章 switch-case和枚舉 83 8.1 比較switch-case和if-else 85 8.2 使用枚舉創建簡單類型 86 8.3 問答題 87 8.4 實踐題 88
第9章 隨機 89 9.1 獲得隨機數 90 9.2 bug和隨機數 92 9.3 問答題 92 9.4 實踐題 93
第二部分 數據處理
第10章 數組 96 10.1 數組的基礎語法 96 10.2 數組使用示例 97 10.2.1 使用數組存儲排序 97 10.2.2 用多維數組表示網格 98 10.3 使用數組 98 10.3.1 數組和for循環 98 10.3.2 將數組傳遞給函數 99 10.3.3 注銷數組的末尾 101 10.4 數組排序 101 10.5 問答題 105 10.6 實踐題 106
第11章 結構體 107 11.1 關聯多個值 107 11.1.1 語法 107 11.1.2 傳遞結構體變量 109 11.2 問答題 111 11.3 實踐題 112
第12章 指針簡介 113 12.1 忘記之前對指針的認知 113 12.2 指針的概念以及關注指針的原因 113 12.3 內存的概念 114 12.3.1 變量與地址 115 12.3.2 內存布局 116 12.4 指針的其他優點(和缺點) 117 12.5 問答題 118 12.6 實踐題 119
第13章 使用指針 120 13.1 指針的語法 120 13.2 指針的指向:變量的地址 121 13.3 未初始化指針與空指針 125 13.4 指針和函數 125 13.5 引用 128 13.6 問答題 129 13.7 實踐題 130
第14章 動態內存分配 131 14.1 獲得更多的新內存 131 14.1.1 運行內存不足 132 14.1.2 引用和動態分配 132 14.2 指針和數組 132 14.3 多維數組 134 14.4 指針運算 135 14.4.1 理解二維數組 136 14.4.2 指向指針的指針 137 14.4.3 指向指針的指針與二維數組 138 14.5 盤點指針 139 14.6 問答題 140 14.7 實踐題 141
第15章 數據結構簡介與鏈表 142 15.1 指針和結構體 144 15.2 創建一個鏈表 145 15.2.1 第一輪 146 15.2.2 第二輪 147 15.3 遍歷鏈表 148 15.4 盤點鏈表 150 15.5 問答題 152 15.6 實踐題 153
第16章 遞歸 155 16.1 如何看待遞歸 155 16.2 遞歸和數據結構 157 16.3 循環和遞歸 159 16.4 棧 161 16.4.1 棧的力量 163 16.4.2 遞歸的缺點 164 16.4.3 調試棧溢出 164 16.4.4 性能 166 16.5 盤點遞歸 166 16.6 問答題 167 16.7 實踐題 167
第17章 二叉樹 169 17.1 在現實世界中使用二叉樹 184 17.2 問答題 186 17.3 實踐題 187
第18章 標準模板庫 188 18.1 vector,大小可變的數組 189 18.1.1 vector的方法調用 190 18.1.2 vector的其他功能 190 18.2 map 191 18.3 迭代器 192 18.4 盤點STL 195 18.5 進一步學習STL 196 18.6 問答題 196 18.7 實踐題 197
第19章 更多關于字符串的內容 198 19.1 讀入字符串 198 19.2 字符串長度和訪問單個元素 200 19.3 字符串搜索與子字符串 200 19.4 通過引用傳遞 202 19.4.1 const傳播 203 19.4.2 const和STL 204 19.5 問答題 206 19.6 實踐題 206
第20章 使用Code::Blocks進行調試 208 20.1 踏上調試之旅 209 20.2 設置斷點 211 20.2.1 調試崩潰問題 216 20.2.2 強行進入一個“懸停”程序 219 20.2.3 修改變量 223 20.2.4 總結 223 20.3 實踐題 223 20.3.1 問題1:指數問題 223 20.3.2 問題2:相加問題 224 20.3.3 問題3:斐波那契程序的bug 225 20.3.4 問題4:列表的錯誤讀取和錯誤輸出 225
第三部分 編寫大規模程序
第21章 將程序分解 228 21.1 理解C++的構建過程 228 21.1.1 預處理 228 21.1.2 編譯 230 21.1.3 鏈接 230 21.1.4 把編譯和鏈接分開的原因 231 21.2 如何把程序分開到不同的文件中 231 21.2.1 第一步:將聲明和定義分開 231 21.2.2 第二步:找出哪些函數需要共享出去 232 21.2.3 第三步:把共用的函數移到新的文件中 232 21.2.4 看一個完整的例子 233 21.2.5 關于頭文件其他要注意的地方 237 21.2.6 在開發環境中處理多個源文件 237 21.3 問答題 240 21.4 實踐題 240
第22章 程序設計方法介紹 241 22.1 冗余代碼 241 22.2 假定數據是如何存儲的 242 22.3 設計和注釋 244 22.4 問答題 245
第23章 隱藏結構化數據的表示 246 23.1 問答題 250 23.2 實踐題 250
第24章 類 251 24.1 隱藏數據的存儲方式 251 24.2 聲明一個類的實例 253 24.3 類的職責 254 24.4 小結 255 24.5 問答題 255 24.6 實踐題 256
第25章 類的生命周期 257 25.1 對象構造 257 25.1.1 沒有新建構造函數的結果 260 25.1.2 初始化類的成員 260 25.1.3 用初始化列表初始化常量字段 261 25.2 解構對象 262 25.2.1 delete時的解構 264 25.2.2 超出作用域時的解構 264 25.2.3 由其他析構函數導致的解構 265 25.3 復制類 266 25.3.1 賦值操作符 267 25.3.2 復制構造函數 269 25.3.3 所有編譯器生成的方法 270 25.3.4 徹底地阻止復制 271 25.4 問答題 272 25.5 實踐題 273
第26章 繼承和多態 274 26.1 C++中的繼承 275 26.1.1 繼承的別的作用以及誤用的情況 278 26.1.2 繼承、對象構建和銷毀 279 26.1.3 多態和對象銷毀 281 26.1.4 對象切割的問題 283 26.1.5 與子類共享代碼 284 26.1.6 protected的數據 285 26.1.7 屬于類的數據 285 26.1.8 如何實現多態 286 26.2 問答題 288 26.3 實踐題 290
第27章 命名空間 291 27.1 問答題 294 27.2 實踐題 295
第28章 文件I/O 296 28.1 文件I/O基礎 296 28.2 文件格式 298 28.3 寫文件 301 28.4 文件位置 302 28.5 接受命令行參數 305 28.6 二進制文件 I/O 307 28.6.1 處理二進制文件 309 28.6.2 轉換到char* 309 28.6.3 二進制I/O的一個例子 310 28.6.4 把類存儲到文件中 311 28.6.5 讀取二進制文件 312 28.7 問答題 315 28.8 實踐題 315
第29章 C++中的模板 318 29.1 模板函數 318 29.1.1 類型推斷 320 29.1.2 鴨子類型 320 29.2 模板類 321 29.3 使用模板的一些小技巧 322 29.4 模板小結 325 29.5 問答題 328 29.6 實踐題 330
第四部分 其他
第30章 使用iomanip格式化輸出 332 30.1 處理空間問題 332 30.1.1 使用setw設置字段寬度 332 30.1.2 改變填充字符 333 30.1.3 永久改變設置 333 30.2 把你的iomanip知識匯總到一起 334 30.2.1 輸出數字 336 30.2.2 使用setprecision來設置數值輸出的精度 336 30.2.3 如何處理貨幣 337 30.2.4 按不同的進制輸出 337
第31章 異常和錯誤報告 338
第32章 最后的話 346
索引 368 |
序: |
|