C 程式設計教程第2版

C 程式設計教程第2版

《C 程式設計教程第2版》是2019年出版的圖書,作者是皮德常。

基本介紹

  • 書名:C 程式設計教程第2版
  • ISBN:978-7-111-45476-2
  • 定價:39.0
  • 出版社:機械工業出版社 
  • 出版時間:2019-01-05
  • 開本:16開
出版信息,圖書簡介,圖書目錄,

出版信息

ISBN:978-7-111-45476-2
裝訂:
責編:
開本:16開
出版日期: 2019-01-05
字數:345 千字
定價:39.0

圖書簡介

全書以“程式設計”為主線,從材料取捨、內容表達方式、實例選取到習題和課程設計配置都以讀者掌握“程式設計”的基本概念、方法和技巧為重點,並融入了作者多年的C++教學經驗和軟體工程實踐經驗,涵蓋了“C++程式設計”必要的基礎知識,系統地介紹了C++程式設計的基本概念、方法和技術。

圖書目錄

前言
教學建議
第1章 C++程式設計基礎 1
1.1 為什麼要學習C++程式設計 1
1.2 簡單的C++程式舉例 2
1.3 注釋方法 3
1.4 編程風格 3
1.5 C++程式的詞法單位 3
1.5.1 C++程式中的字元 4
1.5.2 標識符 4
1.5.3 關鍵字 4
1.6 C++的基本數據類型 5
1.7 變數與常量 6
1.7.1 變數 6
1.7.2 文字常量 7
1.7.3 符號常量 8
1.7.4 常變數 9
1.8 運算符和表達式 9
1.8.1 算術運算符和算術表達式 9
1.8.2 初識運算符的優先權和結合性 9
1.8.3 賦值運算符和賦值表達式 10
1.8.4 自增、自減運算 11
1.8.5 關係運算符和關係表達式 11
1.8.6 邏輯運算符和邏輯表達式 12
1.8.7 位運算符及其表達式 13
1.8.8 逗號運算符與逗號表達式 15
1.8.9 sizeof運算符 15
1.8.10 C++的運算符優先權和結合性 16
1.9 語句 16
1.10 類型轉換 17
1.10.1 賦值時的類型轉換 17
1.10.2 混合運算時的類型轉換 18
1.10.3 強制類型轉換 19
1.11 簡單的輸出和輸入方法 19
1.11.1 cout對象和cin對象 19
1.11.2 格式化輸出 22
1.11.3 採用函式成員實現格式化輸出 24
1.11.4 對函式成員的初步討論 26
1.11.5 指定輸入域寬 26
1.11.6 讀取一行 27
1.11.7 讀取一個字元 27
1.11.8 讀取字元時易出錯的地方 28
1.12 枚舉類型 29
1.12.1 枚舉類型的定義 29
1.12.2 枚舉類型的變數 29
1.12.3 枚舉類型的套用 30
思考與練習 31
第2章 C++的流程控制 32
2.1 算法的基本概念和表示方法 32
2.1.1 算法的基本概念 32
2.1.2 算法的表示 32
2.1.3 算法的三種基本結構 33
2.2 選擇結構程式設計 34
2.2.1 基本的if語句 34
2.2.2 嵌套的if語句 36
2.2.3 條件運算符 38
2.2.4 switch語句 39
2.3 循環結構程式設計 41
2.3.1 while循環 41
2.3.2 do-while循環 42
2.3.3 for循環 42
2.3.4 循環嵌套 44
2.3.5 break語句 45
2.3.6 continue語句 46
2.3.7 應該少用的goto語句 47
2.4 程式設計套用舉例 47
思考與練習 51
第3章 函式 54
3.1 函式的定義和調用 54
3.1.1 概述 54
3.1.2 定義函式 54
3.1.3 調用函式 55
3.2 函式的聲明 57
3.3 函式的參數傳遞和返回值 58
3.3.1 函式參數的傳遞方式 58
3.3.2 函式的返回值 59
3.4 局部變數和全局變數 61
3.4.1 記憶體存儲區的布局 61
3.4.2 局部變數 62
3.4.3 全局變數 62
3.4.4 局部變數與棧 63
3.5 變數的存儲類別 64
3.5.1 auto修飾的變數 64
3.5.2 register修飾的變數 65
3.5.3 static修飾的變數 65
3.5.4 extern修飾的變數 66
3.6 默認參數 68
3.7 引用做參數 70
3.8 函式重載 71
3.9 函式模板 74
3.9.1 從函式重載到函式模板 74
3.9.2 定義函式模板的方法 77
3.9.3 函式模板重載 77
3.10 內聯函式 78
3.11 函式的遞歸調用 79
3.12 函式的調試方法 84
3.13 編譯預處理 85
3.13.1 宏定義 85
3.13.2 檔案包含 87
3.13.3 條件編譯 87
思考與練習 89
第4章 數組 92
4.1 一維數組 92
4.1.1 一維數組的定義和套用 92
4.1.2 引用一維數組元素 93
4.1.3 數組無越界檢查 93
4.1.4 數組初始化 93
4.2 多維數組 95
4.2.1 二維數組的定義 95
4.2.2 二維數組的初始化 95
4.2.3 引用二維數組元素 96
4.3 數組做函式參數 97
4.3.1 數組元素做函式參數 97
4.3.2 數組名做函式參數 98
4.4 常用算法舉例 99
4.5 字元數組與字元串 110
4.5.1 字元數組的定義 110
4.5.2 字元數組的初始化 111
4.5.3 字元串 111
4.5.4 字元數組的輸入和輸出 112
4.6 處理字元和字元串 113
4.6.1 處理字元的宏 113
4.6.2 處理C風格字元串的函式 114
4.6.3 自定義字元串處理函式 117
4.7 標準C++的string類 119
4.7.1 如何使用string類型 119
4.7.2 string對象的比較 120
4.7.3 string對象的初始化 120
4.7.4 string的函式成員 121
4.7.5 string對象套用舉例 122
思考與練習 123
第5章 指針 125
5.1 指針的概念 125
5.2 指針變數 125
5.2.1 定義指針變數 125
5.2.2 運算符&和* 126
5.2.3 引用指針變數 127
5.3 指針與數組 129
5.3.1 指向數組元素的指針 129
5.3.2 指針的運算 130
5.3.3 二維數組與指針 132
5.4 指針與函式 136
5.4.1 基本類型的變數做函式形參 136
5.4.2 引用做函式形參 137
5.4.3 指針變數做函式形參 138
5.4.4 返回指針的函式 140
5.4.5 指向函式的指針 142
5.5 指針數組與指向指針的指針 143
5.5.1 指針數組 143
5.5.2 main函式的參數 146
5.5.3 指向指針的指針 146
5.5.4 再次討論main函式的參數 147
5.6 記憶體的動態分配和釋放 148
5.7 void和const修飾指針變數 151
5.7.1 void修飾指針 151
5.7.2 const修飾指針 152
5.8 對容易混淆概念的總結 153
思考與練習 155
第6章 結構體與鍊表 158
6.1 抽象數據類型 158
6.2 結構體的定義及套用 158
6.2.1 定義結構體類型 158
6.2.2 定義結構體類型的變數 159
6.2.3 初始化結構體類型的變數 161
6.2.4 結構體類型變數及其成員的引用 161
6.2.5 結構體數組與指針 164
6.3 用typedef定義類型 166
6.4 單向鍊表 167
6.4.1 鍊表的概念 167
6.4.2 帶頭結點的單向鍊表常用算法 169
思考與練習 174
第7章 檔案操作 175
7.1 檔案的基本概念 175
7.1.1 檔案命名的原則 175
7.1.2 使用檔案的基本過程 175
7.1.3 檔案流類型 175
7.2 打開檔案和關閉檔案 176
7.2.1 打開檔案 176
7.2.2 檔案的打開模式 177
7.2.3 定義流對象時打開檔案 178
7.2.4 測試檔案打開是否成功 178
7.2.5 關閉檔案 179
7.3 採用流操作符讀寫檔案 179
7.3.1 採用“<<”操作符寫檔案 179
7.3.2 格式化輸出在寫檔案中的套用 181
7.3.3 採用“>>”操作符從檔案讀數據 182
7.3.4 檢測檔案結束 183
7.4 流對象做參數 184
7.5 出錯檢測 186
7.6 採用函式成員讀/寫檔案 187
7.6.1 採用“>>”操作符讀檔案的缺陷 188
7.6.2 採用函式getline讀檔案 188
7.6.3 採用函式get讀檔案 190
7.6.4 採用函式put寫檔案 191
7.7 多檔案操作 191
7.8 二進制檔案 193
7.8.1 二進制檔案的操作 193
7.8.2 讀/寫結構體記錄 194
7.9 隨機訪問檔案 197
7.9.1 順序訪問檔案的缺陷 197
7.9.2 定位函式seekp和seekg 197
7.9.3 返回位置函式tellp和tellg 200
7.10 輸入/輸出二進制檔案綜合舉例 201
思考與練習 204
第8章 類的基礎部分 206
8.1 面向過程程式設計與面向對象程式設計的區別 206
8.1.1 面向過程程式設計的缺陷 206
8.1.2 面向對象程式設計的基本思想 206
8.2 類的基本概念 208
8.3 定義函式成員 210
8.4 定義對象 211
8.4.1 訪問對象的成員 211
8.4.2 指向對象的指針 211
8.4.3 引入私有成員的原因 213
8.5 類的多檔案組織 213
8.6 私有函式成員的作用 215
8.7 內聯函式 216
8.8 構造函式和析構函式 217
8.8.1 構造函式 218
8.8.2 析構函式 220
8.8.3 帶參構造函式 221
8.8.4 構造函式套用舉例——輸入有效的對象 223
8.8.5 重載構造函式 225
8.8.6 默認構造函式的表現形式 226
8.9 對象數組 227
8.10 類的套用舉例 230
8.11 抽象數組類型 234
8.11.1 創建抽象數組類型 234
8.11.2 擴充抽象數組類型 236
思考與練習 240
第9章 類的高級部分 241
9.1 靜態成員 241
9.1.1 靜態數據成員 241
9.1.2 靜態函式成員 244
9.2 友元函式 246
9.2.1 外部函式作為類的友元 246
9.2.2 類的成員函式作為另外一個類的友元 247
9.2.3 一個類作為另外一個類的友元 250
9.3 對象賦值問題 251
9.4 拷貝構造函式 252
9.4.1 默認的拷貝構造函式 254
9.4.2 調用拷貝構造函式的情況 254
9.5 運算符重載 257
9.5.1 重載賦值運算符 257
9.5.2 this指針 259
9.5.3 重載雙目算術運算符 262
9.5.4 重載單目算術運算符 264
9.5.5 重載關係運算符 265
9.5.6 重載流操作符“<<”和“>>” 265
9.5.7 重載類型轉換運算符 267
9.5.8 重載操作符“[ ]” 271
9.5.9 重載運算符時要注意的問題 276
9.5.10 運算符重載綜合舉例——自定義string類 276
9.6 對象組合 283
思考與練習 284
第10章 繼承、多態和虛函式 286
10.1 繼承 286
10.2 保護成員和類的訪問 290
10.3 構造函式和析構函式 293
10.3.1 默認構造函式和析構函式的調用 293
10.3.2 向基類的構造函式傳參數 294
10.3.3 初始化列表的作用 296
10.4 覆蓋基類的函式成員 297
10.5 虛函式 300
10.6 純虛函式和抽象類 303
10.6.1 純虛函式 303
10.6.2 抽象類 303
10.6.3 指向基類的指針 306
10.7 多重繼承 307
10.8 多繼承 308
10.9 類模板 311
10.9.1 定義類模板的方法 311
10.9.2 定義類模板的對象 313
10.9.3 類模板與繼承 315
思考與練習 317
第11章 異常處理 320
11.1 異常 320
11.1.1 拋出異常 320
11.1.2 處理異常 321
11.2 基於對象的異常處理 322
11.3 捕捉多種類型的異常 324
11.4 通過異常對象獲取異常信息 326
11.5 再次拋出異常 327
思考與練習 328
第12章 資料庫程式設計 329
12.1 資料庫簡介 329
12.2 SQL語句 329
12.2.1 定義表 330
12.2.2 查詢 330
12.2.3 插入 330
12.2.4 刪除 330
12.2.5 修改 331
12.3 資料庫連線 331
12.3.1 ODBC簡介 331
12.3.2 ODBC驅動程式 331
12.3.3 創建數據源 331
12.4 資料庫編程中的基本操作 333
12.4.1 資料庫編程的基本過程 333
12.4.2 資料庫查詢 333
12.4.3 插入記錄 334
12.4.4 修改記錄 335
12.4.5 刪除記錄 336
12.5 資料庫編程綜合舉例 336
思考與練習 342
課程設計 343
參考文獻 347

相關詞條

熱門詞條

聯絡我們