圖書簡介
本書是參照教育部《非計算機專業計算機基礎課程教學基本要求》和教育部考試中心《全國計算機等級考試大綱(2008年版)》在計算機C語言程式設計方面的基本要求進行編寫的。本書作為C語言程式的入門與套用教材,共分為12章和5個附錄,主要內容包括程式設計基本概念、C程式設計初步知識、順序結構、選擇結構、循環結構、字元型數據、函式、指針、數組、字元串、用戶標識符的作用域、存儲類、編譯預處理、動態存儲分配、結構體、共用體、用戶自定義類型、位運算、檔案、上機指導等。附錄中給出了全國計算機等級考試最新大綱、兩套全國計算機等級考試筆試試題及參考答案,以及各章習題參考 答案。
圖書目錄
第1章C語言概述 1
1.1C語言的發展及特點 1
1.1.1C語言的發展 1
1.1.2C語言的特點 2
1.2簡單的C語言程式 3
1.3C語言程式的構成及格式 5
1.4C語言程式上機調試步驟
和方法 6
1.4.1新建C程式 6
1.4.2運行C程式 7
1.4.3調試C程式 9
1.5典型例題解析 11
1.6上機實訓 12
1.7本章小結 14
1.8習題 14
第2章數據類型、運算符與表達式 16
2.1C語言的數據類型 16
2.2常量、變數和標識符 16
2.2.1常量和符號常量 16
2.2.2變數 17
2.3整型數據 20
2.3.1整型常量 20
2.3.2整型變數 21
2.4實型數據 23
2.4.1實型常量 23
2.4.2實型變數 24
2.5字元型數據 24
2.5.1字元常量 24
2.5.2字元變數 26
2.5.3字元串常量 28
2.6算術運算符和算術表達式 29
2.6.1基本的算術運算符和
算術表達式 29
2.6.2算術運算符的優先權、
結合性 31
2.7賦值運算符和賦值表達式 32
2.7.1基本賦值運算符 32
2.7.2複合賦值運算符 32
2.7.3賦值表達式 33
2.8逗號運算符和逗號表達式 33
2.9自增運算符、自減運算符及
C語言運算符的優先權 34
2.9.1自增運算符 34
2.9.2自減運算符 35
2.9.3C語言運算符的分類、
優先權與結合性 36
2.10不同類型數據間的混合運算 37
2.11典型例題解析 39
2.12上機實訓 43
2.13本章小結 44
2.14習題 45
第3章最簡單的C程式設計——順序
結構程式設計 47
3.1關於算法 47
3.1.1算法的概念 47
3.1.2算法的特性 48
3.1.3算法的表示方法 48
3.1.4算法的複雜性 49
3.2結構化程式設計 49
3.2.1結構化程式設計的概念 49
3.2.2程式的三種基本結構 50
3.3C語句 51
3.4字元的輸入輸出 53
3.4.1字元輸出函式(putchar函式) 53
3.4.2字元輸入函式(getchar函式) 54
3.5格式輸入與輸出 54
3.5.1格式輸出函式(printf函式) 54
3.5.2格式輸入函式(scanf函式) 58
3.6順序程式設計舉例 60
3.7典型例題解析 62
3.8上機實訓 69
3.9本章小結 70
3.10習題 71
第4章選擇結構程式設計 74
4.1關係運算符和關係表達式 74
4.1.1關係運算符及其優先權 74
4.1.2關係表達式 75
4.2邏輯運算符和邏輯表達式 75
4.2.1邏輯運算符及其
優先權次序 75
4.2.2邏輯表達式 76
4.3if語句 77
4.3.1if語句的三種形式 77
4.3.2if語句的嵌套 80
4.4條件運算符和條件表達式 82
4.5switch語句 83
4.5.1switch語句 83
4.5.2break語句 85
4.6選擇程式設計舉例 86
4.7典型例題解析 88
4.8上機實訓 96
4.9本章小結 97
4.10習題 97
第5章循環結構程式設計 101
5.1while語句 101
5.1.1while循環的一般格式 101
5.1.2while循環的執行過程 102
5.2do-while語句 103
5.2.1do-while循環的一般格式 103
5.2.2do-while循環的執行過程 104
5.3for語句 105
5.3.1for循環的一般格式 105
5.3.2for循環的執行過程 106
5.4break語句和continue語句
在循環體中的作用 108
5.4.1break語句在循環體中
的作用 108
5.4.2continue語句在循環體
中的作用 108
5.5循環程式設計舉例 109
5.6典型例題解析 111
5.7上機實訓 118
5.8本章小結 120
5.9習題 121
第6章數組 127
6.1一維數組 127
6.1.1一維數組的定義 127
6.1.2一維數組元素的引用 128
6.1.3一維數組的初始化 128
6.1.4一維數組的套用 129
6.2二維數組 131
6.2.1二維數組的定義 131
6.2.2二維數組元素的引用 132
6.2.3二維數組的初始化 132
6.2.4二維數組的套用 133
6.3字元數組 135
6.3.1字元數組的定義及初始化 135
6.3.2字元數組的引用 136
6.3.3字元數組的輸入輸出 137
6.3.4字元串處理函式 138
6.4典型例題解析 141
6.5上機實訓 156
6.6本章小結 158
6.7習題 159
第7章函式 162
7.1函式的概念 162
7.1.1庫函式的使用 162
7.1.2函式的定義 163
7.2函式的參數和返回值 165
7.2.1函式的參數 165
7.2.2函式的參數的傳遞方式 166
7.2.3函式的返回值 168
7.3函式的調用 169
7.3.1函式的一般調用 169
7.3.2函式的嵌套調用 170
7.3.3函式的遞歸調用 171
7.4變數的作用域和存儲類型 174
7.4.1變數的作用域 174
7.4.2變數的存儲類型 175
7.5函式的作用範圍 179
7.5.1內部函式 179
7.5.2外部函式 180
7.6典型例題解析 181
7.7上機實訓 198
7.8本章小結 199
7.9習題 200
第8章指針 205
8.1指針的概念 205
8.2指針變數 206
8.2.1指針變數的定義 206
8.2.2指針變數的引用 207
8.2.3指針變數的運算 209
8.3指針與數組 211
8.3.1指針與一維數組 211
8.3.2指針與二維數組 213
8.3.3指向行指針的指針變數 215
8.4指針與字元串 216
8.5指針數組 219
8.6指針與函式 220
8.6.1指針變數作為函式的參數 220
8.6.2函式的返回值為指針 222
8.6.3指向函式的指針 223
8.6.4指向函式的指針作為
函式參數 224
8.7指向指針的指針 225
8.8main()函式的形參和void指針 227
8.8.1main函式的形參 227
8.8.2指向void的指針變數 229
8.9典型例題解析 230
8.10上機實訓 247
8.11本章小結 248
8.12習題 248
第9章編譯預處理和動態存儲分配 257
9.1宏定義 257
9.1.1無參宏 257
9.1.2帶參宏 259
9.2檔案包含 262
9.3條件編譯 263
9.4動態存儲分配 266
9.4.1分配記憶體空間函式malloc 267
9.4.2分配記憶體空間函式calloc 267
9.4.3釋放記憶體空間函式free 267
9.5典型例題解析 268
9.6上機實訓 272
9.7本章小結 273
9.8習題 274
第10章構造數據類型 277
10.1結構體 277
10.1.1結構體定義 277
10.1.2結構體變數的定義 278
10.1.3結構體變數的引用
和初始化 280
10.1.4結構體數組的定義
和初始化 281
10.2結構體與指針 285
10.2.1結構體變數指針 285
10.2.2結構體數組指針 286
10.3結構體與函式 289
10.3.1結構變數與數組結構作
函式參數 289
10.3.2結構變數作為函式
的返回值 292
10.4鍊表 292
10.4.1鍊表概述 293
10.4.2鍊表的基本操作 293
10.5共用體 299
10.6枚舉類型 301
10.6.1枚舉類型的定義 301
10.6.2枚舉變數的定義和使用 301
10.7typedef類型聲明 303
10.8典型例題解析 304
10.9上機實訓 313
10.10本章小結 315
10.11習題 315
第11章檔案 321
11.1檔案概述 321
11.2檔案類型指針 321
11.3檔案的打開與關閉 322
11.3.1檔案的打開 322
11.3.2檔案的關閉 324
11.4檔案的讀寫 325
11.4.1字元讀寫函式 325
11.4.2字元串讀寫函式 327
11.4.3數據讀寫函式 330
11.4.4格式化讀寫函式 331
11.5檔案的定位函式 334
11.6檔案出錯檢測函式 338
11.7檔案綜合實例 338
11.8典型例題解析 341
11.9上機實訓 346
11.10本章小結 348
11.11習題 349
第12章位運算 353
12.1二進制位運算概述 353
12.2位的運算 353
12.2.1按位與 354
12.2.2按位或 355
12.2.3按位異或 355
12.2.4按位取反 356
12.2.5左移運算符 357
12.2.6右移運算符 358
12.2.7複合位運算符 358
12.3典型例題解析 359
12.4上機實訓 361
12.5本章小結 364
12.6習題 364
附錄A運算符的優先權及其結合性 367
附錄B常用ASCII代碼對照表 368
附錄C各章習題參考答案 369
附錄D二級C語言程式設計考試
大綱(2008年版) 390
附錄E2007年全國計算機等級考試
二級筆試試卷C語言程式
設計及參考答案 393
參考文獻 427
VI
C語言程式設計(等級考試版)
V
目錄