內容簡介
本書對知識點的講解由淺入深,強調算法設計,突出編程思路,注重例講解和對學生動手能力的培養。本書共分13章,內容主要包括C語言概述,數據類型、運算符、表達式,順序結構程式設計,選擇結構程式設計,循環結構程式設計,數組,函式,預處理,指針,結構體、枚舉類型與共用體,位運算,檔案操作,綜合實例程式設計。本書適合作為高校電腦程式設計基礎教材,也適合作為社會各類人士的自學參考書。本書配有《C語言程式設計實驗指導》 (ISBN 978-7-302-27934-1)供讀者學習使用
目錄
第1章C語言概述1
1.1C程式設計語言發展1
1.2C語言特點2
1.3簡單的C程式開發4
1.4C語言的運行環境7
1.5完整的C程式運行過程14
1.6算法18
本章小結21
習題121第2章數據類型、運算符和表達式24
2.1C語言的數據類型及作用24
2.1.1整型數據25
2.1.2字元類型27
2.1.3浮點類型28
2.2常量、變數和標識符29
2.2.1常量29
2.2.2變數30
2.2.3標識符32
2.3運算符與表達式32
2.3.1算術運算符33
2.3.2關係和邏輯運算符35
2.3.3賦值運算符36
2.3.4逗號運算符38
2.3.5條件運算符39
2.3.6sizeof運算符40
2.3.7地址運算符42
2.3.8運算符的優先權及結合性42
2.4表達式43
2.5數據類型的轉換47
2.6綜合舉例49
本章小結50
習題251第3章順序結構程式設計53
3.1程式基本結構53
3.2輸入輸出語句54
3.2.1scanf()函式55
3.2.2printf()函式57
3.2.3getchar()函式與putchar()函式60
3.3綜合舉例61
本章小結65
習題365第4章選擇結構程式設計70
4.1if語句70
4.1.1if選擇結構70
4.1.2if…else選擇結構71
4.1.3if…else…if選擇結構71
4.1.4if語句的嵌套73
4.2switch語句76
4.3選擇結構程式舉例79
本章小結84
習題484第5章循環結構程式設計89
5.1while循環語句89
5.2do…while循環語句90
5.3for循環語句92
5.4三種循環語句的比較94
5.5循環結構程式舉例94
5.5.1單重循環套用舉例94
5.5.2嵌套循環及其套用舉例96
5.5.3break語句和continue語句98
5.6程式排錯102
5.6.1程式中常見的出錯原因102
5.6.2程式調試與排錯基本方法103
本章小結104
習題5104第6章數組109
6.1一維數組109
6.1.1一維數組的定義109
6.1.2一維數組的引用110
6.1.3一維數組的初始化110
6.1.4一維數組套用舉例111
6.2二維數組與多維數組113
6.2.1二維數組的定義114
6.2.2二維數組元素的引用114
6.2.3二維數組的初始化115
6.3字元數組與字元串118
6.3.1字元數組的定義118
6.3.2字元數組的初始化118
6.3.3字元數組的引用119
6.3.4字元串和字元串結束標誌119
6.3.5字元數組的輸入輸出120
6.3.6字元串處理函式120
6.4數組程式設計舉例124
本章小結127
習題6127第7章函式130
7.1函式概述130
7.2庫函式簡介131
7.3函式定義133
7.3.1無參函式的定義133
7.3.2有參函式的定義133
7.4函式調用134
7.4.1形式參數和實際參數134
7.4.2函式的返回值135
7.4.3函式的調用136
7.5函式的嵌套和遞歸139
7.5.1函式的嵌套139
7.5.2函式的遞歸調用140
7.6變數的作用域及存儲類型144
7.6.1靜態、動態144
7.6.2變數的作用域145
7.7外部、內部函式147
7.8套用舉例148
本章小結151
習題7152
第8章預處理157
8.1宏定義157
8.1.1不帶參數的宏定義157
8.1.2帶參的宏159
8.2檔案包含161
8.3條件編譯163
本章小結165
習題8165第9章指針168
9.1指針概述168
9.1.1指針的概念168
9.1.2指針變數的定義和使用169
9.2指針運算符與指針表達式171
9.2.1指針運算符與指針表達式概述171
9.2.2指針變數作函式的參數173
9.3指針與數組174
9.3.1指針與一維數組174
9.3.2指針與二維數組178
9.3.3數組指針作函式的參數181
9.3.4指針與字元數組186
9.3.5指針數組188
9.4指針與函式190
9.4.1指向函式的指針變數的定義及使用190
9.4.2用指針類型數據作函式參數191
9.4.3帶參的主函式194
9.4.4返回指針的函式194
9.5指向指針的指針196
9.6指針套用舉例197
本章小結201
習題9202第10章結構體、聯合體與枚舉類型205
10.1結構體類型變數的定義和引用205
10.1.1結構體類型變數的定義206
10.1.2結構體類型變數的引用206
10.1.3結構體類型變數的初始化207
10.2結構體數組的定義和引用208
10.3結構體指針的定義和引用214
10.3.1指向結構體類型變數的使用214
10.3.2指向結構體類型數組的指針的使用216
10.4鍊表218
10.4.1鍊表的概述218
10.4.2鍊表操作219
10.5聯合224
10.5.1聯合體的定義224
10.5.2聯合體變數的引用225
10.6枚舉類型228
10.6.1枚舉類型的定義和枚舉變數的說明228
10.6.2枚舉類型變數的賦值和使用228
10.7綜合套用舉例230
本章小結234
習題10234第11章位運算239
11.1位運算概述239
11.2位運算符和位運算239
11.3位運算綜合舉例243
本章小結246
習題11246第12章檔案249
12.1C檔案概述249
12.2檔案的打開與關閉250
12.2.1檔案類型指針250
12.2.2檔案的打開函式250
12.2.3檔案的關閉函式252
12.3檔案的讀寫252
12.3.1檔案讀寫函式252
12.3.2檔案讀寫舉例255
12.4檔案定位257
12.4.1檔案定位函式--fseek()函式257
12.4.2出錯檢測函式--ferror()函式259
12.5檔案綜合舉例259
本章小結263
習題12263第13章綜合實例程式設計266
13.1程式設計的基本過程266
13.2綜合程式設計實例267
13.2.1題目的內容要求267
13.2.2程式的功能設計268
13.2.3程式的數據設計269
13.2.4程式的函式設計270
13.2.5函式編程及調試271
13.2.6整體調試290
13.2.7程式維護290
本章小結290
習題13290
附錄A常用ASCII碼字元對照表291
附錄B編譯錯誤信息293
附錄C常用庫函式306
參考文獻314