C++程式設計:現代方法

C++程式設計:現代方法

《C++程式設計:現代方法》是2014年8月人民郵電出版社出版的圖書,作者是[美]F·Alexander Allain。

基本介紹

  • 中文名:C++程式設計:現代方法
  • 作者:[美]F·Alexander Allain
  • ISBN:9787115357007
  • 頁數:369頁
  • 定價:69元
  • 出版社:人民郵電出版社
  • 出版時間:2014年8月
  • 裝幀:平裝
  • 開本:16開
內容簡介,圖書目錄,

內容簡介

《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

相關詞條

熱門詞條

聯絡我們