第1章 概述 1
1.1 C語言的發(fā)展及主要特點 1
1.1.1 C語言的發(fā)展史 1
1.1.2 C語言的主要特點 2
1.2 C程序設計相關知識 3
1.2.1 程序設計的基本概念 3
1.2.2 C程序結構 4
1.2.3 標準庫簡介 7
1.3 C語言上機過程 8
1.3.1 Turbo C集成環(huán)境的使用 8
1.3.2 程序調試方法 11
1.4 案例分析 12
本章小結 13
習題 13
第2章 C語言程序設計初步知識 15
2.1 標識符、常量和變量 15
2.1.1 標識符 15
2.1.2 常量和變量 16
2.2 簡單數據類型 17
2.2.1 整型數據 17
2.2.2 實型數據 19
2.2.3 字符型數據 20
2.3 運算符和表達式 22
2.3.1 算術運算符及其表達式 22
2.3.2 自加、自減運算符 23
2.3.3 賦值運算符與賦值表達式 24
2.3.4 關系運算符和邏輯運算符 26
2.3.5 問號運算符及表達式 26
2.3.6 不同類型數據間的轉換 27
2.3.7 逗號運算符及其表達式 27
2.3.8 運算符的優(yōu)先順序 28
2.4 案例分析 29
本章小結 31
習題 32
第3章 簡單程序設計 35
3.1 算法 35
3.1.1 算法的概念 35
3.1.2 算法的描述 36
3.2 結構化程序設計 37
3.2.1 基本結構 37
3.2.2 程序設計舉例 39
3.3 C語言基本語句 40
3.4 C語言中數據的輸入輸出 41
3.4.1 格式輸入與輸出 42
3.4.2 字符數據的輸入輸出 50
3.5 案例分析 51
本章小結 53
習題 54
第4章 選擇結構程序設計 57
4.1 if語句 57
4.1.1 單分支if語句 57
4.1.2 雙分支if語句 57
4.1.3 多分支if語句 58
4.1.4 if語句的嵌套 60
4.2 switch語句 60
4.3 案例分析 62
本章小結 66
習題 66
第5章 循環(huán)結構程序設計 73
5.1 循環(huán)結構程序設計的概念 73
5.2 while語句 73
5.2.1 while語句的一般格式 73
5.2.2 while語句的執(zhí)行過程 74
5.3 do…while語句 75
5.3.1 do…while語句的一般格式 75
5.3.2 do…while語句的執(zhí)行過程 75
5.4 for語句 76
5.4.1 for語句的一般格式 76
5.4.2 for語句的執(zhí)行過程 77
5.5 循環(huán)結構嵌套 79
5.6 break語句和continue語句 81
5.6.1 break語句 81
5.6.2 continue語句 82
5.7 案例分析 83
本章小結 86
習題 87
第6章 數組 93
6.1 一維數組 93
6.1.1 一維數組的定義 93
6.1.2 一維數組的初始化 94
6.1.3 數組元素的引用 95
6.1.4 一維數組案例分析 96
6.2 二維數組 99
6.2.1 二維數組的定義 99
6.2.2 二維數組的初始化 100
6.2.3 二維數組元素的引用 101
6.2.4 二維數組的應用 102
6.2.5 多維數組 103
6.3 字符數組與字符串 103
6.3.1 字符數組的定義和初始化 103
6.3.2 字符串 104
6.3.3 字符數組的輸入/輸出 105
6.3.4 字符串處理函數 106
6.3.5 案例分析 107
本章小結 111
習題 111
第7章 函數 116
7.1 模塊化程序設計的概念 116
7.2 庫函數 117
7.2.1 C語言常用庫函數 117
7.2.2 標準庫函數的調用 118
7.3 函數的定義和調用 118
7.3.1 函數的定義 118
7.3.2 函數的調用 119
7.4 函數的返回值及其類型 123
7.5 函數調用時參數間的傳遞 126
7.5.1 變量、常量、數組元素作為函數參數 126
7.5.2 數組名作為函數參數 127
7.6 函數的嵌套調用 128
7.7 函數的遞歸調用 130
7.8 局部變量和全局變量 131
7.8.1 局部變量 131
7.8.2 全局變量 132
7.9 靜態(tài)存儲變量和動態(tài)存儲變量 132
7.9.1 靜態(tài)存儲變量 133
7.9.2 動態(tài)存儲變量 133
7.10 內部函數和外部函數 134
7.10.1 內部函數 134
7.10.2 外部函數 135
7.11 案例分析 135
本章小結 140
習題 140
第8章 指針 147
8.1 指針的基本概念 147
8.2 指針和指針變量 148
8.2.1 指針變量的定義 148
8.2.2 指針變量的賦值 149
8.2.3 指針變量的引用 149
8.2.4 指針變量作為函數參數 150
8.3 指針和數組 151
8.3.1 指針與一維數組 151
8.3.2 指針與二維數組 153
8.3.3 指針與字符串 155
8.3.4 指向數組的指針作為函數參數 156
8.4 指針數組 158
8.5 函數的指針和返回指針值的函數 160
8.5.1 函數的指針 160
8.5.2 返回指針值的函數 160
8.6 案例分析 161
本章小結 164
習題 164
第9章 編譯預處理 170
9.1 宏定義 170
9.1.1 不帶參數的宏定義 170
9.1.2 帶參數的宏定義 172
9.2 文件包含 174
9.3 條件編譯 175
9.4 案例分析 177
本章小結 179
習題 180
第10章 結構體與共用體 184
10.1 結構體類型 184
10.1.1 結構體類型的定義 184
10.1.2 結構體類型變量的使用 186
10.1.3 結構體數組 188
10.1.4 指向結構體變量的指針 191
10.1.5 鏈表 192
10.2 共用體 194
10.3 案例分析 197
本章小結 200
習題 200
第11章 位運算 208
11.1 位運算符 208
11.1.1 取反運算符 208
11.1.2 移位 209
11.1.3 “按位與”運算符 210
11.1.4 按位或運算符 211
11.1.5 異或運算符 211
11.2 位運算符的運算功能 212
11.3 案例分析 213
本章小結 215
習題 215
第12章 文件 218
12.1 文件概述 218
12.2 文件指針 219
12.3 文件的打開與關閉 219
12.3.1 文件打開函數fopen 219
12.3.2 文件關閉函數fclose 221
12.4 文件的讀寫 221
12.4.1 字符讀寫函數fgetc和fputc 221
12.4.2 字符串讀寫函數fgets和fputs 224
12.4.3 數據塊讀寫函數fread和fwtrite 225
12.5 文件的隨機讀寫 227
12.5.1 文件定位 227
12.5.2 文件的隨機讀寫 228
12.6 案例分析 229
本章小結 231
習題 231
附錄Ⅰ ASCII字符表 234
附錄Ⅱ C庫函數 235
附錄Ⅲ C語言常用出錯信息 238
參考文獻 242