本書寫作的出發(fā)點是讓C 能真正做好數(shù)據(jù)結構的基礎,打算從應用開發(fā)和數(shù)據(jù)存儲的角度來寫,貫穿全書打算安排兩條線,一是應用線:拿一個管理系統(tǒng)的開發(fā)貫穿全書,先從提示頁面的顯示再到增刪改查各功能的實現(xiàn),先在DOS窗口下顯示功能及操作,很后再拿MFC美化界面。二是數(shù)據(jù)存儲線:先講變量如何在內(nèi)存中存儲,再講數(shù)組在內(nèi)存中的存儲,在此處講清楚物理相鄰的存儲結構(數(shù)組)有什么缺點,從而過度到與指針結合的邏輯相鄰的存儲結構---鏈表,講解鏈表如何能解決操作數(shù)組時存在的缺點,然后在輸入輸出流中講數(shù)據(jù)存放在文件中該如何操作,對比與數(shù)據(jù)存放在內(nèi)存中(數(shù)組、鏈表)的不同,然后講清楚文件存儲是一種很初的數(shù)據(jù)倉庫模型,從而引入簡單的Access數(shù)據(jù)庫的用法(在很后MFC美化界面時加入),為學生學習以后的數(shù)據(jù)庫知識打下基礎。
第1章 C 概述 1
1.1 C 語言簡介 1
1.2 本章知識目標 2
1.3 程序 3
1.4 C 程序基本結構 3
1.5 C 程序的調(diào)試與運行 4
1.5.1 用Visual C 開發(fā)環(huán)境運行程序 5
1.5.2 用VS建立 C 控制臺程序 9
1.6 本章實踐任務 12
1.6.1 任務需求說明 12
1.6.2 技能訓練要點 12
1.6.3 任務實現(xiàn) 12
本章小結 13
課后練習 13
第2章 C 程序設計基礎 15
2.1 本章簡介 15
2.2 本章知識目標 15
2.3 數(shù)據(jù)類型 16
2.4 關鍵字與標識符 17
2.5 變量與常量 18
2.5.1 變量 18
2.5.2 常量 19
2.6 數(shù)據(jù)的輸入與輸出 22
2.6.1 數(shù)據(jù)的輸出 22
2.6.2 數(shù)據(jù)的輸入 24
2.7 運算符與表達式 25
2.7.1 算術運算符及算術表達式 26
2.7.2 關系運算符及關系表達式 26
2.7.3 邏輯運算符及邏輯表達式 28
2.7.4 賦值運算符及賦值表達式 29
2.7.5 逗號運算符及逗號表達式 30
2.7.6 自增、自減運算符及表達式 30
2.7.7 sizeof運算符 32
2.8 類型轉換 32
2.8.1 自動類型轉換 33
2.8.2 強制類型轉換 33
2.9 流程控制 34
2.9.1 選擇結構語句 34
2.9.2 循環(huán)結構語句 39
2.9.3 跳轉語句 46
2.10 構造數(shù)據(jù)類型 48
2.10.1 數(shù)組 48
2.10.2 結構體 62
2.10.3 枚舉類型 69
2.11 本章任務實踐 70
2.11.1 任務需求說明 70
2.11.2 技能訓練要點 70
2.11.3 任務實現(xiàn) 70
本章小結 71
課后練習 71
第3章 函數(shù) 78
3.1 本章簡介 78
3.2 本章知識目標 78
3.3 函數(shù)定義 78
3.3.1 函數(shù)定義格式 78
3.3.2 函數(shù)的形參、實參和返回值 79
3.4 函數(shù)調(diào)用 80
3.5 具有缺省參數(shù)值的函數(shù) 81
3.6 函數(shù)的原型說明 82
3.7 函數(shù)的嵌套與遞歸調(diào)用 83
3.7.1 函數(shù)的嵌套調(diào)用 83
3.7.2 函數(shù)的遞歸調(diào)用 84
3.8 內(nèi)聯(lián)函數(shù) 86
3.9 函數(shù)的重載 87
3.10 函數(shù)與數(shù)組 88
3.10.1 數(shù)組元素作函數(shù)的參數(shù) 88
3.10.2 數(shù)組名作函數(shù)的參數(shù) 89
3.11 變量的作用域與存儲屬性 91
3.11.1 局部變量 91
3.11.2 全局變量 92
3.11.3 C 的存儲屬性 93
3.12 編譯預處理 94
3.12.1 文件包含 94
3.12.2 宏 95
3.12.3 條件編譯 99
3.13 本章任務實踐 100
3.13.1 任務需求說明 100
3.13.2 技能訓練要點 101
3.13.3 任務實現(xiàn) 102
本章小結 107
課后練習 107
第4章 指針和引用 113
4.1 本章簡介 113
4.2 本章知識目標 113
4.3 指針與指針變量 113
4.4 指針運算 116
4.4.1 賦值運算 116
4.4.2 關系運算 117
4.4.3 算術運算 117
4.5 指針與數(shù)組 118
4.5.1 指針與一維數(shù)組 118
4.5.2 指針與二維數(shù)組 121
4.5.3 指向整個一維數(shù)組的指針變量 123
4.5.4 指針與字符串 124
4.6 指針數(shù)組 126
4.7 指向指針的指針變量 128
4.8 指針與函數(shù) 129
4.8.1 返回值為指針的函數(shù) 129
4.8.2 指向函數(shù)的指針 129
4.8.3 函數(shù)調(diào)用的參數(shù)傳遞方式 129
4.8.4 指針或數(shù)組名作為函數(shù)參數(shù) 133
4.9 動態(tài)分配內(nèi)存空間 134
4.10 鏈表 137
4.11 本章任務實踐 145
4.11.1 任務需求說明 145
4.11.2 技能訓練要點 149
4.11.3 任務實現(xiàn) 149
本章小結 156
課后練習 156
第5章 類和對象 162
5.1 本章簡介 162
5.1.1 軟件開發(fā)方法 162
5.1.2 面向?qū)ο蠓椒ǖ挠蓙砗桶l(fā)展 162
5.1.3 面向?qū)ο笳Z言 163
5.2 本章知識目標 164
5.3 對象和類 164
5.3.1 對象和類的概念 164
5.3.2 類的確定和劃分 165
5.4 類的聲明 166
5.5 構造函數(shù)和析構函數(shù) 169
5.5.1 構造函數(shù) 169
5.5.2 拷貝構造函數(shù) 170
5.5.3 構造函數(shù)的重載 173
5.5.4 析構函數(shù) 174
5.6 對象應用 177
5.6.1 成員對象 177
5.6.2 對象數(shù)組 179
5.6.3 對象指針 180
5.7 靜態(tài)成員 181
5.7.1 靜態(tài)成員數(shù)據(jù) 182
5.7.2 靜態(tài)成員函數(shù) 183
5.8 友元函數(shù)和友元類 184
5.8.1 友元函數(shù) 184
5.8.2 友元成員 187
5.8.3 友元類 188
5.9 本章任務實踐 190
5.9.1 任務需求說明 190
5.9.2 技能訓練要點 191
5.9.3 任務實現(xiàn) 191
本章小結 198
課后練習 199
第6章 繼承和多態(tài) 204
6.1 本章簡介 204
6.2 本章知識目標 204
6.3 繼承的基本知識 205
6.3.1 基類與派生類的定義 205
6.3.2 三種繼承方式 207
6.4 單一繼承與多重繼承 211
6.4.1 多重繼承派生類構造函數(shù)的構建 211
6.4.2 多重繼承派生類析構函數(shù)的構建 214
6.4.3 多重繼承的二義性 215
6.5 多態(tài)性 219
6.5.1 編譯時多態(tài)和運行時多態(tài) 219
6.5.2 虛函數(shù) 219
6.6 抽象類 223
6.6.1 純虛函數(shù) 223
6.6.2 抽象類及使用 223
6.7 本章任務實踐 225
6.7.1 任務需求說明 225
6.7.2 技能訓練要點 225
6.7.3 任務實現(xiàn) 226
本章小結 229
課后練習 229
第7章 運算符重載 236
7.1 本章簡介 236
7.2 本章知識目標 236
7.3 運算符重載的概念與規(guī)則 236
7.3.1 運算符重載的概念 236
7.3.2 運算符重載的規(guī)則 237
7.4 運算符重載為類的成員函數(shù)和友元函數(shù) 237
7.4.1 運算符重載為類的成員函數(shù) 237
7.4.2 運算符重載為類的友元函數(shù) 239
7.5 和--的重載 240
7.6 流插入運算符和流提取運算符的重載 243
7.7 轉換函數(shù) 244
7.8 本章任務實踐 246
7.8.1 任務需求說明 246
7.8.2 技能訓練要點 246
7.8.3 任務實現(xiàn) 247
本章小結 249
課后練習 250
第8章 文件與流類庫 255
8.1 本章簡介 255
8.2 本章知識目標 255
8.3 輸入輸出流 255
8.3.1 輸入輸出流的含義 255
8.3.2 C 的基本流類體系 256
8.3.3 標準的輸入輸出流 256
8.4 文件操作 257
8.4.1 文件輸入輸出流 257
8.4.2 文件關聯(lián)與打開 257
8.4.3 文件關閉 258
8.5 文件讀寫 258
8.5.1 文本文件的讀寫 258
8.5.2 二進制文件的讀寫 259
8.5.3 文件的隨機讀寫 262
8.6 本章任務實踐 265
8.6.1 任務需求說明 265
8.6.2 技能訓練要點 265
8.6.3 任務實現(xiàn) 266
本章小結 277
課后練習 277
第9章 模板與異常處理 281
9.1 本章簡介 281
9.2 本章知識目標 281
9.3 模板 281
9.3.1 模板的概念 281
9.3.2 函數(shù)模板 282
9.3.3 類模板 284
9.4 異常處理 288
9.4.1 異常處理概述 288
9.4.2 異常處理的實現(xiàn) 289
9.5 本章任務實踐 291
9.5.1 任務需求說明 291
9.5.2 技能訓練要點 291
9.5.3 任務實現(xiàn) 291
本章小結 293
課后練習 294
第10章 使用MFC開發(fā)應用系統(tǒng) 298
10.1 本章簡介 298
10.2 本章知識目標 298
10.3 MFC類及應用程序框架 298
10.3.1 MFC應用程序概述 298
10.3.2 MFC類的層次結構 299
10.3.3 MFC應用程序框架 300
10.4 消息與命令的處理 307
10.5 MFC對話框和常用控件 315
10.5.1 對話框分類 315
10.5.2 對話框編輯器和控件 315
10.6 Access數(shù)據(jù)庫 328
10.6.1 Access簡介 329
10.6.2 Access數(shù)據(jù)庫的基本操作 329
10.7 MFC ODBC數(shù)據(jù)庫連接 344
10.7.1 MFC ODBC的構成 344
10.7.2 MFC ODBC類 345
10.7.3 MFC ODBC數(shù)據(jù)庫操作 348
10.8 本章實踐任務 360
10.8.1 任務需求說明 360
10.8.2 技能訓練要點 360
10.8.3 任務實現(xiàn) 360
本章小結 373
課后練習 373
附錄A ASCII表 375
附錄B 運算符優(yōu)先級與結合性表 376
附錄C 常用典型類庫函數(shù) 377
參考文獻 380