第1章C語言概述1
1.1程序設計語言簡介1
1.2C語言發展過程3
1.3C語言的特點4
1.3.1C語言是優秀的程序語言4
1.3.2C語言與C 語言的關繫6
1.4初識簡單的C程序7
1.5C程序語法概述10
1.5.1C程序的結構特點10
1.5.2C程序的書寫規則11
1.5.3C語言字符集與詞彙11
1.6如何運行C程序14
小結15
習題16
第2章結構化程序設計與算法18
2.1初識算法18
2.1.1算法的概念18
2.1.2算法舉例19
2.1.3算法的特征20
2.2結構化程序設計21
2.2.1結構化程序設計方法簡介21
2.2.2結構化程序設計方法的原則21
2.2.3結構化程序設計的三種基本結構22
2.3表示算法的多種方法23
2.3.1用自然語言表示算法23
2.3.2用流程圖表示算法23
2.3.3用NS流程圖表示算法26
2.3.4用偽代碼表示算法27
2.3.5用計算機語言表示算法27
2.4結構化程序設計應用舉例28
小結30
習題30
第3章數據類型及其運算32
3.1本章引例32
3.2數據類型33
3.3常量與變量35
3.3.1常量35
3.3.2變量36
3.4整型數據36
3.4.1整型常量36
3.4.2整型變量37
3.5實型數據42
3.5.1實型常量42
3.5.2實型變量43
3.6字符型數據47
3.6.1字符常量47
3.6.2轉義字符48
3.6.3字符變量48
3.6.4字符數據的存儲與使用48
3.6.5字符串常量50
3.7變量賦初值50
3.8算術運算符和表達式51
3.8.1C語言運算符簡介51
3.8.2算術運算符和算術表達式51
3.9不同類型數據混合運算54
3.10賦值運算符和表達式56
3.11逗號運算符和逗號表達式58
3.12應用實例58
小結62
習題62
第4章順序結構程序設計66
4.1本章引例66
4.2C語言語句概述67
4.3C語言賦值語句68
4.4數據輸入輸出的概念69
4.5字符數據的輸入輸出70
4.5.1putchar函數70
4.5.2getchar函數71
4.6格式數據的輸入輸出72
4.6.1格式輸出函數printf72
4.6.2格式輸入函數scanf76
4.7應用實例81
小結86
習題87
第5章選擇結構程序設計91
5.1本章引例91
5.2關繫運算符和表達式92
5.2.1關繫運算符及其優先級92
5.2.2關繫表達式93
5.3邏輯運算符和表達式94
5.3.1邏輯運算符及其優先級94
5.3.2邏輯運算及其取值94
5.3.3邏輯表達式95
5.4if語句的用法96
5.4.1if語句的三種形式96
5.4.2if語句的嵌套99
5.4.3條件運算符和條件表達式101
5.5switch語句的用法102
5.6應用實例104
小結111
習題112
第6章循環結構程序設計116
6.1本章引例116
6.2概述117
6.3goto語句簡介117
6.4while語句的用法118
6.5do…while語句的用法119
6.6for語句的用法121
6.7循環的比較及其嵌套123
6.8break和continue語句用法124
6.8.1break語句124
6.8.2continue語句125
6.9應用實例125
小結139
習題140
第7章數組及其應用147
7.1本章引例147
7.2一維數組的定義和引用148
7.2.1一維數組的定義方式148
7.2.2一素的引用150
7.2.3一維數組的初始化151
7.2.4一維數組程序舉例152
7.3二維數組的定義和引用154
7.3.1二維數組的定義154
7.3.2二素的引用155
7.3.3二維數組的初始化156
7.4字符數組158
7.4.1字符數組的定義158
7.4.2字符數組的初始化159
7.4.3字符數組的引用159
7.4.4字符串和字符串結束標志159
7.4.5字符數組的輸入輸出160
7.4.6字符串處理函數161
7.5應用實例167
小結175
習題176
第8章函數及其應用182
8.1本章引例182
8.2C語言函數概述184
8.3函數定義的一般形式185
8.4函數的參數和函數的值186
8.4.1形式參數和實際參數187
8.4.2函數的返回值188
8.5函數的調用189
8.5.1函數調用的一般形式189
8.5.2函數調用的方式189
8.5.3被調用函數的聲明190
8.6函數的嵌套調用191
8.7函數的遞歸調用192
8.8數組作為函數參數195
8.9局部變量和全局變量199
8.9.1局部變量199
8.9.2全局變量200
8.10變量的存儲類別202
8.10.1auto變量203
8.10.2用static聲明局部變量203
8.10.3register變量204
8.10.4用static聲明全局變量205
8.11內部函數和外部函數207
8.12函數與模塊化程序設計207
8.13應用實例208
小結219
習題219
第9章指針及其應用226
9.1本章引例226
9.2指針的基本概念227
9.3指針變量228
9.3.1指針變量的定義228
9.3.2指針變量的引用229
9.3.3指針變量作為函數參數233
9.3.4指針變量的幾個問題236
9.4指針與數組239
9.4.1指素的指針239
9.4.2通過指針引用數組240
9.4.3數組指針變量作函數參數241
9.4.4指向多維數組的指針247
9.5指針與字符串249
9.5.1字符串的表示形式250
9.5.2字符(串)指針變量與字符數組252
9.6指針與函數254
9.6.1函數指針變量254
9.6.2指針型函數255
9.7多級指針257
9.7.1指針數組概念257
9.7.2指向指針的指針261
9.7.3main函數參數262
9.8應用實例263
小結267
習題268
第10章自定義類型及其應用274
10.1本章引例274
10.2結構體與結構體變量275
10.2.1如何定義結構體275
10.2.2如何說明結構體變量276
10.2.3結構體變量成員的表示方法278
10.2.4結構體變量的賦值278
10.2.5結構體變量的初始化279
10.3結構體數組與結構體指針279
10.3.1結構體數組的定義與使用280
10.3.2指向結構體變量的指針281
10.3.3指向結構體數組的指針282
10.3.4結構體指針變量作函數參數283
10.4C語言動態存儲分配285
10.5C語言鏈表的概念287
10.6共用體289
10.6.1共用體類型的定義289
10.6.2共用體變量的說明290
10.6.3共用體變量的賦值和使用291
10.7C語言枚舉類型292
10.7.1枚舉類型的定義及其變量說明292
10.7.2枚舉類型變量的賦值和使用293
10.8C語言類型定義符typedef詳解294
10.9應用實例295
小結305
習題305
第11章文件及其應用311
11.1本章引例311
11.2C語言文件概述312
11.2.1文件的分類312
11.2.2庫文件314
11.3文件指針314
11.4文件的打開與關閉314
11.4.1文件打開函數fopen314
11.4.2文件關閉函數fclose316
11.5文件的讀寫317
11.5.1字符讀寫函數fgetc和fputc317
11.5.2字符串讀寫函數fgets和fputs319
11.5.3數據塊讀寫函數fread和fwrite321
11.5.4格式化讀寫函數fscanf和fprintf322
11.6文件的隨機讀寫323
11.6.1文件定位323
11.6.2文件的隨機讀寫324
11.7文件檢測函數324
11.8應用實例325
小結327
習題328
第12章預處理命令333
12.1C語言預處理概述333
12.2宏定義333
12.2.1無參宏定義334
12.2.2有參宏定義336
12.3文件包含命令340
12.4C語言條件編譯341
12.5應用實例344
小結345
習題345
第13章位運算349
13.1C語言位運算符349
13.2C語言位域(位段)351
13.3應用實例353
小結355
習題355
第14章C語言應用案例358
14.1應用實例358
14.1.1簡單的接口程序358
14.1.2大整數四則運算359
14.1.3學生成績管理繫統361
14.1.4模擬時鐘的實現363
習題364
附錄AASCII編碼表與擴展ASCII編碼表365
附錄BC語言運算符及其優先級366
附錄CC語言關鍵字大全367
附錄DC語言程序常見錯誤彙編367
附錄EVC 6.0/VC 2010程序調試常見錯誤信息367
附錄FC語言庫函數367
參考文獻368