C++程式設計(第3版)(2015年8月清華大學出版社出版的圖書)

C++程式設計(第3版)(2015年8月清華大學出版社出版的圖書)

本詞條是多義詞,共2個義項
更多義項 ▼ 收起列表 ▲

《C++程式設計(第3版)》是由譚浩強編著,2015年清華大學出版社出版的中國高等院校計算機基礎教育課程體系規劃教材。該教材是學習C++的入門教材,可供各類專業學生使用,也可作為計算機培訓班的教材以及讀者自學參考。

該教材共分四篇,分別為基本知識、基於過程的程式設計、基於對象的程式設計、面向對象的程式設計。全書共14章,主要內容包括C++的初步知識,數據的存儲、表示形式和基本運算等。

基本介紹

  • 書名:C++程式設計(第3版)
  • 作者:譚浩強
  • ISBN:9787302408307
  • 類別:中國高等院校計算機基礎教育課程體系規劃教材
  • 頁數:466頁
  • 出版社:清華大學出版社
  • 出版時間:2015年8月1日
  • 裝幀:平裝
  • 開本:16開
  • 字數:716千字
  • CIP核字號:2015153321
成書過程,修訂情況,出版工作,內容簡介,教材目錄,教學資源,教材特色,作者簡介,

成書過程

修訂情況

該教材作者調查了大學的程式設計課程的現狀和發展趨勢,參閱了中國國內外數十種有關C++的教材,分析了讀者在學習中的困難和認識規律修訂而成。
該教材由譚浩強編著,薛淑斌和譚亦峰高級工程師參加了教學研討、大綱討論、收集材料、調試部分程式及部分編寫工作。全國高等院校計算機基礎教育研究會以及全國各高校老師對該教材的編寫始終給予了支持。

出版工作

2015年8月1日,該教材由清華大學出版社出版。
出版社工作人員
責任編輯封面設計責任校對責任印製
張民
傅瑞學
白蕾
沈露

內容簡介

該教材共分四篇,分別為基本知識、基於過程的程式設計、基於對象的程式設計、面向對象的程式設計。全書共14章,主要內容包括C++的初步知識,數據的存儲、表示形式和基本運算,程式設計初步,利用函式實現指定的功能,利用數組處理批量數據,善於使用指針與引用,用戶自定義數據類型,類和對象的特性,怎樣使用類和對象,運算符重載,繼承與派生,多態性與虛函式,輸入輸出流,C++工具。

教材目錄

