商品簡介
本書採用C++語言來講解面向對象編程,在介紹C++語法的基礎上,還引入了數據結構、設計模式等內容。全書篇章結構精良、組織有序、概念清晰,圍繞教學需求展開內容,程序文檔形式一致,為學生日後在學術界和專業領域承擔程序設計方面的工作打好了基礎。
名人推薦
通過C++理解面向對象程序設計,既講解C++語法和C++新特點,也涵蓋數據結構、STL、設計模式等高級概念
目次
出版者的話
譯者序
前言
第1章 計算機與程序設計語言導論 1
1.1 計算機系統 1
1.1.1 計算機硬件 1
1.1.2 計算機軟件 4
1.2 計算機語言 4
1.2.1 機器語言 4
1.2.2 符號語言 5
1.2.3 高級語言 5
1.3 計算機語言範式 5
1.3.1 面向過程的程序設計語言範式 6
1.3.2 面向對象的程序設計語言範式 7
1.3.3 函數式程序設計語言範式 7
1.3.4 邏輯式程序設計語言範式 8
1.3.5 C++語言中包含的範式 8
1.4 程序設計 8
1.4.1 理解問題 9
1.4.2 開發解決方案 9
1.5 程序開發 11
1.5.1 編寫和編輯程序 11
1.5.2 編譯程序 12
1.5.3 鏈接程序 12
1.5.4 執行程序 12
1.6 測試 12
1.6.1 設計測試數據 12
1.6.2 程序錯誤 13
本章小結 13
思考題 14
第2章 C++程序設計基礎 16
2.1 C++程序 16
2.1.1 第一個程序 16
2.1.2 第二個程序 20
2.2 變量、值和常量 22
2.2.1 變量 22
2.2.2 值 22
2.2.3 常量 26
2.3 C++程序的組成部分 26
2.3.1 標記符 27
2.3.2 注釋 29
2.4 數據類型 30
2.4.1 整數類型 30
2.4.2 字符類型 36
2.4.3 布爾類型 38
2.4.4 浮點類型 39
2.4.5 void類型 40
2.4.6 字符串類 41
本章小結 42
思考題 42
編程題 47
第3章 表達式和語句 48
3.1 表達式 48
3.1.1 基本表達式 49
3.1.2 一元表達式 51
3.1.3 乘法類表達式 52
3.1.4 加法類表達式 54
3.1.5 賦值表達式 55
3.1.6 左值和右值的概念 57
3.2 類型轉換 57
3.2.1 隱式類型轉換 58
3.2.2 顯式類型轉換(強制轉換) 61
3.3 表達式的求值順序 62
3.3.1 優先級 62
3.3.2 結合性 65
3.4 上溢和下溢 66
3.4.1 整數的上溢和下溢 66
3.4.2 浮點數的上溢和下溢 68
3.5 格式化數據 69
3.5.1 用於輸出的操作符 69
3.5.2 用於輸入的操作符 74
3.6 語句 75
3.6.1 聲明語句 76
3.6.2 表達式語句 77
3.6.3 空語句 78
3.6.4 複合語句 78
3.6.5 返回語句 79
3.7 程序設計 80
3.7.1 提取浮點數的整數部分和小數部分 80
3.7.2 提取整數的個位數 82
3.7.3 把時間分解為時分秒 83
3.7.4 計算平均值和偏差 84
本章小結 86
思考題 86
編程題 90
第4章 選擇結構 92
4.1 簡單選擇結構 92
4.1.1 關係和等性表達式 92
4.1.2 單分支選擇結構:if語句 93
4.1.3 雙分支選擇結構:if-else語句 97
4.1.4 多分支選擇結構 101
4.2 複雜條件決策 103
4.2.1 邏輯表達式 104
4.2.2 邏輯表達式的應用 105
4.3 基於特定值的選擇結構 111
4.3.1 switch語句 111
4.4 條件表達式 117
4.4.1 條件表達式的結構 117
4.4.2 比較 118
4.5 程序設計 119
4.5.1 學生成績 119
4.5.2 計算給定收入的稅款 122
4.5.3 日期編號 124
本章小結 126
思考題 126
編程題 128
第5章 循環結構 130
5.1 概述 130
5.1.1 前綴表達式和後綴表達式 130
5.1.2 循環語句 132
5.2 while語句 132
5.2.1 計數器控制while語句 133
5.2.2 事件控制while語句 138
5.2.3 while語句分析 144
5.3 for語句 144
5.3.1 循環頭 145
5.3.2 循環體 145
5.4 do-while語句 148
5.4.1 事件控制的循環結構 149
5.4.2 do-while循環結構的分析 151
5.5 有關循環結構的詳細信息 152
5.5.1 三種循環結構的比較 152
5.5.2 嵌套循環 152
5.6 其他相關語句 155
5.6.1 return語句 155
5.6.2 break語句 157
5.6.3 continue語句 157
5.6.4 goto語句 158
5.7 程序設計 158
5.7.1 累加和與累乘積 158
5.7.2 階乘 160
5.7.3 乘冪 162
5.7.4 最小值和最大值 164
5.7.5 any或者all查詢 166
本章小結 168
思考題 169
編程題 171
第6章 函數 173
6.1 概述 173
6.1.1 函數的優點 174
6.1.2 函數的定義、聲明和調用 174
6.1.3 庫函數和用戶自定義函數 176
6.2 庫函數 177
6.2.1 數學函數 177
6.2.2 字符函數 181
6.2.3 處理時間 183
6.2.4 隨機數生成 184
6.3 用戶自定義函數 186
6.3.1 函數的四種類型 186
6.3.2 使用聲明 192
6.4 數據交換 194
6.4.1 傳遞數據 195
6.4.2 返回值 199
6.4.3 綜合示例 200
6.5 有關參數的進一步討論 203
6.5.1 默認參數 203
6.5.2 函數重載 204
6.6 作用域和生命週期 206
6.6.1 作用域 206
6.6.2 生命週期 211
6.7 程序設計 213
6.7.1 固定投資的未來價值 214
6.7.2 週期性投資的未來價值 217
本章小結 221
思考題 221
編程題 224
第7章 用戶自定義類型:類 227
7.1 概述 227
7.1.1 現實生活中的類型和實例 227
7.1.2 程序中的類和對象 228
7.1.3 比較 228
7.2 類 229
7.2.1 一個示例 229
7.2.2 類定義 231
7.2.3 成員函數定義 233
7.2.4 內聯函數 234
7.2.5 應用程序 235
7.2.6 結構 235
7.3