注冊 | 登錄讀書好,好讀書,讀好書!
讀書網-DuShu.com
當前位置: 首頁出版圖書科學技術計算機/網絡軟件與程序設計C/C++及其相關C++基礎教程:從問題分析到程序設計(第2版國外計算機科學經典教材)

C++基礎教程:從問題分析到程序設計(第2版國外計算機科學經典教材)

C++基礎教程:從問題分析到程序設計(第2版國外計算機科學經典教材)

定 價:¥118.00

作 者: (美)馬里克
出版社: 清華大學出版社
叢編項: 從問題分析程序設計
標 簽: C++

ISBN: 9787302121688 出版時間: 2006-06-04 包裝: 平裝
開本: 16開 頁數(shù): 993 字數(shù):  

內容簡介

  本書通過以實踐為指導的獨特教學方法,簡潔地解釋了一些關鍵的C++概念。書中著重討淪了一些核心主題,包括輸入/輸出、控制結構、數(shù)組和類,并結合大量的代碼示例和圖表詳盡而直觀地說明了:些較難理解的概念。本書在第1版的基礎上作了一些改進,新增了一些內容;如異常處理和標準模板庫等。本書適用于所有對C++編程感興趣的讀者,既可作為高等院校計算村[及相關專業(yè)的教材,也可供各類軟件開發(fā)人員參考。本書特色●新增內容:增加了關于異常處理的章節(jié)(第16章)以及關于標準模板庫的新附錄(附錄H)?!窬幊淌纠哼@些示例都是完整的程序,附于各章節(jié)的末尾,并詳細講解了編寫示例時的各個具體階段:輸入、輸出、問題分析和算法設計以及完整的程序清單。帶編號的示例:每章中大量帶編號的示例通過相關代碼說明了編程概念。●注釋,該部分強調了每章中的些重要信息??焖倩仡櫍簩γ空滤w的概念進行了總結?!窬毩曨}:測試學生對所學內容的掌握程度并進一步鞏固所學的知識?!?書:中的所有程序都使用MicrosoftVisualC++.NET編寫、編譯并已通過測試。 1. 計算機和編程語言概述2. C++的基本元素3. 輸入/輸出4. 控制結構I5. 控制結構II6. 用戶定義的函數(shù)I7. 用戶定義的函數(shù)II8. 用戶定義的簡單數(shù)據類型命名空間及字符串類型9. 數(shù)組以及字符串10. 數(shù)組和VECTOR類型的應用11. 記錄(結構體)12. 類和數(shù)據抽象13. 繼承和組合14. 指針.類和虛函數(shù)15. 重載和模板16. 異常處理17. 遞歸18. 鏈表19. 棧和隊列20. 附錄

作者簡介

  D.S.Malik是creighton大學的數(shù)學和計算機科學教授。他于1985年在Ohio大學獲得了哲學博士學位。此后,他就一直在Creighton大學講授計算機科學方面的課程。在抽象代數(shù)、模糊自控理論和語言、模糊邏輯及其應用、信息科學和Java編程等領域,Malik已經發(fā)表了50余篇論文,并編寫了11本專著。

圖書目錄

