TOP
0
0
魅麗。花火原創小說66折起
C++程序設計(第3版)(簡體書)
滿額折

C++程序設計(第3版)(簡體書)

人民幣定價:79 元
定  價:NT$ 474 元
優惠價:87412
領券後再享88折
無庫存,下單後進貨(採購期約45個工作天)
可得紅利積點:12 點
相關商品
商品簡介
作者簡介
目次

商品簡介

本書是以C++編程語言來講解計算基礎知識和技能的實用教程。全書共13 章。本書首先介紹了通過程序設計解決問題的思路和步驟,然後依次介紹了C++基礎知識、函數的運用和實現、消息機制、成員函數、條件、循環、文件流、vector 類、泛型容器和二維數組等技術及其C++編程實現技巧。每一章中以及每章的最後,分別給出了自測題、練習題、編程技巧、編程項目等內容。附錄部分給出了所有自測題的解答,供讀者學習參考。
本書適合作為高等院校計算機專業程序設計、編程基礎等課程的教材,也適合專業程序員和想要學習C++編程的讀者閱讀參考。

作者簡介

瑞克·莫瑟(Rick Mercer),美國亞利桑那大學計算機科學系講師,教授軟件開發、程序設計等多門課程,先後編著了6本計算機教材。

目次

第 1章 用C++來解決問題 1
1.1 解決問題 1
1.1.1 分析(提問、考察、研究) 1
1.1.2 設計(模型、思考、計劃、策劃、模式、綱要) 4
1.1.3 算法模式 5
1.1.4 算法設計示例 6
1.1.5 實現(完成、操作、使用) 7
1.1.6 一段C++程序 7
1.1.7 測試 8
1.2 對象、類型與變量 9
本章小結 11
練習題 12
解決問題:請編寫一個算法 12
第 2章 C++基礎 14
2.1 C++程序的組成部分 14
2.1.1 標記:一個程序的最小零件 16
2.1.2 特殊符號 17
2.1.3 標識符 17
2.1.4 關鍵字 18
2.1.5 注釋 18
2.1.6 C++字面常量 19
2.2 語句 21
2.2.1 cout輸出語句 22
2.2.2 賦值與類型轉換 22
2.2.3 cin輸入語句 24
2.3 算術表達式 25
2.3.1 整數算術運算 27
2.3.2 整數與浮點數的混合運算 28
2.3.3 const對象 29
2.4 先提示再輸入 30
2.5 程序實現中的錯誤與警告 32
2.5.1 在編譯時被檢測到的錯誤與警告 33
2.5.2 編譯時的警告信息 35
2.5.3 連接時錯誤 36
2.5.4 運行時錯誤 37
2.5.5 意向性錯誤 37
2.5.6 當軟件的設計與問題說明不相符時 38
本章小結 39
練習題 40
編程技巧 43
編程項目 44
第3章 自由函數的運用 48
3.1 cmath函數 48
3.2 使用cmath函數解決問題 50
3.2.1 分析 50
3.2.2 設計 50
3.2.3 實現 52
3.3 調用已被文檔化的函數 53
3.3.1 前置條件與後置條件 53
3.3.2 函數頭信息 54
3.3.3 實參與形參的關聯 56
3.3.4 面向int、char和bool這些類型的一些函數 58
本章小結 61
練習題 61
編程技巧 63
編程項目 63
第4章 自由函數的實現 66
4.1 實現屬�自己的函數 66
4.1.1 測試驅動器 69
4.1.2 只有一條返回語句的函數 70
4.2 分析、設計與實現 71
4.2.1 分析 71
4.2.2 設計 72
4.2.3 實現 72
4.2.4 測試 74
4.2.5 標識符的域 74
4.2.6 函數名的域 76
4.2.7 全域標識符 76
4.3 void函數與引用型形參 77
4.4 const的引用型形參 80
本章小結 82
練習題 83
編程技巧 84
編程項目 85
第5章 發送消息 89
5.1 為真實世界建模 89
5.1.1 BankAccount對象 90
5.1.2 類與對象的圖解 92
5.2 發送消息 93
5.3 string對象 95
5.3.1 訪問性方法 95
5.3.2 修改性方法 96
5.3.3 為string對象本身定義的操作符 97
5.4 ostream和istream的成員函數 99
5.5 另一個非標準類:Grid 103
5.5.1 Grid對象的其他操作 105
5.5.2 不滿足前置條件的情況 108
5.5.3 即使函數沒有任何實參也必須用()來調用 109
5.6 類和函數為何而存在 109
本章小結 111
練習題 112
編程技巧 114
編程項目 116
第6章 成員函數的實現 120
6.1 在頭文件中定義類 120
6.2 實現類的成員函數 124
6.2.1 實現構造函數 124
6.2.2 實現修改型的類成員函數 125
6.2.3 實現訪問型的成員函數 126
6.3 默認構造函數 129
6.4 狀態型對象模式 131
6.4.1 構造函數 131
6.4.2 修改型函數 131
6.4.3 訪問型函數 132
6.4.4 命名約定 132
6.4.5 public還是private 133
6.4.6 將接口從實現中分離 133
6.5 面向對象設計準則 135
6.5.1 類的內聚力 136
6.5.2 為什麼const只用來修飾訪問型函數,卻不用於修改型函數 136
本章小結 139
練習題 140
編程技巧 141
編程項目 143
第7章 選擇操作 149
7.1 實現選擇控制 149
7.1.1 保護性動作模式 150
7.1.2 if語句 150
7.2 關係運算符 152
7.3 替代性動作模式 153
7.4 選擇操作結構中的語句塊 157
7.5 bool對象 158
7.5.1 布爾運算 160
7.5.2 運算符優先規則 160
7.5.3 布爾運算符||與grid對象 161
7.5.4 短路式布爾評估 163
7.6 bool成員函數 164
7.7 多重選擇操作 166
7.7.1 另一個示例:字母等級評定 168
7.7.2 多路返回 169
7.8 測試多重選擇操作 170
7.9 assert函數 171
7.10 switch語句 173
本章小結 177
練習題 177
編程技巧 180
編程項目 181
第8章 重複操作 188
8.1 實現重複控制 188
8.2 算法模式:確定性循環 189
8.2.1 for語句 191
8.2.2 賦值操作符與其他增量運算的結合 192
8.2.3 對Grid對象使用確定性循環 194
8.3 確定性循環模式的應用 196
8.3.1 分析 196
8.3.2 設計 197
8.3.3 實現 198
8.3.4 測試 199
8.3.5 檢測到錯誤時應該怎麼做 200
8.4 算法模式:不確定性循環 201
8.4.1 使用while語句實現確定性循環模式 202
8.4.2 對Grid對象使用不確定性循環 203
8.4.3 設置了崗哨的不確定性循環 204
8.4.4 用cin >>來充當循環測試 204
8.4.5 無限循環 206
8.5 do while語句 208
8.6 循環的選擇與設計 210
8.6.1 確定要使用的循環類型 210
8.6.2 確定循環測試部分 211
8.6.3 編寫要重複執行的語句 211
8.6.4 確保循環會越來越接近終止條件 211
8.6.5 在必要情況下做好相關對象的初始化操作 211
本章小結 212
練習題 213
編程技巧 216
編程項目 218
第9章 文件流 224
9.1 ifstream對象 224
9.2 將確定性循環模式應用於磁盤文件 227
9.2.1 讓處理過程終止於文件結束符 227
9.2.2 讓用戶選擇文件名 229
9.3 使用不確定性循環處理更複雜的磁盤文件輸入 229
9.3.1 數字與字符串的混合 231
9.3.2 getline函數 231
9.4 ofstream對象 234
本章小結 234
練習題 235
編程技巧 235
編程項目 236
第 10章 vector 238
10.1 C++標準庫中的vector類 238
10.1.1 訪問集合中的個別元素 239
10.1.2 用確定的for循環來處理vector 240
10.1.3 處理vector中的前n個元素 241
10.1.4 檢查下標出界 242
10.1.5 vector::capacity、vector::resize與操作符= 243
10.2 順序搜索 245
10.3 發送消息給vector中的各對象 247
10.4 vector的實參/形參關聯 251
10.5 排序 253
10.6 二分搜索法 258
本章小結 262
練習題 262
編程技巧 267
編程項目 270
第 11章 泛型容器 278
11.1 容器類 278
11.1.1 傳遞類型實參 279
11.1.2 模板 279
11.2 Set類 282
11.2.1 構造函數Set() 283
11.2.2 bool contains(Type const&value) const 283
11.2.3 void insert(Type const&element) 284
11.2.4 bool remove(Type const&removalCandidate) 284
11.3 迭代器模式 285
本章小結 287
練習題 288
編程技巧 288
編程項目 290
第 12章 指針與內存管理 294
12.1 內存因素考量 294
12.1.1 指針 295
12.1.2 指向對象 300
12.2 原生的C數組 302
12.2.1 原生數組與vector之間的差異 303
12.2.2 數組與指針的聯繫 303
12.2.3 傳遞原生數組實參 304
12.3 用new操作符分配內存 305
12.4 delete操作符 309
12.5 用C的struct構建單向鏈接結構體 310
12.5.1 用單向鏈接數據結構實現list類 312
12.5.2 add(std::string) 313
12.5.3 get(int index) 314
12.5.4 remove(stringremovalCandidate) 314
本章小結 316
練習題 317
編程技巧 318
編程項目 319
第 13章 存儲vector的vector 324
13.1 存儲vector的vector 324
13.2 Matrix類 325
13.2.1 標量乘法 328
13.2.2 矩陣加法 328
13.3 原生的二維數組 330
13.4 擁有兩個以上下標的數組 331
本章小結 333
練習題 333
編程技巧 336
編程項目 336
附錄 自測題答案 342

您曾經瀏覽過的商品

購物須知

大陸出版品因裝訂品質及貨運條件與台灣出版品落差甚大,除封面破損、內頁脫落等較嚴重的狀態,其餘商品將正常出貨。

特別提醒:部分書籍附贈之內容(如音頻mp3或影片dvd等)已無實體光碟提供,需以QR CODE 連結至當地網站註冊“並通過驗證程序”,方可下載使用。

無現貨庫存之簡體書,將向海外調貨:
海外有庫存之書籍,等候約45個工作天;
海外無庫存之書籍,平均作業時間約60個工作天,然不保證確定可調到貨,尚請見諒。

為了保護您的權益,「三民網路書店」提供會員七日商品鑑賞期(收到商品為起始日)。

若要辦理退貨,請在商品鑑賞期內寄回,且商品必須是全新狀態與完整包裝(商品、附件、發票、隨貨贈品等)否則恕不接受退貨。

優惠價:87 412
無庫存,下單後進貨
(採購期約45個工作天)

暢銷榜

客服中心

收藏

會員專區