C/C++程式設計實用教程

C/C++程式設計實用教程

《C/C++程式設計實用教程》是2006年清華大學出版社出版的圖書,作者是王大倫。

C/C++是當今從事軟、硬體開發的科技工作者必須熟練掌握的程式語言。學習程式設計的上好方法是邊看書、邊上機、邊思考。基於這種理念,本書用大量例子來說明基本概念、各種庫函式的使用方法以及程式的設計與調試技巧,並辨明是與非。本書共有16章。第1~10章講述C與C++的基本語句和過程化程式結構。第11~16章講述面向對象程式設計的特點與方法。

基本介紹

內容提要,圖書目錄,

內容提要

作者提供了分門別類的程式例子約600多個,其中有複數類、矩陣類、多項式等實用類,所有正面程式均在VC++6.0或BC++3.0調試通過;另外,作者還設有12個講座... [顯示全部]

圖書目錄

第1章走近C/C++1
1.1C語言和面向過程的程式設計1
1.1.1簡介1
1.1.2C源程式的組成2
1.1.3注釋2
1.1.4C程式例子3
1.1.5面向過程的程式設計特點4
1.1.6結構化程式的三種基本結構5
1.2C++語言和面向對象的程式設計6
1.2.1C++的起源6
1.2.2C++的兼容性7
1.2.3面向對象的程式設計語言——C++的特點7
1.2.4面向對象的程式設計特點10
1.3C/C++程式的開發過程11
第2章變數、常量和輸入輸出14
2.1基本字元集14
2.2保留字15
2.3標識符16
2.4基本數據類型16
2.5常量和變數18
2.5.1常量18
2.5.2變數19
2.6整型數據20
2.6.1整型常量的表示方法20
2.6.2整型常量的類型20
2.6.3整型變數的類型21
2.6.4溢出21
2.7實型數據21
2.7.1實型常量的表示方法21
2.7.2實型數據在記憶體中的存放形式22
2.7.3實型數據的截尾誤差22
2.7.4實型常量的類型及其轉換23
2.8字元型數據24
2.8.1字元常量24
2.8.2ASCII碼——字元變數在記憶體中的存放形式25
2.8.3字元變數與單位元組整型變數的關係25
2.8.4字元串常量26
2.8.5字元數據的輸出26
2.8.6字元數據的輸入27
2.9格式化輸出函式printf28
2.9.1一般格式28
2.9.2格式字元29
2.10格式化輸入函式scanf30
2.10.1一般格式30
2.10.2格式字元32
2.11C++的I/O流簡介32
2.11.1輸入操作33
2.11.2輸出操作33
習題234
第3章表達式和運算符38
3.1語句和語句塊38
3.2表達式39
3.3簡單賦值和算術運算41
3.4溢出42
3.5數據類型轉換43
3.5.1隱式數據類型轉換43
3.5.2顯式類型轉換44
3.6自增1和自減145
3.7關係運算符48
3.8邏輯運算符48
3.9位操作運算符50
3.10條件運算符51
3.11複合賦值運算符52
3.12逗號表達式53
習題354
第4章過程化語句58
4.1表達式語句58
4.2選擇語句59
4.2.1條件語句59
4.2.2開關語句63
4.3for循環語句65
4.3.1for語句的一般格式65
4.3.2continue語句及其與break語句的區別68
4.3.3for語句的嵌套與窮舉法69
4.3.4疊代法70
4.4do…while語句71
4.5while語句73
4.6循環語句綜述74
4.6.1循環結構的組成74
4.6.2for語句的變異形式74
4.6.3循環語句的嵌套75
4.6.4break語句77
4.6.5goto語句78
習題478
第5章函式80
5.1函式簡介80
5.2函式定義81
5.3return語句83
5.4函式原型85
5.5局部變數與全局變數85
5.5.1程式的記憶體區域86
5.5.2非靜態局部變數(自動變數)86
5.5.3靜態局部變數87
5.5.4register(暫存器)變數88
5.5.5全局變數88
5.6函式調用機制89
5.6.1棧89
5.6.2函式的調用過程89
5.7內聯函式91
5.7.1運行效率與代碼重用的矛盾91
5.7.2內聯函式91
5.7.3注意事項92
5.8重載函式92
5.8.1引進重載函式的原因92
5.8.2重載函式應滿足的條件92
5.8.3匹配重載函式的順序93
5.9具有默認參數的函式94
5.10遞歸函式96
5.10.1概述96
5.10.2直接遞歸函式97
5.10.3遞歸算法和疊代算法綜述98
習題599
第6章程式結構101
6.1編譯與連線101
6.1.1單檔案的編譯與連線102
6.1.2多檔案的編譯與連線103
6.2變數的作用域與可見性105
6.2.1作用域105
6.2.2可見性106
6.2.3單個源程式檔案中的全局變數106
6.2.4局部變數和全局變數的套用107
6.3變數的存儲類別和生命期109
6.3.1動態存儲方式與靜態存儲方式109
6.3.2變數的生命期109
6.3.3單個源檔案中的變數小結110
6.3.4用extern聲明外部變數110
6.3.5外部變數小結112
6.4外部函式和內部函式114
6.5編譯指令115
6.5.1嵌入(包含)指令116
6.5.2宏定義與宏取消指令116
6.5.3條件編譯指令118
習題6119
第7章數組121
7.1數組的定義和默認值121
7.1.1數組的定義121
7.1.2數組的默認值122
7.2通過下標訪問數組122
7.3作用域122
7.4一維非字元數組的初始化123
7.5字元數組及其初始化123
7.6二維數組125
7.6.1二維數組定義125
7.6.2二維數組元素在記憶體中的排列——降維處理125
7.6.3二維數組的初始化126
7.7數組作為函式的形參126
7.8數組套用舉例128
7.8.1矩陣轉置——二維數組與一維數組的關係128
7.8.2拉格朗日插值法130
7.8.3程式設計的探索法——設計魔方圖132
習題7133
第8章指針和引用135
8.1地址、指針和指針變數的概念135
8.2指針的定義和初始化136
8.3指針的類型137
8.4指針的作用域137
8.5指針變數運算符137
8.6指針使用須知138
8.7指針運算140
8.8數組與指針141
8.8.1數組名是一個常量141
8.8.2一維數組與指針141
8.8.3二維數組與指針143
8.9字元數組、字元串與字元指針144
8.9.1字元數組和字元串144
8.9.2字元串常量和字元數組145
8.9.3字元指針145
8.9.4字元串賦值146
8.10字元串數組與指針數組147
8.10.1重要概念147
8.10.2套用舉例149
8.11字元和字元串處理函式149
8.11.1字元串長度150
8.11.2字元串複製150
8.11.3字元串比較151
8.11.4字元串串接152
8.11.5與字元和字元串有關的庫函式152
8.12NULL指針155
8.13void指針155
8.14堆記憶體分配156
8.14.1函式malloc()和free()156
8.14.2運算符new和delete157
8.14.3採樣數據處理159
8.15常量指針(const對象)160
8.16指針常量(const指針)162
8.17指向常量的指針常量163
8.18函式指針164
8.18.1函式指針概念164
8.18.2用函式指針變數調用函式164
8.18.3函式指針數組166
8.18.4用指向函式的指針作函式參數167
8.19引用168
8.19.1引用的概念168
8.19.2引用與被引用變數的關係169
8.19.3注意事項169
習題8170
第9章再論函式173
9.1參數傳遞的三種方式173
9.1.1函式的一般形式173
9.1.2傳值方式174
9.1.3傳址方式174
9.1.4傳引用方式175
9.1.5例子175
9.1.6小結179
9.2函式的返回值181
9.2.1函式返回地址181
9.2.2函式返回引用182
9.2.3函式不能返回臨時變數的地址或引用184
9.3使用常量指針和常引用傳遞參數185
習題9187
第10章枚舉類型、結構體和共同體189
10.1枚舉類型189
10.2結構體193
10.2.1結構體的聲明和結構體變數的定義193
10.2.2訪問結構體變數的成員194
10.2.3結構體數組195
10.3結構體用作函式參數和返回值196
10.4鍊表196
10.4.1鍊表的概念196
10.4.2結點的構成與訪問197
10.4.3鍊表的兩種構造方法198
10.4.4簡單鍊表操作199
10.5共同體200
10.5.1共同體的特點200
10.5.2共同體和共同體變數的定義格式200
10.5.3共同體變數的記憶體空間201
10.5.4共同體變數成員的訪問方式和特點201
10.6結構體、共同體和枚舉類型的綜合套用203
習題10203
第11章類和對象205
11.1類的聲明與定義205
11.1.1類的組成205
11.1.2內聯函式207
11.2對象的定義208
11.3訪問類的成員209
11.4認識構造函式211
11.4.1構造函式的功能與特點211
11.4.2構造函式的調用次序212
11.4.3構造函式的初始化列表213
11.5析構函式214
11.6對象在記憶體中的布局和this指針215
11.7再論構造函式217
11.7.1默認構造函式217
11.7.2複製構造函式218
11.7.3具有默認參數的構造函式219
11.7.4重載構造函式220
11.8堆對象221
11.8.1創建和刪除單個堆對象的方法221
11.8.2創建和刪除堆對象數組的方法222
11.9靜態數據成員和靜態成員函式224
11.9.1靜態數據成員的特點及定義方法224
11.9.2訪問靜態數據成員的方法225
11.9.3鍊表的創建和簡單的操作225
11.9.4靜態成員函式229
11.10無名對象與臨時對象230
11.11常量對象和常量成員函式231
11.12類成員232
11.13友元233
11.13.1為什麼需要友元233
11.13.2友元的定義方法233
11.13.3友元函式的特點234
習題11239
第12章繼承241
12.1繼承的概念241
12.2公有繼承、保護繼承和私有繼承242
12.2.1類成員訪問許可權242
12.2.2三種繼承模式242
12.3構造函式和析構函式的調用245
12.3.1構造函式的調用次序245
12.3.2析構函式的調用次序245
12.3.3派生類的初始化方法——初始化列表的用法247
12.4重載和操縱251
12.5類層次中的對象數據結構和指針套用252
12.6多繼承和虛基類253
12.6.1沒有公共基類的多繼承——簡單的多繼承253
12.6.2具有公共基類的多繼承254
12.6.3虛基類255
習題12260
第13章多態性和虛函式262
13.1多態性概述262
13.2聯編263
13.3靜態多態性263
13.4虛函式和動態多態性265
13.5對虛函式的限制270
13.6虛析構函式271
13.7成員函式調用虛函式271
13.8在構造函式中調用虛函式272
13.9純虛函式和抽象類272
習題13277
第14章運算符重載與類型轉換280
14.1運算符重載基礎280
14.1.1例子280
14.1.2注意事項282
14.2運算符重載函式284
14.2.1類運算符284
14.2.2友元運算符286
14.3賦值運算符和四則運算符的重載287
14.4自增1和自減1運算符重載289
14.5下標運算符的重載289
14.6關係運算符的重載291
14.7算術賦值運算符的重載292
14.8輸出與輸入運算符的重載292
14.8.1重載輸出運算符292
14.8.2重載輸入運算符293
14.9類型轉換294
14.9.1基本類型轉換為自定義類型295
14.9.2自定義類型轉換為基本類型295
14.9.3自定義類型之間的轉換295
習題14296
第15章模板298
15.1模板的概念298
15.2函式模板與模板函式299
15.2.1函式模板的定義格式299
15.2.2模板函式——函式模板的套用300
15.3類模板303
15.3.1類模板的定義格式303
15.3.2模板類——類模板的套用304
習題15306
第16章I/O流307
16.1C的標準I/O函式的缺陷307
16.2I/O流的概念308
16.3I/O流類庫結構309
16.4標準I/O流310
16.4.1標準I/O流的類層次310
16.4.2預定義流對象310
16.4.3預定義的插入類型311
16.4.4預定義的提取類型312
16.5格式化I/O流313
16.5.1使用控制格式符實現I/O格式化313
16.5.2使用控制輸出格式的成員函式315
16.6用於無格式I/O的ios類成員函式317
16.7檔案與檔案流概述319
16.8檔案流的類層次320
16.9檔案的打開和關閉操作321
16.10順序檔案的讀寫操作323
16.11二進制檔案的讀寫操作324
16.12隨機訪問數據檔案324
16.13字元串流326
習題16327

相關詞條

熱門詞條

聯絡我們