●前言
第3版前言
第2版前言
第1版前言
教學建議
第1章概述1
1.1計算機的工作原理1
1.1.1馮·諾依曼體繫結構1
1.1.2硬件與軟件2
1.1.3機內信息表示4
1.2程序設計概述8
1.2.1程序設計範式8
1.2.2程序設計步驟9
1.2.3程序設計語言11
1.3C++語言概述14
1.3.1C++語言的特點14
1.3.2C++程序的構成15
1.3.3C++程序的運行步驟16
1.3.4C++語言的詞法17
1.4小結19
1.5習題20
第2章簡單數據的描述——基本數據
類型和表達式21
2.1數據類型概述21
2.2基本數據類型22
2.2.1整數類型22
2.2.2實數類型22
2.2.3字符類型23
2.2.4邏輯類型24
2.3數據的表現形式24
2.3.1常量24
2.3.2變量27
2.3.3變量值的輸入29
2.4數據的基本操作——操作符30
2.4.1操作符概述30
2.4.2算術操作符31
2.4.3關繫與邏輯操作符32
2.4.4賦值操作符34
2.4.5位操作符35
2.4.6其他操作符37
2.4.7操作數的類型轉換38
2.5數據操作的基本單位——表達式42
2.5.1表達式的構成和分類42
2.5.2操作符的優先級和結合性43
2.5.3表達式中操作數的類型轉換44
2.5.4表達式結果的輸出45
2.5.5帶副作用操作符的表達式計算45
2.5.6左值表達式與右值表達式46
2.6小結47
2.7習題48
第3章程序流程控制(算法)描述——語句50
3.1程序流程控制概述50
3.2順序執行51
3.2.1表達式語句51
3.2.2復合語句53
3.2.3空語句53
3.3選擇執行54
3.3.1兩路分支語句——if語句54
3.3.2多路分支語句——switch語句59
3.4重復執行62
3.4.1問題求解的迭代法與窮舉法62
3.4.2循環語句63
3.4.3計數循環和事件循環66
3.4.4循環程序設計實例69
3.5無條件轉移執行74
3.5.1goto語句74
3.5.2break語句75
3.5.3continue語句76
3.6程序設計風格78
3.6.1結構化程序設計78
3.6.2關於goto語句79
3.7小結79
3.8習題80
第4章過程抽像——子程序82
4.1過程抽像概述82
4.1.1基於功能分解與復合的過程式程序設計82
4.1.2子程序及子程序間的數據傳遞83
4.2C++函數84
4.2.1函數的定義84
4.2.2函數的調用86
4.2.3通過參數向函數傳數據的值——值參數傳遞89
4.3變量的局部性90
4.3.1局部變量與全局變量90
4.3.2變量的生存期(存儲分配)93
*4.3.3基於棧的函數調用96
4.4程序的多模塊結構98
4.4.1程序的模塊化98
4.4.2標識符的作用域100
4.4.3標準函數庫108
4.5遞歸函數109
4.5.1什麼是遞歸函數109
4.5.2“分而治之”的程序設計110
4.5.3遞歸函數應用實例111
4.5.4遞歸與循環的選擇113
4.6C++函數的進一步討論114
4.6.1帶參數的宏和內聯函數114
4.6.2帶默認值的形式參數116
4.6.3函數名重載117
4.6.4匿名函數——λ表達式120
4.7小結121
4.8習題122
第5章復合數據的描述——構造數據類型124
5.1自定義值集的數據描述——枚舉類型124
5.1.1枚舉類型的定義124
5.1.2枚舉類型的操作125
5.2由素構成的復合數據的描述——數組類型128
5.2.1線性復合數據的描述——一維數組類型128
5.2.2字符串類型的一種實現——一維字符數組133
5.2.3二維復合數據的描述——二維數組類型136
5.2.4數組類型的應用140
5.3由屬性構成的復合數據的描述——結構類型145
5.3.1結構類型的定義145
5.3.2結構類型的操作147
5.3.3結構類型的應用150
5.4用一種類型表示多種類型的數據——聯合類型153
5.4.1聯合類型的定義與操作153
5.4.2聯合類型的應用155
5.5內存地址的描述——指針類型157
5.5.1指針類型概述157
5.5.2指針類型的定義與基本操作158
5.5.3指針類型作為參數——地址參數傳遞164
5.5.4指針與動態變量—素個數可變的復合數據描述(動態數組與鏈表)170
*5.5.5用指針提高素的訪問效率182
5.5.6把函數作為參數傳遞給函數——函數指針185
*5.5.7多級指針189
……