第1章 C語言導論 1
1.1 知識要點 1
1.1.1 程序設計語言概述 1
1.1.2 C語言的特點 2
1.1.3 C語言程序的構成 2
1.1.4 C源程序的編輯、編譯、鏈接與執(zhí)行 2
1.2 例題分析與解答 2
1.3 測試題 5
第2章 基本數(shù)據類型、運算符與表達式 7
2.1 知識要點 7
2.1.1 C語言的數(shù)據類型 7
2.1.2 常量與變量 7
2.1.3 C語言運算符 7
2.1.4 C語言運算符的結合性和優(yōu)先級 8
2.1.5 C語言表達式 8
2.2 例題分析與解答 8
2.3 測試題 13
2.4 實驗案例 15
第3章 順序結構程序設計 18
3.1 知識要點 18
3.1.1 C語句 18
3.1.2 C語句分類 18
3.1.3 輸入輸出的實現(xiàn) 19
3.2 例題分析與解答 19
3.3 測試題 21
3.4 實驗案例 23
第4章 選擇結構程序設計 25
4.1 知識要點 25
4.1.1 關系運算符和關系表達式 25
4.1.2 邏輯運算符和邏輯表達式 25
4.1.3 if語句 25
4.1.4 if語句的嵌套 26
4.1.5 由條件運算符構成的選擇結構 26
4.1.6 switch語句和goto語句 26
4.2 例題分析與解答 27
4.3 測試題 31
4.4 實驗案例 32
第5章 循環(huán)結構程序設計 35
5.1 知識要點 35
5.1.1 循環(huán)結構的3種形式 35
5.1.2 continue語句和break語句 36
5.2 例題分析與解答 36
5.3 測試題 39
5.4 實驗案例 45
第6章 數(shù)組 48
6.1 知識要點 48
6.1.1 數(shù)組的概念 48
6.1.2 一維數(shù)組的定義和引用 48
6.1.3 二維數(shù)組的定義和引用 48
6.1.4 字符數(shù)組的定義和引用 49
6.2 例題分析與解答 50
6.3 測試題 52
6.4 實驗案例 60
第7章 函數(shù) 63
7.1 知識要點 63
7.1.1 函數(shù)的概念 63
7.1.2 函數(shù)的種類 63
7.1.3 函數(shù)定義的一般形式 63
7.1.4 函數(shù)的調用 64
7.1.5 C語言中數(shù)據傳遞的方式 64
7.1.6 函數(shù)的嵌套調用和遞歸調用 64
7.1.7 全局變量和局部變量 64
7.1.8 變量的存儲類別 65
7.1.9 內部函數(shù)和外部函數(shù) 65
7.2 例題分析與解答 65
7.3 測試題 71
7.4 實驗案例 79
第8章 指針 87
8.1 知識要點 87
8.1.1 指針變量的定義 87
8.1.2 變量的指針和指向變量的指針變量 87
8.1.3 數(shù)組的指針和指向數(shù)組的指針變量 87
8.1.4 字符串的指針和指向字符串的指針變量 88
8.1.5 指針數(shù)組 88
8.1.6 函數(shù)的指針和指向函數(shù)的指針變量 88
8.1.7 用指針作函數(shù)參數(shù) 88
8.1.8 指向指針的指針 88
8.2 例題分析與解答 89
8.3 測試題 93
8.4 實驗案例 99
第9章 結構體、共用體和枚舉類型 107
9.1 知識要點 107
9.1.1 結構體的概念 107
9.1.2 結構體類型的定義 107
9.1.3 結構體類型成員的引用 107
9.1.4 結構體變量的指針和結構體指針變量 108
9.1.5 指向結構體數(shù)組的指針 108
9.1.6 共用體 108
9.1.7 typedef的用法 109
9.1.8 枚舉類型 109
9.2 例題分析與解答 110
9.3 測試題 112
9.4 實驗案例 116
第10章 編譯預處理 121
10.1 知識要點 121
10.1.1 編譯預處理概述 121
10.1.2 宏定義 121
10.1.3 文件包含 121
10.1.4 條件編譯 121
10.2 例題分析與解答 122
10.3 測試題 125
10.4 實驗案例 128
第11章 內存的使用 131
11.1 知識要點 131
11.1.1 動態(tài)使用內存 131
11.1.2 鏈表的概念 131
11.1.3 鏈表的建立 132
11.1.4 鏈表的查找與輸出 132
11.1.5 釋放鏈表 132
11.2 例題分析與解答 133
11.3 測試題 134
11.4 實驗案例 138
第12章 文件 143
12.1 知識要點 143
12.1.1 文件的概念 143
12.1.2 文件類型指針 143
12.1.3 文件操作 143
12.2 例題分析與解答 144
12.3 測試題 147
12.4 實驗案例 148
第13章 C++對C的擴充 153
13.1 知識要點 153
13.1.1 C++語言概述 153
13.1.2 C++的數(shù)據類型 154
13.1.3 C++的運算符 154
13.1.4 C++的名字空間 154
13.1.5 C++的輸入輸出 154
13.1.6 C++的函數(shù)與模板 155
13.1.7 C++的異常處理 155
13.2 例題分析與解答 155
13.3 測試題 164
13.3.1 測試題1 164
13.3.2 測試題2 169
13.4 實驗案例 175
13.4.1 案例1——函數(shù)重載 175
13.4.2 案例2——函數(shù)模板 176
第14章 基于C++的面向對象編程 179
14.1 知識要點 179
14.1.1 類和對象 179
14.1.2 類的繼承與派生 180
14.1.3 類的多態(tài)性 181
14.1.4 類模板與泛型編程 182
14.2 例題分析與解答 182
14.3 測試題 194
14.3.1 測試題1 194
14.3.2 測試題2 199
14.4 實驗案例 204
14.4.1 案例1——類和對象 204
14.4.2 案例2——繼承和派生 207
14.4.3 案例3——類的多態(tài)性 210
14.4.4 案例4——類模板與泛型編程 213
第15章 基于MFC的Windows編程 216
15.1 知識要點 216
15.1.1 MFC基礎 216
15.1.2 MFC控件 217
15.1.3 MFC繪圖 217
15.1.4 常用消息 218
15.2 例題分析與解答 219
15.3 測試題 226
15.3.1 測試題1 226
15.3.2 測試題2 231
15.4 實驗案例 236
15.4.1 案例1——MFC控件 236
15.4.2 案例2——MFC繪圖 240
15.5 綜合案例 245
15.5.1 綜合案例——游戲軟件制作 245
15.5.2 綜合案例——繪圖軟件制作 256
第16章 編程技術基礎 271
16.1 知識要點 271
16.1.1 基本數(shù)據結構與算法 271
16.1.2 程序設計基礎 275
16.1.3 軟件工程基礎 276
16.1.4 數(shù)據庫設計基礎 277
16.2 例題分析與解答 278
16.3 本章測試 284
16.3.1 測試題1 284
16.3.2 測試題2 288
16.4 綜合案例 291
16.4.1 綜合案例1——順序表的實現(xiàn)和測試 291
16.4.2 綜合案例2——單鏈表的實現(xiàn)和測試 296
16.4.3 綜合案例3——棧的順序實現(xiàn)和應用 302
16.4.4 綜合案例4——循環(huán)隊列的實現(xiàn)和測試 305
第17章 全國二級考試模擬 309
17.1 C語言程序設計考試大綱(2018年版) 309
17.1.1 基本要求 309
17.1.2 考試內容 309
17.1.3 考試方式 311
17.2 第一套試題 311
17.3 第二套試題 319
17.4 第三套試題 330
17.5 第四套試題 341
17.6 第五套試題 351
附錄A 測試題參考答案 360
參考文獻 374