注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當(dāng)前位置: 首頁出版圖書科學(xué)技術(shù)計算機/網(wǎng)絡(luò)軟件與程序設(shè)計C/C++及其相關(guān)現(xiàn)代C++程序設(shè)計

現(xiàn)代C++程序設(shè)計

現(xiàn)代C++程序設(shè)計

定 價:¥58.00

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

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

內(nèi)容簡介

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

作者簡介

  曾葆青,大連理工大學(xué)軟件學(xué)院地教師,畢業(yè)于北京大學(xué)。曾留學(xué)美國,程序員出身。有多年IT業(yè)工作經(jīng)驗和大學(xué)教育經(jīng)驗。目前在大連理工大學(xué)軟件學(xué)院主講C++程序設(shè)計、C++高編編程、面向?qū)浅绦蛟O(shè)計、面向?qū)ο蟮姆治龊驮O(shè)計、C#.NET、C#高級應(yīng)用、ASP.NET高級編程、Web Services、數(shù) 據(jù)結(jié)構(gòu)與算法等多門課程和專題技術(shù)。教學(xué)內(nèi)容豐富、生動,深受學(xué)生喜愛。主要研究領(lǐng)域為符號計算技術(shù)。

圖書目錄

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

本目錄推薦

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