注冊 | 登錄讀書好,好讀書,讀好書!
讀書網-DuShu.com
當前位置: 首頁出版圖書科學技術計算機/網絡軟件與程序設計C/C++及其相關現代C++程序設計

現代C++程序設計

現代C++程序設計

定 價:¥58.00

作 者: (美)Barbara Johnston著;曾葆青,丁曉非等譯;曾葆青譯
出版社: 清華大學出版社
叢編項: 國外經典教材·計算機科學與技術
標 簽: C

ISBN: 9787302108054 出版時間: 2005-08-01 包裝: 簡裝本
開本: 26cm 頁數: 569 字數:  

內容簡介

  本書用簡單通俗的語言,細膩生動地介紹了C++語言和面向對象程序設計技術。全書圖文并茂,易學易懂,真正做到了寓教于樂,是一本難得的C++面向對象設計入門教材。本書特色如下: 深入淺出地講解了基本概念和各種重點難點,并配合大量趣味生動的案例。 每章開頭給出了重要術語、概念和學習內容,每章后面部分給出了程序排錯指南。 很多案例既給出了源代碼,也列舉了常見錯誤,以及編譯器產生的出錯信息。 各種技巧方法和注意事項被總結成易于查閱的表格。 課后練習類型豐富,循序漸進,難度和規(guī)模適中。 附錄部分內容獨特,信息豐富。 本書提供全部案例的源代碼(可從www.tup.com.cn下載)。 本書有配套的《教師手冊》、《實驗手冊》及教學配套網站(詳見前言中的說明)。 本書的讀者對象是高校計算機系及軟件學院低年級學生、非計算機專業(yè)軟件工程碩士、計算機專業(yè)二學位和雙學位、非計算機專業(yè)的計算機語言公共選修課不生,以及計算機業(yè)余愛好者。

作者簡介

  曾葆青,大連理工大學軟件學院地教師,畢業(yè)于北京大學。曾留學美國,程序員出身。有多年IT業(yè)工作經驗和大學教育經驗。目前在大連理工大學軟件學院主講C++程序設計、C++高編編程、面向對角程序設計、面向對象的分析和設計、C#.NET、C#高級應用、ASP.NET高級編程、Web Services、數 據結構與算法等多門課程和專題技術。教學內容豐富、生動,深受學生喜愛。主要研究領域為符號計算技術。

圖書目錄

