第1章 C語言概述 1
1.1 C語言的誕生與發(fā)展 1
1.2 C語言的特點 2
1.3 C程序的基本結構 3
1.4 建立與運行C程序的過程 8
1.5 用Turbo C運行C程序的上機步驟 9
1.6 小結 13
1.7 習題 14
第2章 數據類型 15
2.1 常量 15
2.1.1 字面常量 15
2.1.2 符號常量 18
2.2 變量 19
2.2.1 變量的定義 19
2.2.2 變量的初始化 24
2.3 小結 24
2.4 習題 24
第3章 運算符、表達式和語句 27
3.1 運算符和表達式 27
3.1.1 賦值運算符和賦值表達式 28
3.1.2 算術運算符和算術表達式 29
3.1.3 逗號運算符和逗號表達式 34
3.1.4 求字節(jié)數運算符和負值運算符 35
3.2 語句 36
3.2.1 空白對語句的影響 36
3.2.2 表達式語句 36
3.2.3 復合語句 37
3.3 小結 38
3.4 習題 38
第4章 數據的輸入與輸出 41
4.1 格式輸出函數printf()和格式輸入函數scanf() 41
4.1.1 printf()函數 41
4.1.2 scanf()函數 48
4.2 字符輸出函數putchar()和字符輸入函數getchar() 52
4.2.1 putchar()函數 52
4.2.2 getchar()函數 53
4.3 小結 54
4.4 習題 54
第5章 順序結構程序設計 57
5.1 程序設計 57
5.1.1 算法 58
5.1.2 結構化程序設計 60
5.2 類型轉換 63
5.2.1 自動類型轉換 63
5.2.2 強制類型轉換 66
5.3 順序結構程序舉例 68
5.4 小結 70
5.5 習題 71
第6章 選擇程序結構設計 73
6.1 關系運算符和關系表達式 73
6.2 邏輯運算符和邏輯表達式 75
6.3 if語句 77
6.3.1 if語句的3種形式 77
6.3.2 選擇語句的嵌套 82
6.3.3 條件運算符和條件表達式 85
6.4 switch語句 87
6.5 程序舉例 91
6.6 小結 94
6.7 習題 94
第7章 循環(huán)結構程序設計 97
7.1 while語句 97
7.2 for語句 100
7.3 do-while語句 104
7.4 循環(huán)的嵌套 106
7.5 循環(huán)的輔助語句 110
7.6 goto語句 114
7.7 兩種常用的算法 116
7.8 程序舉例 118
7.9 小結 120
7.10 習題 121
第8章 數組 123
8.1 數組的定義和引用 123
8.1.1 數組的定義 123
8.1.2 數組的引用 124
8.2 數組元素在內存中的存儲方法 126
8.3 數組的初始化 127
8.3.1 一維數組的初始化 127
8.3.2 二維數組的初始化 128
8.4 數組應用舉例 129
8.5 字符數組 135
8.5.1 字符數組的定義和初始化 135
8.5.2 字符數組的引用 136
8.5.3 字符串 137
8.5.4 字符數組的輸入和輸出 138
8.5.5 字符串處理函數 140
8.5.6 應用舉例 142
8.6 小結 144
8.7 習題 144
第9章 指針 147
9.1 地址和指針 147
9.2 指針的運算 148
9.2.1 指針的定義 148
9.2.2 使指針指向對象的方法 149
9.2.3 取地址運算符和訪問地址運算符 150
9.2.4 指針的引用 151
9.2.5 指針的運算 152
9.3 指針和數組 154
9.3.1 指針與一維數組 154
9.3.2 指針與二維數組 156
9.4 指針和字符串 160
9.5 指針數組和二級指針 164
9.5.1 指針數組 164
9.5.2 二級指針 166
9.6 小結 168
9.7 習題 168
第10章 函數 171
10.1 概述 171
10.2 函數的定義 172
10.3 函數的調用 173
10.3.1 函數調用的定義和聲明 173
10.3.2 函數的返回 177
10.4 變量作用域 179
10.4.1 局部變量 179
10.4.2 全局變量 180
10.5 變量的存儲類型 182
10.6 函數間數據傳遞方式 190
10.6.1 函數間的參數傳遞 190
10.6.2 函數返回值 195
10.6.3 全局變量 197
10.7 函數的嵌套調用 198
10.8 函數的遞歸調用 200
10.9 函數指針和函數指針數組 204
10.9.1 函數指針 204
10.9.2 函數指針數組 208
10.10 main()函數的參數和返回值 209
10.11 內部函數和外部函數 211
10.12 小結 212
10.13 習題 212
第11章 預處理 215
11.1 宏定義 215
11.1.1 不帶參數的宏定義 215
11.1.2 帶參數的宏定義 218
11.2 文件包含 220
11.3 條件編譯 222
11.4 小結 226
11.5 習題 227
第12章 結構體與共用體 229
12.1 結構體類型的聲明 229
12.2 結構體類型的變量 230
12.2.1 結構體類型變量的定義 230
12.2.2 結構體類型變量的初始化 233
12.2.3 結構體類型變量的引用 234
12.3 結構體數組 235
12.4 指向結構體變量和結構體數組的指針 239
12.5 結構體與函數 242
12.5.1 結構體在函數間的傳遞 242
12.5.2 結構體類型函數或結構指針型函數 246
12.6 鏈表 248
12.6.1 鏈表的基本知識 248
12.6.2 動態(tài)存儲分配函數 249
12.6.3 鏈表的操作 250
12.7 共用體 257
12.7.1 共用體類型的聲明 257
12.7.2 共用體類型的變量 258
12.7.3 程序舉例 260
12.8 枚舉類型 262
12.9 用typedef定義類型 265
12.10 小結 267
12.11 習題 268
第13章 位運算 271
13.1 二進制數、位和字節(jié) 271
13.2 位運算符和位運算 272
13.3 程序舉例 276
13.4 位段 277
13.5 小結 279
13.6 習題 279
第14章 文件 281
14.1 文件概述 281
14.2 文件類型指針 282
14.3 文件的打開與關閉 283
14.3.1 文件的打開 283
14.3.2 文件的關閉 285
14.4 文件讀寫函數 285
14.4.1 字符讀寫函數 286
14.4.2 字符串讀寫函數 288
14.4.3 格式化讀寫函數 290
14.4.4 數據塊讀寫函數 290
14.5 文件檢測函數 292
14.6 文件的定位 294
14.7 文件管理函數 297
14.8 小結 298
14.9 習題 298
附錄 常用資料 301
F.1 ASCII碼 301
F.2 C運算的優(yōu)先級和結合性 302
F.3 常用的C語言庫函數 303