圖書簡介
本書循序漸進地講解了C語言的基本概念、原理和使用方法,力求為讀者打下一個紮實的程式設計基礎,培養讀者設計程式的能力。主要內容包括:C語言基本知識、數據類型、運算符和表達式、程式結構、函式、數組、編譯預處理、指針、自定義數據類型、位運算、綜合實例等。本書採用深入淺出、通俗易懂的講解方法,本著理論與實踐相結合的原則,通過大量經典實例對C語言知識進行了重點而系統的講解,使初學者能夠利用C語言進行結構化程式設計並掌握編程技術和方法。同時,本書以實例配合教學,通過典型實例實現類比、漸進、深入到綜合編程,從而脫離純理論的枯燥說教,提高教學質量和效率。
本書適用於高等學校各專業的程式設計基礎教學,尤其適合套用型本科、高職院校的計算機及非計算機相關專業的學生使用,同時也是一本實用的計算機等級考試備考輔導書,還可作為單片機等各類工程技術人員的學習參考用書。
目錄
第1章C語言基礎 1
1.1計算機系統 1
1.2C語言的特點 2
1.3從實例開發第一個C語言程式 3
1.3.1C語言程式的結構 4
1.3.2C語言程式設計風格 6
1.4上機環境 8
1.4.1安裝TurboC2.0 9
1.4.2調用TurboC 9
1.4.3編輯、編譯、連線、運行的基本操作 10
1.5結構化程式設計方法 12
本章自測題 13
第2章數據類型 15
2.1C語言的數據類型 15
2.2常量和變數 16
2.2.1常量和符號常量 16
2.2.2標識符與變數 17
2.3整型數據 18
2.3.1整型常量 18
2.3.2整型變數 19
2.4實型數據 21
2.4.1實型常量的表示方法 21
2.4.2實型變數 22
2.4.3雙精度型數據 22
2.5字元型數據 23
2.5.1字元常量 23
2.5.2字元變數 24
2.5.3字元串常量 26
2.6變數初始化 26
本章自測題 27
第3章運算符和表達式 29
3.1C語言運算符簡介 29
3.2算術運算符和算術表達式 30
3.2.1算術運算符 30
3.2.2算術表達式和運算符的優先權與結合性 30
3.3自增、自減運算符 31
3.4強制類型轉換運算符及類型轉換 32
3.5賦值運算符和賦值表達式 33
3.6逗號運算符和逗號表達式 35
3.7優先權和結合性 36
本章自測題 37
第4章順序結構程式設計 39
4.1C語句概述 39
4.2賦值語句 40
4.3格式化輸入/輸出 41
4.3.1printf函式 42
4.3.2scanf函式 45
4.4字元數據的輸入/輸出 48
4.4.1putchar函式 48
4.4.2getchar函式 49
4.5順序結構程式舉例 49
本章自測題 51
第5章選擇結構程式設計 54
5.1關係運算符和關係表達式 54
5.1.1關係運算符 54
5.1.2關係表達式 54
5.2邏輯運算符和邏輯表達式 55
5.2.1邏輯運算符 55
5.2.2邏輯表達式 55
5.3if語句和條件運算符 57
5.3.1if語句 57
5.3.2if語句的嵌套 59
5.3.3條件運算符 60
5.4switch語句 61
5.5程式舉例 63
本章自測題 65
第6章循環結構程式設計 68
6.1概述 68
6.2while語句 68
6.2.1循環的引出 68
6.2.2while語句的一般形式及執行過程 70
6.3do-while語句 72
6.4for語句 73
6.4.1for語句的一般形式 73
6.4.2for語句形式的多樣性 75
6.4.3幾種循環的比較 76
6.5循環的嵌套 77
6.6goto、break和continue語句 78
6.6.1goto語句 78
6.6.2break語句 79
6.6.3continue語句 80
6.7程式舉例 80
本章自測題 82
第7章函式 85
7.1函式的定義 85
7.1.1函式定義的一般方式 86
7.1.2形式參數與實際參數 89
7.2函式的調用 90
7.2.1函式調用的形式 90
7.2.2函式調用的方式 90
7.3函式返回值和函式類型說明 91
7.3.1函式的返回值 91
7.3.2函式的類型聲明 93
7.4函式的嵌套調用和遞歸調用 94
7.4.1函式的嵌套調用 94
7.4.2遞歸調用的形式 95
7.4.3遞歸函式的使用 97
7.4.4消去遞歸 98
7.5變數存儲類別 99
7.5.1局部變數與全局變數 99
7.5.2自動變數 101
7.5.3暫存器變數 102
7.5.4外部變數 102
7.5.5靜態變數 104
7.6內部函式與外部函式 105
7.6.1內部函式 105
7.6.2外部函式 106
7.7程式舉例 106
本章自測題 108
第8章數組 113
8.1一維數組的定義和引用 113
8.1.1一維數組的定義 113
8.1.2一維數組元素的引用 115
8.1.3一維數組的初始化 115
8.1.4套用舉例 116
8.2二維數組的定義和引用 119
8.2.1二維數組元素的定義 119
8.2.2二維數組元素的引用 120
8.2.3二維數組元素的初始化 120
8.2.4二維數組的套用 122
8.3字元數組的定義和引用 124
8.3.1字元數組元素的定義 124
8.3.2字元數組的引用 125
8.3.3字元數組的初始化 125
8.3.4字元數組與字元串 126
8.3.5字元串處理函式 128
8.3.6套用舉例 131
8.4數組作為參數 132
本章自測題 136
第9章編譯預處理 140
9.1宏定義 140
9.1.1不帶參數的宏定義 140
9.1.2帶參數的宏定義 143
9.2檔案包含 145
9.3條件編譯 146
本章自測題 149
第10章指針 154
10.1地址和指針 154
10.2變數的指針 155
10.2.1指針變數的定義 156
10.2.2指針變數的引用 156
10.3指針運算 159
10.4指針變數作為函式的參數 161
10.5指針和數組 164
10.5.1指向數組元素的指針變數 164
10.5.2通過指針引用數組元素 165
10.5.3數組名作函式參數 168
10.5.4多維數組的指針 171
10.6字元串的指針 175
10.6.1字元串的表示和套用 176
10.6.2字元串指針作函式參數 180
10.7指針數組和指向指針的指針 181
10.7.1指針數組 181
10.7.2多級指針 184
10.7.3命令行參數 186
10.8函式的指針和返回指針值的函式 187
10.8.1函式的指針 187
10.8.2返回指針的函式 190
10.9指針套用舉例 191
本章自測題 194
第11章結構體、共同體和枚舉 198
11.1結構體類型和結構體變數的定義 198
11.1.1結構體類型的定義 198
11.1.2結構體類型變數的定義 199
11.2結構體變數的引用和初始化 201
11.2.1結構體變數的引用 201
11.2.2結構體變數的初始化 202
11.3結構體數組 202
11.3.1結構體數組的定義 202
11.3.2結構體數組的初始化 203
11.3.3結構體數組的套用實例 203
11.4結構體和指針 205
11.4.1指向結構體變數的指針 205
11.4.2用結構體指針變數訪問結構體成員 205
11.4.3結構體指針的套用--鍊表 207
11.5共用體 211
11.5.1共用體的概念 211
11.5.2共用體變數及其引用 211
11.6枚舉類型 215
11.7用typedef聲明新類型名 216
本章自測題 217
第12章位運算 224
12.1位運算符和位運算 224
12.1.1按位取反運算 224
12.1.2按位"與"運算 225
12.1.3按位"或"運算 226
12.1.4按位"異或"運算 226
12.1.5左移運算 227
12.1.6右移運算 228
12.2位運算舉例 229
12.3位段簡介 230
本章自測題 232
第13章檔案 235
13.1檔案概述 235
13.1.1使用檔案的目的 235
13.1.2檔案的概念與分類 235
13.1.3流式檔案的概念 236
13.1.4檔案指針 236
13.2檔案的打開與關閉 237
13.2.1檔案的打開(fopen函式) 237
13.2.2檔案的關閉(fclose函式) 239
13.3檔案的讀/寫 239
13.3.1以字元方式讀/寫檔案 239
13.3.2fgets和fputs函式 241
13.3.3fread和fwrite函式 243
13.3.4fscanf和fprintf函式 245
13.4檔案的定位 246
13.4.1rewind函式 246
13.4.2fseek函式 247
13.4.3ftell函式 248
13.5出錯的檢測 249
13.5.1ferror函式 249
13.5.2clearerr函式 250
本章自測題 250
第14章綜合程式案例 254
14.1模組化程式設計概述 254
14.1.1模組化程式設計的基本思想 254
14.1.2模組化程式設計的一般步驟 254
14.1.3模組化程式設計的基本要求 255
14.2綜合實例 255
參考文獻 264
附錄A常用字元與ASCII代碼對照表 265
附錄BC語言中的關鍵字 267
附錄C運算符和結合性 268
附錄D庫函式 270
附錄EC語言常用語法摘要 275