第1章  計算機和編程語言概述    1
1.1  簡介    1
1.2  概述計算機的發(fā)展史    2
1.3  計算機系統(tǒng)的描述    2
1.3.1  硬件    2
1.3.2  軟件    4
1.4  計算機語言    4
1.5  編程語言的發(fā)展史    5
1.6  高級語言程序的執(zhí)行    6
1.7  問題分析-編碼-執(zhí)行周期的編程    8
1.8  編程方法    12
1.8.1  結構化編程    12
1.8.2  面向對象編程    12
1.9  ANSI/ISO 標準C++    13
1.10  快速回顧    14
1.11  練習題    15
第2章  C++的基本元素    17
2.1  C++基礎知識    18
2.1.1  特殊字符    19
2.1.2  關鍵字    19
2.1.3  標識符    19
2.2  數(shù)據類型    20
2.2.1  基本數(shù)據類型    21
2.2.2  浮點數(shù)據類型    23
2.2.3  string數(shù)據類型    24
2.3  算術運算符和運算符的優(yōu)先級    25
2.4  表達式    28
2.4.1  混合表達式    28
2.4.2  類型轉換(強制轉換)    30
2.5  輸入    31
2.5.1  為常量和變量分配內存    31
2.5.2  對變量賦值    33
2.6  遞增運算符和遞減運算符    40
2.7  輸出    42
2.8  預處理指令    48
2.9  創(chuàng)建C++程序    50
2.10  編程風格和方式    53
2.10.1  語法    53
2.10.2  文檔    55
2.11  更多的賦值語句    56
2.12  編程示例:換算長度    57
2.12.1  問題分析和算法設計    57
2.12.2  變量    58
2.12.3  指定常量    58
2.12.4  主算法    58
2.12.5  綜合    58
2.13  編程示例:美分找零    60
2.13.1  問題分析和算法設計    60
2.13.2  變量    61
2.13.3  指定常量    61
2.13.4  主算法    62
2.14  快速回顧    63
2.15  練習題    65
2.16  編程練習    71
第3章  輸入/輸出    74
3.1  I/O流和標準I/O設備    74
3.2  在程序中使用預定義函數(shù)    79
3.2.1  cin和ignore函數(shù)    81
3.2.2  putback和peek函數(shù)    82
3.2.3  注意I/Ostream變量和I/O函數(shù)
之間的點號    84
3.3  輸入錯誤    84
3.4  輸出和格式化輸出    87
3.4.1  操作符setprecision    88
3.4.2  操作符fixed    88
3.4.3  操作符showpoint    88
3.4.4  操作符setw    90
3.4.5  操作符flush    92
3.5  附加的輸出格式化工具    93
3.5.1  操作符setfill    93
3.5.2  操作符 left和right    95
3.6  輸入/輸出和string類型    96
3.7  文件輸入/輸出    97
3.8  編程示例: 售電影票和向慈善
機構捐贈    100
3.8.1  問題分析和算法設計    101
3.8.2  變量    101
3.8.3  格式化輸出    102
3.8.4  主算法    102
3.8.5  完整的程序清單    103
3.9  編程示例:學生分數(shù)    105
3.9.1  問題分析和算法設計    105
3.9.2  變量    105
3.9.3  主算法    106
3.9.4  完整的程序清單    106
3.10  快速回顧    107
3.11  練習題    109
3.12  編程練習    111
第4章  控制結構I    114
4.1  控制結構    114
4.2  關系運算符    115
4.3  關系運算符和基本數(shù)據類型    116
4.4  關系運算符和string類型    118
4.5  邏輯(布爾)運算符和邏輯
表達式    119
4.6  優(yōu)先順序    120
4.6.1  快速求值法    124
4.6.2  int數(shù)據類型和邏輯(布爾)
表達式    124
4.6.3  bool數(shù)據類型和邏輯(布爾)
表達式    125
4.7  選擇結構:if和if...else語句    126
4.7.1  單選    126
4.7.2  雙選    128
4.7.3  復合語句(塊)    131
4.7.4  多選:嵌套if語句    131
4.7.5  將if...else語句與if語句進行
比較    134
4.7.6  使用偽代碼開發(fā)、測驗和調試
程序    135
4.7.7  輸入失敗和if語句    137
4.7.8  等于運算符(==)和賦值
運算符(=)之間的混淆    140
4.7.9  條件運算符(? :)    141
4.8  switch語句    141
4.9  利用assert函數(shù)終止程序    147
4.10  編程示例:有線電視公司的
收費單    148
4.10.1  問題分析和算法設計    149
4.10.2  變量    149
4.10.3  指定的常量    150
4.10.4  公式    150
4.10.5  主算法    151
4.11  快速回顧    153
4.12  練習題    154
4.13  編程練習    159
第5章  控制結構II(循環(huán))    161
5.1  為什么需要循環(huán)語句    161
5.2  while循環(huán)結構    162
5.2.1  案例1:使用控制計數(shù)器的
while循環(huán)    165
5.2.2  案例2:使用標記控制的while
循環(huán)    167
5.2.3  案例3:標志控制的while
循環(huán)    171
5.2.4  案例4:EOF控制的while
循環(huán)    171
5.3  編程示例:檢查支票賬戶余額    173
5.3.1  問題分析和算法設計    173
5.3.2  主算法    176
5.3.3  完整的程序清單    177
5.4  編程示例: 斐波納契數(shù)列    180
5.4.1  問題分析和算法設計    181
5.4.2  主算法    181
5.4.3  完整的程序清單    182
5.5  for循環(huán)結構    184
5.6  編程示例:分類數(shù)字    189
5.6.1  問題分析和算法設計    189
5.6.2  主算法    190
5.6.3  完整的程序清單    190
5.7  do...while循環(huán)結構    192
5.8  break語句和continue語句    195
5.9  嵌套控制結構    196
5.10  快速回顧    203
5.11  練習題    204
5.12  編程練習    214
第6章  用戶定義的函數(shù) I    216
6.1  預定義函數(shù)    216
6.2  用戶定義的函數(shù)    218
6.3  返回值函數(shù)    219
6.3.1  return語句    221
6.3.2  函數(shù)原型    224
6.3.3  程序的執(zhí)行流程    229
6.4  編程示例:最大數(shù)    229
6.4.1  問題分析和算法設計    230
6.4.2  完整的程序清單    230
6.5  編程示例:有線電視公司    231
6.5.1  問題分析和算法設計    231
6.5.2  主算法(main函數(shù)):    233
6.5.3  完整的程序清單    233
6.6  快速回顧    236
6.7  練習題    237
6.8  編程練習    241
第7章  用戶定義的函數(shù)II    243
7.1  void函數(shù)    243
7.1.1  不帶參數(shù)的void函數(shù)    243
7.1.2  帶參數(shù)的void 函數(shù)    246
7.2  值參數(shù)    249
7.3  將引用變量作為參數(shù)    251
7.4  值參數(shù)和引用參數(shù)以及內存
分配    254
7.5  引用參數(shù)和返回值函數(shù)    265
7.6  標識符的作用域    265
7.7  全局變量的副作用    268
7.8  靜態(tài)變量和自動變量    269
7.9  函數(shù)重載概述    270
7.10  帶默認參數(shù)的函數(shù)    271
7.11  編程示例:分類數(shù)字    273
7.11.1  主算法    275
7.11.2  完整的程序清單    275
7.12  編程示例:數(shù)據比較    277
7.12.1  問題分析和算法設計    278
7.12.2  主算法:函數(shù)main    281
7.12.3  完整的程序清單    282
7.12.4  條形圖    285
7.12.5  函數(shù)printBar    286
7.13  快速回顧    287
7.14  練習題    288
7.15  編程練習    294
第8章  用戶定義的簡單數(shù)據類型、
命名空間及字符串類型    297
8.1  枚舉類型    297
8.1.1  聲明變量    299
8.1.2  賦值    299
8.1.3  枚舉類型的操作    299
8.1.4  關系運算符    300
8.1.5  枚舉類型及循環(huán)    300
8.1.6  枚舉類型的輸入和輸出    300
8.1.7  函數(shù)和枚舉類型    302
8.1.8  在定義枚舉類型時聲明變量    303
8.1.9  匿名數(shù)據類型    303
8.1.10  typedef語句    304
8.2  編程示例:石頭、紙和剪刀的
游戲    305
8.2.1  問題分析和算法設計    305
8.2.2  主算法    310
8.2.3  完整的程序清單    310
8.3  命名空間    314
8.4  字符串類型    319
8.5  編程示例:大拉丁字符串    328
8.5.1  問題分析和算法設計    329
8.5.2  主算法    331
8.5.3  完整的程序清單    331
8.6  快速回顧    333
8.7  練習題    335
8.8  編程練習    338
第9章  數(shù)組以及字符串    340
9.1  數(shù)組    341
9.1.1  訪問數(shù)組元素    342
9.1.2  一維數(shù)組的處理    344
9.1.3  數(shù)組索引越界    348
9.1.4  聲明時初始化數(shù)組    348
9.1.5  處理數(shù)組時的一些限制    349
9.1.6  將數(shù)組作為函數(shù)的參數(shù)    350
9.1.7  整型數(shù)據類型以及數(shù)組索引    355
9.2  C-string(字符數(shù)組)    356
9.2.1  字符串比較    358
9.2.2  字符串的讀寫    359
9.2.3  字符串輸入    359
9.2.4  字符串輸出    360
9.2.5  在執(zhí)行期間指定輸入/輸出
文件    360
9.4  平行數(shù)組    361
9.3  二維數(shù)組和多維數(shù)組    362
9.4.1  訪問數(shù)組元素    364
9.4.2  聲明時初始化二維數(shù)組    365
9.4.3  二維數(shù)組和枚舉類型    365
9.4.4  二維數(shù)組的處理    367
9.4.5  將二維數(shù)組作為參數(shù)傳遞給
函數(shù)    372
9.4.6  字符串數(shù)組    374
9.4.7  聲明二維數(shù)組的其他方法    376
9.5  多維數(shù)組    377
9.6  編程示例:代碼檢測    377
9.6.1  問題分析和算法設計    378
9.6.2  完整的程序清單    381
9.7  編程示例:文本處理    383
9.7.1  問題分析和算法設計    384
9.7.2  完整的程序清單    386
9.8  快速回顧    389
9.9  練習題    390
9.10  編程練習    395
第10章  數(shù)組和vector類型的應用    400
10.1  列表處理    400
10.1.1  查找    400
10.1.2  排序列表:冒泡法排序    404
10.1.3  排序列表:選擇排序    407
10.1.4  對有序列表進行順序查找    413
10.1.5  二分查找法    415
10.2  vector類型(類)    419
10.3  編程示例:選舉結果    423
10.3.1  問題分析和算法設計    424
10.3.2  完整的程序清單    432
10.4  快速回顧    437
10.5  練習題    438
10.6  編程練習    440
第11章  記錄(結構體)    442
11.1  記錄(結構體)    442
11.1.1  訪問結構體成員    444
11.1.2  賦值    445
11.1.3  比較(關系運算符)    446
11.1.4  輸入/輸出    447
11.1.5  結構體變量和函數(shù)    447
11.1.6  數(shù)組與結構體的比較    448
11.1.7  結構體中的數(shù)組    448
11.1.8  數(shù)組中的結構體    450
11.1.9  結構體中的結構體    452
11.2  編程示例:銷售數(shù)據分析    455
11.2.1  問題分析和算法設計    456
11.2.2  主算法    463
11.2.3  完整的程序清單    464
11.3  快速回顧    469
11.4  練習題    470
11.5  編程練習    472
第12章  類和數(shù)據抽象    475
12.1  類    475
12.1.1  統(tǒng)一建模語言圖    478
12.1.2  變量(對象)聲明    478
12.1.3  訪問類成員    479
12.1.4  對類執(zhí)行的內置操作    480
12.1.5  賦值運算符和類    480
12.1.6  類的作用域    481
12.1.7  函數(shù)和類    481
12.1.8  成員函數(shù)的實現(xiàn)    482
12.1.9  訪問函數(shù)和賦值函數(shù)    485
12.1.10  類公有成員和私有成員的
次序    491
12.1.11  構造函數(shù)    493
12.1.12  調用構造函數(shù)    494
12.1.13  類和構造函數(shù)    499
12.1.14  類對象(變量)數(shù)組和構造
函數(shù)    500
12.1.15  析構函數(shù)    501
12.2  數(shù)據抽象化、類和抽象數(shù)據
類型    502
12.3  結構體和類的比較    504
12.4  信息隱藏    504
12.5  可執(zhí)行代碼    507
12.6  類的靜態(tài)成員    510
12.7  編程示例:糖果機    515
12.7.1  問題分析和算法設計    515
12.7.2  主程序    519
12.7.3  完整的程序清單    522
12.8  快速回顧    527
12.9  練習題    529
12.10  編程練習    533
第13章  繼承和組合    536
13.1  繼承    536
13.1.1  重定義(重寫)基類的成員
函數(shù)    538
13.1.2  派生類和基類的構造函數(shù)    544
13.1.3  派生類的頭文件    550
13.1.4  頭文件的多次包含    551
13.1.5  C++流類    552
13.1.6  類的保護成員    553
13.1.7  public、protected或private
繼承    553
13.2  組合    556
13.3  面向對象設計(OOD)和面向
對象的程序設計(OOP)    560
13.4  編程示例:成績單    562
13.4.1  問題分析和算法設計    564
13.4.2  主程序    573
13.4.3  程序清單    575
13.5  快速回顧    581
13.6  練習題    581
13.7  編程練習    587
第14章  指針、類和虛函數(shù)    590
14.1  指針數(shù)據類型和指針變量    590
14.2  取地址運算符(&)    591
14.3  復引用運算符(*)    592
14.4  類、結構體和指針變量    597
14.5  初始化指針變量    600
14.6  動態(tài)變量    600
14.6.1  運算符new    600
14.6.2  運算符delete    601
14.7  指針變量操作    603
14.8  動態(tài)數(shù)組    605
14.8.1  函數(shù)和指針    607
14.8.2  指針和函數(shù)返回值    607
14.9  表層與深層復制和指針    608
14.10  類和指針的一些特性    610
14.10.1  析構函數(shù)    610
14.10.2  賦值運算符    611
14.10.3  復制構造函數(shù)    612
14.11  繼承、指針和虛函數(shù)    619
14.12  取地址運算符和類    625
14.13  快速回顧    627
14.14  練習題    629
14.15  編程練習    635
第15章  重載和模板    636
15.1  為什么需要運算符重載    636
15.2  運算符重載    637
15.2.1  運算符函數(shù)的語法    637
15.2.2  重載運算符的一些限制    638
15.2.3  指針this    638
15.2.4  類的友元函數(shù)    643
15.2.5  作為成員函數(shù)和非成員函
數(shù)的運算符函數(shù)    645
15.2.6  重載二元運算符    648
15.2.7  重載流插入運算符(<<)和流
提取運算符(>>)    653
15.2.8  重載賦值運算符(=)    657
15.2.9  重載一元運算符    664
15.2.10  重載自增(++)和自減(--)
運算符    664
15.2.11  運算符重載:成員和
非成員    670
15.2.12  類和指針數(shù)據成員(回顧)    670
15.2.13  運算符重載:小結    671
15.3  編程示例 clockType    671
15.4  編程示例: 復數(shù)    677
15.5  重載數(shù)組索引(下標)
運算符([ ])    682
15.6  編程示例: newString    683
15.7  函數(shù)重載    689
15.8  模板    689
15.8.1  函數(shù)模板    689
15.8.2  類模板    691
15.9  快速回顧    698
15.10  練習題    700
15.11  編程練習    704
第16章  異常處理    710
16.1  處理程序中的異常    710
16.1.1  C++的異常處理機制    714
16.1.2  try/catch塊    714
16.1.3  在程序中使用try/catch塊    716
16.1.4  使用C++異常類    720
16.2  創(chuàng)建自己的異常類    723
16.3  異常處理技巧    732
16.3.1  終止程序    732
16.3.2  修復錯誤并繼續(xù)執(zhí)行    732
16.3.3  記錄錯誤并繼續(xù)執(zhí)行    734
16.4  棧展開    734
16.5  快速回顧    737
16.6  練習題    738
16.7  編程練習    740
第17章  遞歸    741
17.1  遞歸定義    741
17.1.1  直接和間接遞歸    743
17.1.2  無限遞歸    743
17.2  使用遞歸解決問題    743
17.3  遞歸或迭代各自的用途    752
17.4  編程示例:將一個數(shù)從二進制
轉化為十進制    753
17.5  編程示例:將一個數(shù)從十進制
轉化為二進制    756
17.6  快速回顧    759
17.7  練習題    759
17.8  編程練習    762
第18章  鏈表    765
18.1  鏈表    765
18.1.1  鏈表的屬性    766
18.1.2  遍歷鏈表    768
18.1.3  項插入和刪除    769
18.1.4  構建鏈表    772
18.2  作為ADT的鏈表    776
18.2.1  列表的長度    781
18.2.2  檢索第一個節(jié)點的數(shù)據    781
18.2.3  檢索最后一個節(jié)點的數(shù)據    781
18.2.4  查找列表    781
18.2.5  插入第一個節(jié)點    782
18.2.6  插入最后一個節(jié)點    783
18.2.7  復制列表    787
18.2.8  析構函數(shù)    789
18.2.9  復制構造函數(shù)    789
18.2.10  重載賦值運算符    789
18.3  有序鏈表    790
18.4  雙向鏈表    801
18.4.1  默認的構造函數(shù)    803
18.4.2  isEmptyList    804
18.4.3  銷毀列表    804
18.4.4  初始化列表    804
18.4.5  列表的長度    804
18.4.6  輸出列表    805
18.4.7  反向輸出列表    805
18.4.8  查找列表    805
18.4.9  第一個和最后一個元素    806
18.5  編程示例:錄像帶出租店    810
18.5.1  錄像帶成員    811
18.5.2  顧客成員    821
18.5.3  主程序    823
18.5.4  主程序清單    824
18.6  快速回顧    828
18.7  練習題    828
18.8  編程練習    832
第19章  棧和隊列    835
19.1  棧    835
19.2  將棧實現(xiàn)為數(shù)組    839
19.2.1  復制棧    845
19.2.2  構造函數(shù)和析構函數(shù)    846
19.2.3  復制構造函數(shù)    846
19.2.4  重載賦值運算符(=)    847
19.2.5  棧的頭文件    847
19.3  編程示例:最高GPA    852
19.3.1  程序分析和算法設計    852
19.3.2  完整的程序清單    853
19.4  棧的鏈實現(xiàn)    855
19.4.1  返回棧頂元素    861
19.4.2  復制棧    863
19.4.3  從類linkedListType派生
的棧    867
19.5  棧的應用:后綴表達式
計算器    868
19.5.1  主算法    871
19.5.2  完整的程序清單    873
19.6  刪除遞歸:使用非遞歸算法
反向輸出鏈表    877
19.7  隊列    882
19.7.1  隊列操作    882
19.7.2  將隊列實現(xiàn)為數(shù)組    883
19.7.3  隊列的鏈實現(xiàn)    892
19.7.4  從類linkedListType派生的
隊列    896
19.8  隊列應用:模擬    899
19.8.1  設計排隊系統(tǒng)    900
19.8.2  顧客    901
19.8.3  服務器    903
19.8.4  服務器列表    906
19.8.5  等待顧客隊列    909
19.8.6  主程序    911
19.9  快速回顧    917
19.10  練習題    918
19.11  編程練習    921
附錄A  保留字    924
附錄B  運算符優(yōu)先級    925
附錄C  字符集    926
C.1  ASCII(美國標準信息交換碼)    926
C.2  EBCDIC(擴展二進制編碼
十進制互換代碼)    927
附錄D  運算符重載    928
附錄E  其他C++主題    929
E.1  關于文件輸入/輸出的更多
內容    929
E.1.1  二進制文件    929
E.1.2  隨機文件訪問    934
E.2  ANSI/ISO標準C++
和標準C++中頭    941
附錄F  頭文件    943
F.1  頭文件cassert(assert.h)    943
F.2  頭文件cctype(ctype.h)    943
F.3  頭文件cfloat(float.h)    944
F.4  頭文件climits(limits.h)    946
F.5  頭文件cmath(math.h)    947
F.6  頭文件cstddef(stddef.h)    948
F.7  頭文件cstring(string.h)    948
F.8  頭文件string    948
附錄G  系統(tǒng)上的內存大小和隨機數(shù)
        生成器    951
附錄H  標準模板庫(STL)    953
H.1  STL的組成部分    953
H.2  容器類型    953
H.2.1  順序容器    953
H.2.2  順序容器:向量    954
H.2.3  所有容器中常見的成員函數(shù)    960
H.2.4  順序容器中常見的成員函數(shù)    961
H.2.5  復制算法    961
H.2.6  順序容器:雙端隊列    965
H.2.7  順序容器:列表    967
H.3  迭代器    971
H.3.1  IOStream迭代器    971
H.3.2  容器適配器    972
H.4  算法    975
H.4.1  STL算法分類    975
H.4.2  STL算法    976
H.4.3  函數(shù)fill和fill_n    976
H.4.4  函數(shù)find和find_if    978
H.4.5  函數(shù)remove和replace    979
H.4.6  函數(shù)search、sort和
binary_search    980
附錄I  部分練習題的答案    983

本目錄推薦

掃描二維碼
Copyright ? 讀書網 m.ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網安備 42010302001612號