第1篇基本知識
第1章C++的初步知識3
*1.1從C到C++3
*1.2最簡單的C++程式5
1.3C++程式的構成和書寫形式12
1.4C++程式的編寫和實現13
1.5關於C++上機實踐15
習題15
第2章數據的存儲、表示形式和基本運算18
2.1C++的數據類型18
2.2常量20
2.2.1什麼是常量20
2.2.2數值常量20
2.2.3字元常量22
2.2.4符號常量25
2.3變數26
2.3.1什麼是變數26
2.3.2變數名規則26
2.3.3定義變數27
2.3.4對變數賦初值28
2.3.5常變數28
2.4C++的運算符29
2.5算術運算符與算術表達式30
2.5.1基本的算術運算符30
2.5.2算術表達式和運算符的優先權與結合性30
2.5.3表達式中各類數值型數據間的混合運算30
2.5.4自增(++)和自減(--)運算符31
2.5.5強制類型轉換運算符32
2.6賦值運算符和賦值表達式33
2.6.1賦值運算符33
2.6.2賦值過程中的類型轉換33
2.6.3複合賦值運算符35
2.6.4賦值表達式35
2.7逗號運算符和逗號表達式36
習題37
第2篇基於過程的程式設計
第3章程式設計初步41
3.1基於過程的程式設計和算法41
3.1.1算法的概念41
3.1.2算法的表示42
3.2C++的程式結構和C++語句43
3.3賦值操作46
3.4C++的輸入與輸出46
*3.4.1輸入流與輸出流的基本操作47
*3.4.2在標準輸入流與輸出流中使用控制符49
3.4.3用getchar和putchar 函式進行字元的輸入和輸出52
3.4.4用scanf和printf函式進行輸入和輸出53
3.5編寫順序結構的程式54
3.6關係運算和邏輯運算55
3.6.1關係運算和關係表達式55
*3.6.2邏輯常量和邏輯變數57
3.6.3邏輯運算和邏輯表達式58
3.7選擇結構和if語句60
3.7.1if語句的形式60
3.7.2if語句的嵌套63
3.7.3條件運算符和條件表達式64
3.7.4多分支選擇結構與switch 語句65
3.7.5編寫選擇結構的程式67
3.8循環結構和循環語句69
3.8.1用while語句構成循環70
3.8.2用dowhile語句構成循環71
3.8.3用for語句構成循環72
3.8.4循環的嵌套74
3.8.5提前結束循環(break語句和continue語句)74
3.8.6編寫循環結構的程式75
習題80
第4章利用函式實現指定的功能83
4.1什麼是函式83
4.1.1為什麼需要函式83
4.1.2函式調用舉例84
4.1.3函式的分類85
4.2定義函式的一般形式85
4.2.1定義無參函式的一般形式85
4.2.2定義有參函式的一般形式86
4.3函式參數和函式的值86
4.3.1形式參數和實際參數86
4.3.2函式的返回值88
4.4函式的調用89
4.4.1函式調用的一般形式89
4.4.2函式調用的方式89
4.4.3對被調用函式的聲明和函式原型90
4.5函式的嵌套調用92
4.6函式的遞歸調用95
*4.7內置函式98
*4.8函式的重載100
*4.9函式模板102
*4.10有默認參數的函式104
4.11局部變數和全局變數106
4.11.1局部變數106
4.11.2全局變數107
4.12變數的存儲類別109
4.12.1動態存儲方式與靜態存儲方式109
4.12.2自動變數110
4.12.3用static聲明靜態局部變數110
4.12.4用register聲明暫存器變數113
4.12.5用extern聲明外部變數113
4.12.6用static聲明靜態外部變數115
4.13變數屬性小結115
4.14關於變數的聲明和定義118
4.15內部函式和外部函式119
4.15.1內部函式119
4.15.2外部函式119
4.16頭檔案121
*4.16.1頭檔案的內容121
4.16.2關於C++標準庫和頭檔案的形式121
習題122
第5章利用數組處理批量數據124
5.1為什麼需要用數組124
5.2定義和引用一維數組125
5.2.1定義一維數組125
5.2.2引用一維數組的元素125
5.2.3一維數組的初始化126
5.2.4一維數組程式舉例126
5.3定義和引用二維數組128
5.3.1定義二維數組129
5.3.2引用二維數組的元素130
5.3.3二維數組的初始化130
5.3.4二維數組程式舉例131
5.4用數組作函式參數133
5.5字元數組137
5.5.1定義和初始化字元數組137
5.5.2字元數組的賦值與引用138
5.5.3字元串和字元串結束標誌139
5.5.4字元數組的輸入輸出140
5.5.5使用字元串處理函式對字元串進行操作141
5.5.6字元數組套用舉例144
*5.6C++處理字元串的方法——字元串類與字元串變數145
5.6.1字元串變數的定義和引用146
5.6.2字元串變數的運算147
5.6.3字元串數組147
5.6.4字元串運算舉例148
習題151
第6章善於使用指針與引用153
6.1什麼是指針153
6.2變數與指針155
6.2.1定義指針變數155
6.2.2引用指針變數157
6.2.3用指針作函式參數159
6.3數組與指針164
6.3.1指向數組元素的指針164
6.3.2用指針變數作函式形參接收數組地址166
6.4字元串與指針169
6.5函式與指針171
6.6返回指針值的函式172
6.7指針數組和指向指針的指針 173
6.7.1指針數組173
*6.7.2指向指針的指針175
*6.8const指針177
*6.9void指針類型179
6.10有關指針的數據類型和指針運算的小結180
6.10.1有關指針的數據類型的小結180
6.10.2指針運算小結180
*6.11引用182
6.11.1什麼是變數的引用182
6.11.2引用的簡單使用183
6.11.3引用作為函式參數184
習題188
第7章用戶自定義數據類型190
7.1結構體類型190
7.1.1為什麼需要用結構體類型190
7.1.2結構體類型變數的定義方法及其初始化191
7.1.3引用結構體變數193
7.1.4結構體數組195
7.1.5指向結構體變數的指針197
7.1.6結構體類型數據作為函式參數200
*7.1.7用new和delete運算符進行動態分配和撤銷存儲空間203
7.2枚舉類型205
7.3用typedef聲明新的類型名208
習題211
第3篇基於對象的程式設計
第8章類和對象的特性215
8.1面向對象程式設計方法概述215
8.1.1什麼是面向對象的程式設計215
8.1.2面向對象程式設計的特點219
8.1.3類和對象的作用220
8.1.4面向對象的軟體開發221
8.2類的聲明和對象的定義222
8.2.1類和對象的關係222
8.2.2聲明類類型222
8.2.3定義對象的方法225
8.3類的成員函式226
8.3.1成員函式的性質226
8.3.2在類外定義成員函式227
8.3.3內置成員函式228
8.3.4成員函式的存儲方式229
8.4對象成員的引用231
8.4.1通過對象名和成員運算符訪問對象中的成員231
8.4.2通過指向對象的指針訪問對象中的成員232
8.4.3通過對象的引用來訪問對象中的成員232
8.5類的封裝性和信息隱蔽232
8.5.1公用接口與私有實現的分離232
8.5.2類聲明和成員函式定義的分離234
8.5.3面向對象程式設計中的幾個名詞235
8.6類和對象的簡單套用舉例236
習題243
第9章怎樣使用類和對象245
9.1利用構造函式對類對象進行初始化245
9.1.1對象的初始化245
9.1.2用構造函式實現數據成員的初始化246
9.1.3帶參數的構造函式248
9.1.4用參數初始化表對數據成員初始化250
9.1.5構造函式的重載251
9.1.6使用默認參數的構造函式252
9.2析構函式255
9.3調用構造函式和析構函式的順序257
9.4對象數組259
9.5對象指針261
9.5.1指向對象的指針261
9.5.2指向對象成員的指針262
9.5.3this指針265
9.6共用數據的保護266
9.6.1常對象266
9.6.2常對象成員268
9.6.3指向對象的常指針269
9.6.4指向常對象的指針變數270
9.6.5對象的常引用273
9.6.6const型數據的小結274
9.7對象的動態建立和釋放274
9.8對象的賦值和複製275
9.8.1對象的賦值275
9.8.2對象的複製277
9.9靜態成員279
9.9.1靜態數據成員280
9.9.2靜態成員函式282
9.10友元285
9.10.1友元函式285
9.10.2友元類289
9.11類模板290
習題294
第10章運算符重載297
10.1什麼是運算符重載297
10.2運算符重載的方法299
10.3重載運算符的規則302
10.4運算符重載函式作為類成員函式和友元函式303
10.5重載雙目運算符307
10.6重載單目運算符311
10.7重載流插入運算符“<<”和流提取運算符“>>”314
10.7.1重載流插入運算符“<<”314
10.7.2重載流提取運算符“>>”316
10.8有關運算符重載的歸納 318
10.9不同類型數據間的轉換319
10.9.1標準類型數據間的轉換319
10.9.2用轉換構造函式進行不同類型數據的轉換320
10.9.3類型轉換函式321
習題327
第4篇面向對象的程式設計
第11章繼承與派生331
11.1繼承與派生的概念331
11.2派生類的聲明方式334
11.3派生類的構成334
11.4派生類成員的訪問屬性336
11.4.1公用繼承337
11.4.2私有繼承339
11.4.3保護成員和保護繼承342
11.4.4多級派生時的訪問屬性346
11.5派生類的構造函式和析構函式347
11.5.1簡單的派生類的構造函式347
11.5.2有子對象的派生類的構造函式351
11.5.3多層派生時的構造函式354
11.5.4派生類構造函式的特殊形式356
11.5.5派生類的析構函式356
11.6多重繼承357
11.6.1聲明多重繼承的方法357
11.6.2多重繼承派生類的構造函式357
11.6.3多重繼承引起的二義性問題360
11.6.4虛基類363
11.7基類與派生類的轉換368
11.8繼承與組合371
11.9繼承在軟體開發中的重要意義373
習題374
第12章多態性與虛函式379
12.1多態性的概念379
12.2一個典型的例子380
12.3利用虛函式實現動態多態性385
12.3.1虛函式的作用385
12.3.2靜態關聯與動態關聯389
12.3.3在什麼情況下應當聲明虛函式391
12.3.4虛析構函式391
12.4純虛函式與抽象類393
12.4.1純虛函式393
12.4.2抽象類393
12.4.3套用實例394
習題400
第13章輸入輸出流401
13.1C++的輸入和輸出401
13.1.1輸入輸出的含義401
13.1.2C++的I/O對C的發展——類型安全和可擴展性401
13.1.3C++的輸入輸出流402
13.2標準輸出流407
13.2.1cout,cerr和clog流407
13.2.2標準類型數據的格式輸出409
13.2.3用流成員函式put輸出字元412
13.3標準輸入流414
13.3.1cin流414
13.3.2用於字元輸入的流成員函式414
13.3.3istream類的其他成員函式416
13.4對數據檔案的操作與檔案流419
13.4.1檔案的概念419
13.4.2檔案流類與檔案流對象420
13.4.3檔案的打開與關閉421
13.4.4對ASCII檔案的操作423
13.4.5對二進制檔案的操作428
13.5字元串流433
習題438
第14章C++工具440
14.1異常處理440
14.1.1異常處理的任務440
14.1.2異常處理的方法441
14.1.3在函式聲明中進行異常情況指定448
14.1.4在異常處理中處理析構函式448
14.2命名空間450
14.2.1為什麼需要命名空間451
14.2.2什麼是命名空間454
14.2.3使用命名空間解決名字衝突456
14.2.4使用命名空間成員的方法458
14.2.5無名的命名空間460
14.2.6標準命名空間std460
14.3使用早期的函式館461
習題462
參考文獻467
(註:目錄排版順序為從左列至右列

教學資源

該教材有《C++程式設計題解和上機指導(第3版)》和《C++程式設計實踐指導》兩本配套教材。
書名書號出版社出版時間作者
《C++程式設計題解和上機指導(第3版)》
9787302408420
清華大學出版社
2015.08.01
譚浩強
《C++程式設計實踐指導》
9787302110873
清華大學出版社
2005.07.01
譚浩強

教材特色

該書降低入門起點,不需要C語言的基礎,從零起點介紹程式設計和C++,以簡單的語言對C++的許多難懂的概念作了說明,降低了初學者學習的困難。
該教材依據ANSIC++標準進行介紹,引導讀者從一開始就按C++的要求編程,而不是過多地遷就C語言的習慣。
該教材在介紹編程例題時,一般採取以下步驟展開:給出任務——解題思路——編寫程式——運行結果——程式分析——說明與注意。以幫助讀者掌握程式設計的思路與方法。
該教材所舉的程式,是從教學的角度考慮的,是為了幫助讀者理解和套用某一方面的教學內容而專門編寫的,並不一定是實際套用的程式。

作者簡介

譚浩強,男,漢族,1934年11月出生,廣東省人。曾擔任清華大學團委副書記、清華大學綿陽分校黨委常委、清華大學分校副校長等職務,同時承擔教學工作。曾獲全國高校教學成果獎國家級獎、國家科技進步獎、多項部委級優秀教材獎,北京市政府授予“有突出貢獻專家”稱號,被國家科委、中國科協表彰為“全國優秀科普工作者”,獲國務院特殊津貼。

相關詞條

熱門詞條

聯絡我們