第1章C++與軟件開發(fā)1
歡迎來到C++的世界2
1.1什么是C,什么是C++4
1.1.1C和C++發(fā)展簡史5
1.1.2C/C++是編譯語言5
1.1.3為什么程序員們喜歡C++6
1.2什么是面向對象7
1.2.1C++程序不是自動面向對象的7
1.2.2一個簡單的面向對象程序案例7
1.2.3面向對象的軟件更受歡迎8
1.3結構化設計與面向對象設計9
1.3.1ATM的結構化方法9
1.3.2ATM的面向對象方法9
1.4軟件開發(fā)技術簡介11
1.4.1如何不編程11
1.5找錯12
1.5.1我的程序哪兒出了錯12
復習題與作業(yè)13
簡答題13
作業(yè)13
第2章C++入門: 數據類型、變量、操作符、算術、簡單輸入輸出14
軟件開發(fā)簡介15
2.1編程基礎15
2.1.1算法設計15
2.1.2走成功編程之路17
2.1.3練習: 如何給貓洗澡17
2.1.4三分原則18
2.1.5如何編程19
2.2術語及項目的建立19
2.2.1項目的建立步驟20
2.3C++程序的一般格式21
2.3.1Hello World!程序21
2.3.2注釋21
2.3.3預處理指令22
2.3.4main函數22
2.3.5函數首行22
2.3.6C++語句23
2.3.7氣象信息23
2.3.8空白字符與C++靈活的編程風格24
2.3.9語法與編譯錯誤25
2.3.10C++關鍵字26
2.3.11大小寫敏感27
2.3.12好的編程風格27
2.3.13堅持好的風格27
2.3.14關于程序中的注釋28
2.4程序與數據: 球與球拍28
2.5C++中的數據類型29
2.5.1物品架=內存,容器=數據類型,標簽=變量名30
2.5.2數據類型修飾符31
2.5.3找錯: 整數有多大31
2.6C++中的變量聲明32
2.6.1C++中的命名規(guī)則33
2.6.2在哪里聲明變量33
2.7C++中的操作符34
2.7.1操作的優(yōu)先級34
2.7.2賦值操作符35
2.7.3算術操作符36
2.7.4自增量和自減量操作符41
2.7.5累計操作符42
2.7.6C++中的其他操作符43
2.8其他話題: #define、const和數據類型轉換43
2.8.1#define43
2.8.2const修飾符44
2.8.3const優(yōu)于#define嗎45
2.8.4數據類型轉換46
2.9鍵盤輸入和屏幕輸出48
2.10練習48
2.10.1找錯: 賦值操作的擺放位置48
2.10.2計算圓柱體的體積49
2.10.3求余和距離換算50
2.10.4將字符數據表示為十進制、十六進制、八進制數,流格式化51
復習題與作業(yè)51
簡答題51
程序改錯題52
代碼閱讀53
編程題54
第3章控制語句和循環(huán)55
判斷,還是判斷56
3.1關系操作符和邏輯操作符56
3.1.1表達式求值和操作符優(yōu)先級57
3.2if語句59
3.2.1if else語句60
3.2.2if語句中的括號錯誤61
3.2.3if—else if—else語句62
3.2.4低效率編程方法64
3.2.5if else: This Old Man編程舉例65
3.2.6嵌套if else語句66
3.2.7“?”操作符67
3.3switch語句68
3.3.1找錯: 不要忘了break69
3.4循環(huán)語句概述70
3.4.1加括號還是不加括號70
3.4.2無法跳出無窮循環(huán)71
3.5for循環(huán)71
3.5.1不要更改循環(huán)指標72
3.5.2for循環(huán)舉例73
3.6while循環(huán)74
3.6.1while循環(huán)舉例75
3.7do while循環(huán)76
3.7.1do while舉例77
3.8排除錯誤79
3.8.14種常見錯誤79
3.8.2找錯: 循環(huán)無法中止80
3.8.3找錯: 分號和括號82
3.8.4找錯: 放錯位置的else、非法else、文件不完整錯誤83
3.8.5調試程序84
3.9總結84
3.9.1縮進原則86
3.10練習86
3.10.1時間轉換87
3.10.2數89
3.10.3輸出圖案90
復習題與作業(yè)92
簡答題92
找錯題: 編譯錯誤93
找錯題: 運行期錯誤93
代碼閱讀95
編程題95
第4章指針、地址、間接尋址操作符97
泊車與指針98
4.1指針的重要性98
4.2變量與內存98
4.2.1sizeof操作符99
4.2.2分配內存100
4.2.3計算機內存與十六進制數101
4.3取地址操作符&102
4.4指針104
4.4.1指針與取地址操作符104
4.4.2小紅帽與白宮106
4.4.3指針與間接尋址操作符106
4.4.4指針類型混用109
4.5指針有什么用110
4.5.1C++中的函數只返回一個值110
4.5.2高效處理大數據結構、數組、類111
4.6總結112
4.6.1指針: 早學,勤練113
4.7練習113
4.7.1問候與指針113
4.7.2“This Old Man”與指針114
4.7.3金字塔的體積與指針115
復習題與作業(yè)116
簡答題116
代碼閱讀116
找錯題117
編程題118
第5章函數第I部分: 基本概念119
蓋房子與開發(fā)軟件120
5.1C++中的函數120
5.1.1使用函數之前120
5.1.2有了函數以后121
5.1.3使用函數有很多優(yōu)點122
5.2函數的基本格式122
5.2.14個簡單函數例子123
5.2.2調用函數與被調函數124
5.3寫函數的要求125
5.3.1計算年齡125
5.3.2函數原型126
5.3.3函數調用127
5.3.4函數首行與函數體127
5.3.5傳值調用129
5.3.6再看一個例子130
5.3.7回顧函數的一般形式132
5.3.8找錯: 類型失配133
5.3.9找錯: 調用語句中的數據類型134
5.3.10函數使用要求與C++庫135
5.4局部變量、靜態(tài)變量、全局變量135
5.4.1局部變量136
5.4.2找錯: 忘記聲明變量136
5.4.3靜態(tài)變量137
5.4.4全局變量138
5.4.5全局變量是危險的139
5.4.6找錯: 全局變量y1和math.h139
5.5指針與函數141
5.5.1傳值調用復習141
5.5.2函數返回兩個值142
5.5.3指針復習142
5.5.4傳引用調用: 將變量地址傳給函數143
5.6總結145
5.7練習146
5.7.1素數146
5.7.2隨機數150
5.7.3時間轉換151
5.7.4貓和狗152
復習題與作業(yè)155
簡答題155
代碼閱讀156
程序找錯題157
編程題157
第6章數組159
跑得更快,跳得更高160
6.1使用單數據變量160
6.2數組基礎161
6.2.1C++中的數組下標從零開始162
6.2.2數組不被自動初始化162
6.2.3初始化一維數組162
6.2.4for循環(huán)與數組163
6.3數組的伴隨指針165
6.3.1數組指針165
6.4一維數組和函數166
6.4.1數組與數組指針167
6.4.2向函數傳遞一維數組167
6.4.3求數組元素的平均值168
6.4.4找錯: 不能從函數中“返回”數組169
6.5字符數組172
6.5.1字符數組的初始化173
6.5.2空字符173
6.5.3輸入字符串175
6.5.4讀取數值和字符數據181
6.5.5C++中的字符串函數183
6.6多維數組184
6.6.1二維數組的初始化185
6.6.2嵌套for循環(huán)和二維數組186
6.6.3二維數組的應用: 水電雜費計算程序186
6.7多維數組與函數188
6.7.1重新設計水電雜費計算程序188
6.7.2白雪公主: 用二維數組存儲姓名190
6.8數組下標越界190
6.8.1數組下標越界等于災難192
6.9從文件中讀數據192
6.10總結192
6.11練習194
6.11.1常用單詞194
6.11.2氣象信息195
復習題與作業(yè)199
簡答題199
找錯題: 編譯錯誤199
找錯題: 運行期錯誤200
編程題201
第7章用戶定義的數據類型、結構與枚舉204
建城堡205
7.1用戶定義的數據類型205
7.1.1將數據分組205
7.1.2結構與枚舉206
7.2結構206
7.2.1數據類型基本概念回顧206
7.2.2創(chuàng)建并聲明結構207
7.2.3結構說明208
7.2.4無名結構209
7.3訪問結構成員210
7.3.1方框圖210
7.3.2訪問結構成員210
7.4結構數組213
7.4.1結構數組舉例213
7.5結構中的結構216
7.5.1使用了時間結構的競賽程序216
7.5.2嵌套了兩個結構的結構217
7.6復制結構219
7.7結構與函數220
7.7.1時間結構舉例221
7.7.2求線段的中點222
7.8傳引用調用: 將結構地址傳遞給函數223
7.8.1函數與指針: 簡要回顧223
7.8.2結構變量的賦值與返回225
7.8.3右箭操作符與點操作符226
7.8.4程序員的捷徑227
7.8.5編程案例: 觀鳥228
7.9結構數組與函數230
7.9.1底線230
7.9.2舉例: Student結構數組231
7.10枚舉數據類型232
7.10.1通過枚舉變量創(chuàng)建編號序列233
7.10.2枚舉變量: 賦值與比較235
7.10.3枚舉變量找錯: 選擇枚舉值要謹慎238
7.10.4舉例: 數硬幣239
7.10.5枚舉變量的輸入與輸出240
7.11枚舉類型與函數242
7.11.1舉例: 光學器件與錯誤代碼243
7.12多文件程序245
7.13練習245
7.13.1計算時間245
7.13.2撲克牌247
7.13.3趣味狗秀248
復習題與作業(yè)251
簡答題251
找錯: 編譯錯誤252
找錯: 運行期錯誤253
編程題254
第8章函數第II部分: 高級概念256
走進新世界257
8.1函數復習257
8.1.1基本要求257
8.1.2傳值調用257
8.1.3調用函數與被調函數259
8.1.4傳引用調用: 向函數傳遞變量地址259
8.1.5全局變量與函數260
8.1.6函數傳遞數據的4種方法261
8.2利用引用參數的傳引用調用262
8.2.1通過引用參數進行函數的傳引用調用262
8.2.2引用變量數組269
8.3函數重載270
8.3.1在過去的C時代270
8.3.2函數重載271
8.4可變長參數表函數273
8.4.1畫線程序274
8.4.2參數順序275
8.4.3找錯: 函數重載278
8.4.4不同類型的重載函數280
8.5內聯函數281
8.6總結282
復習題與作業(yè)282
簡答題282
找錯題: 編譯錯誤283
找錯題: 運行期錯誤285
編程題287
第9章類與對象290
打蠟291
9.1面向對象的原則和定義291
9.1.1簡介291
9.1.2面向對象語言的基本原則293
9.1.3對象存在于生活中294
9.1.4對象定義295
9.2類與對象296
9.2.1面向對象分析: 特征、行為和功能296
9.2.2面向對象設計297
9.2.3結構化網球程序298
9.2.4類的聲明299
9.2.5網球類300
9.2.6如何給數據成員賦值302
9.3定義成員函數305
9.3.1兩種不同格式305
9.3.2舉例: 球體類305
9.4類的構造函數308
9.4.1數據成員的初始化308
9.4.2構造函數309
9.4.3舉例: 構造函數與時鐘310
9.4.4構造函數注意事項312
9.4.5舉例: 兩個日期312
9.5析構函數315
9.6一個簡單例子316
9.6.1學習難點316
9.6.2舉例: Gadgets程序316
9.6.3找錯: 與類相關的常見錯誤320
9.7對象數組325
9.7.1PhoneList對象數組325
9.7.2對象數組和撲克牌328
9.8操作符重載與對象330
9.8.1一元操作符重載331
9.8.2增量/減量操作符的前綴形式與后綴形式332
9.8.3二元操作符重載333
9.9指針與類339
9.9.1舉例340
9.10總結346
9.10.1結構與類的比較347
9.11練習348
9.11.1足球運動員348
復習題與作業(yè)353
簡答題353
找錯題: 編譯錯誤353
找錯題: 運行期錯誤356
編程題358
第10章類之間的關系360
開心時刻361
10.1對象模型和類關系361
10.2使用C++的類362
10.2.1輸入輸出流類iostream362
10.2.2C++字符串類362
10.2.3C++數值類362
10.2.4使用名字空間std363
10.2.5名字空間舉例363
10.3“有”關系和“使用”關系365
10.3.1例1: 顧客與收銀員365
10.3.2例2: 擲色子372
10.3.3例3: 教練的秒表376
10.3.4例4: 可樂零售機379
10.4總結387
作業(yè)387
第11章繼承與虛函數392
家長與孩子393
11.1為什么繼承如此重要393
11.1.1舉例: 計數器類393
11.1.2答案是繼承395
11.2繼承基礎395
11.2.1舉例: Counter與NewCounter395
11.2.2受保護的成員399
11.2.3雇員、經理、執(zhí)行總裁401
11.3存取說明符的特殊用法408
11.4多重繼承410
11.5繼承、構造函數和析構函數410
11.5.1復習構造函數和析構函數410
11.5.2基類和派生類的構造函數411
11.5.3基類和派生類的析構函數411
11.5.4基類和派生類構造函數的參數傳遞412
11.5.5找錯: 繼承419
11.6繼承舉例420
11.6.1動物園421
11.6.2洗牌與發(fā)牌424
11.6.3面向對象程序設計425
11.6.4類聲明427
11.7多態(tài)與虛函數434
11.7.1多態(tài): 一個界面,多種形式434
11.7.2什么是虛函數435
11.7.3純虛函數437
11.7.4虛函數的應用438
11.8總結443
復習題與作業(yè)443
簡答題443
編程題444
第12章高級C++編程446
冰山的啟示447
12.1動態(tài)內存分配447
12.1.1概述447
12.1.2new和delete操作符448
12.1.3如果new操作失敗,會出什么事451
12.2星球大戰(zhàn)452
12.2.1為二維和三維數組分配內存452
12.2.2在函數之間多次傳遞地址457
12.3異常處理458
12.3.1舉例459
12.3.2new操作符的異常處理461
12.4微軟基礎類庫(MFC)462
12.4.1簡述462
12.4.2快速構建一個會發(fā)聲的Windows應用程序463
12.5JavaTM程序設計語言465
12.5.1JavaTM是沒有指針的C++465
12.5.2Java版“Hello World”466
12.6總結: 模板、標準模板庫、友元466
12.6.1cout<<"\n再見!";467
附錄AVisual C++使用入門468
附錄BC++關鍵字480
附錄CC++中的操作符492
附錄DASCII碼493
附錄E位、字節(jié)、內存及十六進制表示法497
附錄F文件輸入輸出502
附錄GC++的string類515
附錄H多文件程序524
附錄I鍵盤輸入和屏幕輸出532
附錄JMicrosoft Visual C++調試工具544
附錄K例子程序索引552
參考文獻559
詞匯表560

本目錄推薦

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