內 容 簡 介
基於歷年試題,利用統計分析的方法,科學地做出結論並預測以後的出題動向,是本書的一大特色。本書可以保證既不漏掉考試必需的知識點,又不加重考生備考負擔,使考生輕鬆、愉快地掌握知識點並領悟二級C語言考試的真諦。“一書在手,過關無憂”。對於機試方面,經過深入分析上機考試題庫內容,本書作者精心組織了5套全真模擬試題,試題涉及歷次考試內容的各個方面。
本書可以作為參加全國計算機等級考試——二級C語言考試的複習用書,也可作為學習C語言的參考書。
前 言
全國計算機等級考試(NCRE)由教育部考試中心主辦,面向社會,用於考查非計算機專業人員計算機套用知識與能力。考試客觀、公正,得到了社會的廣泛認可。
本書緊扣考試大綱,採用了表格統計法、餅狀圖分析法、走勢圖分析法,科學地研究每個知識點的命題情況,準確把握每個出題點的深淺。同時基於每個章節知識點分布統計分析的結果,科學地編寫後面的同步訓練試題及全真模擬試卷,完全緊扣大綱,結構科學、重點突出、針對性強。
內容超值,針對性強
本書共分5個部分。
第一部分為應試指南。應試指南內有考試大綱,筆試試題歷年知識點分布圖,筆試、機試的方法和技巧。通過學習本部分內容,考生可以對計算機等級考試的知識點分布、常用應試方法和技巧有一個整體上的認識和把握。
第二部分為知識點解析。知識點解析涵蓋了新大綱中所規定的所有考試內容和考試必備的知識點。本部分充分採用多種統計分析方法研究試題並指導考生備考。每章開頭都有“章節前奏”,利用表格統計法在時間上分析該章節各個小節歷年出題情況,利用餅狀圖在空間上直觀表示各個小節的試題分布。每個小節開頭都有“小節前奏”,利用趨勢分析法精確地預測以後命題的情況。對章節中的知識點解析深淺程度根據該知識點在歷年試題中的統計分析結果而定。每個小節後面都有“同步訓練”及其解答,幫助考生溫習和鞏固前面所學的理論知識,也是根據前面知識點統計分析的結果而命題的。這種輔導方式保證內容全面,突出重點,為考生打造一條通向等級考試終點的捷徑。
第三部分為筆試全真模擬試卷。筆試全真模擬試卷完全緊扣大綱,基於2009年3月考試真題編寫,無論在形式方面還是難度方面,都和真題相似,並且配有詳盡的解析。
第四部分為機試指導、分類解析及模擬。上機考試是考生的一個弱項,往往令考生不知所措。對試題進行分類可以很好地指導考生應考,經過對上機考試題庫內容的分析,按照其考試內容,將其分為三類:字元問題、數字問題、結構體問題,每類問題還可以分出一些子問題,對其進行逐類講解,使考生快速適應上機考試模式和結構。
第五部分為附錄。附錄部分包括2008年9月、2009年3月考試真題及詳細解析。
目 錄
第1章 應試指南 1
1.1 二級C語言考試大綱(最新版) 1
1.1.1 公共基礎知識 1
1.1.2 C語言程式設計 2
1.2 筆試方法和技巧 4
1.3 機試方法和技巧 7
第2章 數據結構與算法 9
2.1 算法的基本概念 10
2.1.1 考點1:算法的定義 10
2.1.2 考點2:算法複雜度 10
2.2 數據結構的定義 11
2.2.1 考點1:什麼是數據結構 11
2.2.2 考點2:數據結構的圖形表示 13
2.3 線性表 13
2.3.1 考點1:線性表 13
2.3.2 考點2:線性表的順序存儲結構 14
2.3.3 考點3:線性表的插入和
刪除操作 14
2.4 棧 15
2.4.1 考點1:什麼是棧 15
2.4.2 考點2:棧的順序存儲結構 15
2.4.3 考點3:棧的插入和刪除運算 15
2.5 佇列 16
2.5.1 考點1:什麼是佇列 16
2.5.2 考點2:佇列的順序存儲結構 16
2.5.3 考點3:佇列的插入和刪除運算 17
2.6 線性單鍊表、雙向鍊表與
循環鍊表 17
2.6.1 考點1:線性單鍊表 18
2.6.2 考點2:循環鍊表 18
2.6.3 考點3:雙向鍊表 19
2.6.4 考點4:鍊表的基本操作 19
2.7 樹 19
2.7.1 考點1:樹的定義 20
2.7.2 考點2:二叉樹的定義 21
2.7.3 考點3:二叉樹的順序存儲結構 22
2.7.4 考點4:二叉樹的鏈式存儲結構 22
2.7.5 考點5:二叉樹的遍歷 22
2.8 查找算法 24
2.8.1 考點1:順序查找 24
2.8.2 考點2:二分查找 24
2.9 排序算法 25
2.9.1 考點1:排序概述 25
2.9.2 考點2:插入類排序 26
2.9.3 考點3:交換類排序 26
2.9.4 考點4:選擇類排序 27
2.10 小結 28
2.11 同步訓練 28
2.11.1 選擇題 28
2.11.2 填空題 30
2.12 同步訓練答案 30
2.12.1 選擇題 30
2.12.2 填空題 30
第3章 程式設計基礎 31
3.1 程式設計 31
3.1.1 考點1:程式設計的方法 32
3.1.2 考點2:程式設計的風格 32
3.2 結構化程式設計 34
3.2.1 考點1:結構化程式設計的提出 34
3.2.2 考點2:結構化程式設計的
基本特徵 35
3.2.3 考點3:結構化程式設計的
3種基本結構 35
3.2.4 考點4:結構化程式設計方法 38
3.2.5 考點5:結構化程式設計方法
的原則 38
3.3 面向對象程式設計 39
3.3.1 考點1:面向對象程式設計方法
的提出 39
3.3.2 考點2:面向對象程式設計方法
的基本概念 39
3.3.3 考點3:面向對象程式設計的
基本思想和方法 40
3.4 小結 41
3.5 同步訓練 41
3.5.1 選擇題 41
3.5.2 填空題 43
3.6 同步訓練答案 43
3.6.1 選擇題 43
3.6.2 填空題 44
第4章 軟體工程基礎 45
4.1 軟體工程的基本概念 46
4.1.1 考點1:軟體與軟體工程概述 46
4.1.2 考點2:軟體生命周期 47
4.1.3 考點3:軟體工具與軟體開發
環境 48
4.2 結構化分析方法 48
4.2.1 考點1:結構化分析方法概述 48
4.2.2 考點2:數據流圖 49
4.2.3 考點3:數據字典 51
4.2.4 考點4:軟體需求規格說明書 52
4.3 軟體設計 52
4.3.1 考點1:概要設計 52
4.3.2 考點2:詳細設計 55
4.4 軟體測試 58
4.4.1 考點1:軟體測試的目的 58
4.4.2 考點2:測試方法 58
4.4.3 考點3:測試用例設計 59
4.4.4 考點4:軟體測試策略 61
4.5 程式調試 64
4.5.1 考點1:靜態調試 64
4.5.2 考點2:動態調試 64
4.5.3 考點3:調試策略 64
4.6 軟體維護 65
4.7 小結 66
4.8 同步訓練 66
4.8.1 選擇題 66
4.8.2 填空題 68
4.9 同步訓練答案 68
4.9.1 選擇題 68
4.9.2 填空題 68
第5章 資料庫設計基礎 69
5.1 資料庫基礎知識 70
5.1.1 考點1:資料庫 70
5.1.2 考點2:資料庫管理系統 71
5.1.3 考點3:資料庫系統 71
5.1.4 考點4:數據管理技術的發展 72
5.2 數據模型 73
5.2.1 考點1:數據模型的概述 73
5.2.2 考點2:實體聯繫模型及E-R圖 74
5.2.3 考點3:層次、網狀、關係模型 77
5.2.4 考點4:從E-R圖導出關係
數據模型 78
5.3 關係運算 79
5.3.1 考點1:關係代數 79
5.3.2 考點2:傳統的集合運算 80
5.3.3 考點3:專門的關係運算 81
5.4 資料庫設計 83
5.4.1 考點1:資料庫設計概述 83
5.4.2 考點2:資料庫設計方法 83
5.4.3 考點3:資料庫設計步驟 84
5.4.4 考點4:資料庫的規範化 85
5.5 小結 85
5.6 同步訓練 86
5.6.1 選擇題 86
5.6.2 填空題 87
5.7 同步訓練答案 88
5.7.1 選擇題 88
5.7.2 填空題 88
第6章 C程式設計的初步知識 89
6.1 C程式簡介 89
6.1.1 考點1:C源程式編譯與執行 89
6.1.2 考點2:程式設計步驟 90
6.2 C程式構成與格式 90
6.2.1 考點1:C程式構成和格式 90
6.3 數據類型 91
6.3.1 考點1:標識符 91
6.3.2 考點2:常量 92
6.3.3 考點3:變數 92
6.3.4 考點4:整型數據 92
6.3.5 考點5:實型數據 93
6.3.6 考點6:字元型數據 93
6.4 運算符和表達式 94
6.4.1 考點1:算術運算符 94
6.4.2 考點2:算術表達式 95
6.4.3 考點3:賦值表達式 95
6.4.4 考點4:自加、自減運算符 96
6.4.5 考點5:逗號運算符和逗號
表達式 97
6.5 同步訓練 97
6.5.1 選擇題 97
6.5.2 填空題 102
6.6 同步訓練答案 104
6.6.1 選擇題 104
6.6.2 填空題 104
第7章 順序結構程式設計 105
7.1 基本概念 105
7.1.1 考點1:順序程式概述 105
7.1.2 考點2:賦值語句、複合語句
和空語句 106
7.2 數據輸出 107
7.2.1 考點1:單字元輸出函式
putchar 107
7.2.2 考點2:字元串輸出函式puts 108
7.2.3 考點3:格式輸出函式printf 108
7.3 數據輸入 110
7.3.1 考點1:字元輸入函式getchar 110
7.3.2 考點2:字元串輸入函式gets 111
7.3.3 考點3:格式輸入函式scanf 112
7.4 同步訓練 113
7.4.1 選擇題 113
7.4.2 填空題 116
7.5 同步訓練答案 117
7.5.1 選擇題 117
7.5.2 填空題 117
第8章 選擇結構程式設計 118
8.1 基本概念 118
8.1.1 考點1:關係運算和邏輯運算 118
8.2 if語句與條件表達式 120
8.2.1 考點1:if語句及條件表達式 120
8.3 switch語句與goto語句 122
8.3.1 考點1:switch語句的使用 122
8.3.2 考點2:goto語句 124
8.4 同步訓練 125
8.4.1 選擇題 125
8.4.2 填空題 127
8.5 同步訓練答案 128
8.5.1 選擇題 128
8.5.2 填空題 128
第9章 循環結構程式設計 129
9.1 while和do-while循環結構 129
9.1.1 考點1:while語句 129
9.1.2 考點2:do-while語句 131
9.2 for循環結構 131
9.2.1 考點1:for語句的基本用法 131
9.3 循環結構嵌套及流程控制 134
9.3.1 考點1:循環結構嵌套 134
9.3.2 考點2:break語句的使用 135
9.3.3 考點3:continue語句的使用 136
9.4 同步訓練 137
9.4.1 選擇題 137
9.4.2 填空題 142
9.5 同步訓練答案 144
9.5.1 選擇題 144
9.5.1 填空題 144
第10章 函式 145
10.1 函式基本概念 145
10.1.1 考點1:函式的概念 145
10.1.2 考點2:函式的定義 146
10.1.3 考點3:函式的調用方式 147
10.2 函式調用中的數據傳遞 148
10.2.1 考點1:參數的傳遞 148
10.2.2 考點2:函式的返回值 149
10.3 函式的遞歸調用 152
10.3.1 考點1:函式的嵌套調用 152
10.3.2 考點2:函式的遞歸調用 152
10.4 函式的存儲分類和變數的
存儲分類 154
10.4.1 考點1:內部函式和外部函式 154
10.4.2 考點2:局部變數和全局變數 154
10.4.3 考點3:變數的存儲類型 155
10.5 同步訓練 159
10.5.1 選擇題 159
15.2.2 填空題 167
10.6 同步訓練答案 168
10.6.1 選擇題 168
10.6.2 填空題 168
第11章 指針與數組 169
11.1 指針基礎知識 169
11.1.1 考點1:地址、指針和
指針變數 169
11.1.2 考點2:指針變數的定義
與引用 170
11.2 指針在函式數據傳遞中的套用 173
11.2.1 考點1:指針變數作為函式
參數 173
11.2.2 考點2:指向函式的指針 175
11.3 數組基礎知識 176
11.3.1 考點1:一維數組的定義與
初始化 177
11.3.2 考點2:一維數組的引用 177
11.3.3 考點3:二維數組的定義與
初始化 179
11.3.4 考點4:二維數組的引用 181
11.4 數組與指針 183
11.4.1 考點1:指針與變數的地址 183
11.4.2 考點2:指針與一維數組 183
11.4.3 考點3:指針與二維數組 187
11.4.4 考點4:指針數組與指向指針
的指針 189
11.5 數組與函式參數 190
11.5.1 考點1:數組元素作為函式
參數 190
11.5.2 考點2:數組名作為函式參數 190
11.6 字元數組與字元串 192
11.6.1 考點1:字元數組與字元串
的定義 192
11.6.2 考點2:字元指針變數與
字元串 194
11.6.3 考點3:典型字元串處理函式 196
11.6.4 考點4:字元數組與字元串
的套用 197
11.7 同步訓練 199
11.7.1 選擇題 199
11.7.2 填空題 211
11.8 同步訓練答案 216
11.8.1 選擇題 216
11.8.2 填空題 216
第12章 編譯預處理與動態存儲分配 217
12.1 編譯預處理 217
12.1.1 考點1:預處理概述 217
12.1.2 考點2:宏定義 218
12.1.3 考點3:檔案包含 219
12.1.4 考點4:條件編譯 221
12.2 動態存儲分配 222
12.2.1 考點1:動態存儲分配
常用函式 222
12.3 同步訓練 223
12.3.1 選擇題 223
12.3.2 填空題 226
12.4 同步訓練答案 227
12.4.1 選擇題 227
12.4.2 填空題 227
第13章 結構體與聯合體 228
13.1 類型定義符 228
13.1.1 考點1:typedef 228
13.2 結構體 229
13.2.1 考點1:結構變數說明 229
13.2.2 考點2:結構變數的賦值和
初始化 232
13.2.3 考點3:結構指針變數 234
13.2.4 考點4:結構數組 237
13.2.5 考點5:利用結構體變數構成
鍊表 238
13.3 聯合體 245
13.3.1 考點1:聯合的定義和聯合
變數的說明 245
13.4 同步訓練 247
13.4.1 選擇題 247
13.4.2 填空題 257
13.5 同步訓練答案 259
13.5.1 選擇題 259
13.5.2 填空題 259
第14章 位運算 260
14.1 位運算符 260
14.1.1 考點1:常用位運算符 260
14.2 位運算操作 261
14.2.1 考點1:移位運算 261
14.2.2 考點2:按位邏輯運算 261
14.3 同步訓練 262
14.3.1 選擇題 262
14.3.2 填空題 263
14.4 同步訓練答案 263
14.4.1 選擇題 263
14.4.2 填空題 263
第15章 檔案操作 264
15.1 檔案指針 264
15.1.1 考點1:檔案基本概念 264
15.1.2 考點2:檔案類型指針 265
15.2 檔案打開與關閉 265
15.2.1 考點1:檔案的打開 265
15.2.2 考點2:檔案的關閉 266
15.3 檔案的讀寫 267
15.3.1 考點1:字元的讀寫 267
15.3.2 考點2:字元串的讀寫 267
15.3.3 考點3:格式化讀寫 267
15.3.4 考點4:成塊讀寫 267
15.4 檔案的定位 268
15.4.1 考點1:檔案的定位 268
15.5 同步訓練 269
15.5.1 選擇題 269
15.5.2 填空題 271
15.6 同步訓練答案 272
15.6.1 選擇題 272
15.6.2 填空題 272
第16章 筆試模擬試卷及解析 273
16.1 模擬試題一 273
16.2 模擬試題二 283
16.3 模擬試題三 293
16.4 模擬試題四 303
16.5 模擬試題五 314
16.6 答案與解析 323
16.6.1 模擬試題一 323
16.6.2 模擬試題二 330
16.6.3 模擬試題三 337
16.6.4 模擬試題四 343
16.6.5 模擬試題五 350
第17章 機試指導、分類解析及模擬 357
17.1 機試紀律及步驟 357
17.1.1 上機考試紀律 357
17.1.2 操作步驟及考試規則 357
17.2 機試分類解析 360
17.2.1 程式填空題 360
17.2.2 程式修改題 364
17.2.3 程式設計題 366
17.3 機試全真模擬 371
17.3.1 模擬試題一 371
17.3.2 模擬試題二 372
17.3.3 模擬試題三 374
17.3.4 模擬試題四 376
17.3.5 模擬試題五 377
17.3.6 模擬試題六 379
17.3.7 模擬試題七 382
17.3.8 模擬試題八 384
17.3.9 模擬試題九 386
17.3.10 模擬試題十 387
17.4 參考答案 389
17.4.1 模擬試題一 389
17.4.2 模擬試題二 389
17.4.3 模擬試題三 390
17.4.4 模擬試題四 390
17.4.5 模擬試題五 391
17.4.6 模擬試題六 391
17.4.7 模擬試題七 391
17.4.8 模擬試題八 392
17.4.9 模擬試題九 392
17.4.10 模擬試題十 393
附錄A 2008年下半年筆試
試卷及解析 394
附錄B 2009年上半年筆試
試卷及解析 408