第1章 C語言概述 1
1.1 C語言概述 1
1.1.1 C語言的發(fā)展 1
1.1.2 C語言特點 1
1.1.3 Turbo C 2.0介紹 2
1.2 第一個C語言程序 7
1.2.1 C語言程序的編制運行過程 7
1.2.2 C語言程序的結構 8
1.2.3 C語言程序設計基礎 11
本章小結 12
習題 13
第2章 基本數(shù)據(jù)類型 16
2.1 C語言的數(shù)據(jù)類型 16
2.2 常量與變量 17
2.3 整型數(shù)據(jù) 20
2.3.1 整型常量 20
2.3.2 整型變量 21
2.4 實型數(shù)據(jù) 24
2.4.1 實型常量 24
2.4.2 實型變量 24
2.5 字符型數(shù)據(jù) 25
2.5.1 字符型常量 25
2.5.2 字符型變量 26
2.5.3 字符串常量 28
本章小結 29
習題 29
第3章 運算符與表達式 33
3.1 運算符與表達式概述 33
3.1.1 表達式的組成 33
3.1.2 運算符的分類 33
3.2 算術運算符與表達式 34
3.3 關系運算符與表達式 36
3.4 邏輯運算符與表達式 37
3.5 其他運算符與表達式 39
3.5.1 賦值運算符與表達式 39
3.5.2 條件運算符與表達式 41
3.5.3 逗號運算符與表達式 41
3.5.4 強制類型轉換運算符與表達式 42
3.6 運算符的優(yōu)先級 43
本章小結 44
習題 44
第4章 數(shù)據(jù)的輸入與輸出 48
4.1 數(shù)據(jù)的輸出函數(shù) 48
4.1.1 按格式輸出函數(shù)printf( ) 48
4.1.2 標準字符輸出函數(shù)putchar( ) 51
4.1.3 字符串輸出函數(shù)puts( ) 51
4.2 數(shù)據(jù)輸入函數(shù) 52
4.2.1 按格式輸入函數(shù)scanf( ) 52
4.2.2 標準字符輸入函數(shù)getchar() 55
4.2.3 字符串輸入函數(shù)gets( ) 56
本章小結 57
習題 57
第5章 結構控制語句 62
5.1 程序的基本控制結構 62
5.1.1 順序結構 62
5.1.2 選擇結構 64
5.1.3 循環(huán)結構 65
5.2 條件選擇語句 65
5.2.1 if語句的形式 66
5.2.2 if語句的嵌套 67
5.3 多路分支語句 69
5.4 循環(huán)語句 72
5.4.1 while型循環(huán)語句 73
5.4.2 do...while型循環(huán)語句 73
5.4.3 for型循環(huán)語句 74
5.4.4 goto型循環(huán)語句 76
5.4.5 continue語句和break語句 77
5.4.6 循環(huán)嵌套 79
本章小結 82
習題 82
第6章 數(shù)組 88
6.1 一維數(shù)組 88
6.1.1 一維數(shù)組的定義 88
6.1.2 一維數(shù)組的初始化 89
6.1.3 一維數(shù)組元素的使用 90
6.1.4 應用舉例 92
6.2 字 符 數(shù) 組 96
6.2.1 字符數(shù)組的定義及字符串 96
6.2.2 字符數(shù)組的初始化 97
6.2.3 字符數(shù)組的使用 97
6.2.4 字符串處理函數(shù) 99
6.2.5 應用舉例 103
6.3 二維數(shù)組 105
6.3.1 二維數(shù)組的定義 105
6.3.2 二維數(shù)組的初始化 106
6.3.3 二維數(shù)組的使用 107
6.3.4 應用舉例 108
本章小結 112
習題 112
第7章 函數(shù) 118
7.1 用戶自定義函數(shù) 118
7.1.1 函數(shù)的定義 119
7.1.2 函數(shù)的調用 120
7.1.3 函數(shù)調用中的數(shù)據(jù)傳遞 122
7.2 函數(shù)的嵌套調用和遞歸調用 130
7.2.1 函數(shù)的嵌套調用 130
7.2.2 函數(shù)的遞歸調用 131
7.3 變量的作用域和生存期 135
7.3.1 局部變量和全局變量 135
7.3.2 變量生存期 139
7.4 函數(shù)的作用范圍 144
7.4.1 內部函數(shù) 144
7.4.2 外部函數(shù) 144
7.5 命令行參數(shù) 145
7.6 多個文件的連接和運行 146
本章小結 147
習題 148
第8章 指針 157
8.1 指針與指針變量 157
8.1.1 地址、指針與指針變量 157
8.1.2 指針變量的使用 158
8.2 指針與數(shù)組 163
8.2.1 指向一維數(shù)組的指針 163
8.2.2 指向二維數(shù)組的指針 167
8.2.3 指向字符串的指針 173
8.3 指向特殊類型數(shù)據(jù)的指針變量 175
8.3.1 指針數(shù)組 175
8.3.2 指向指針的指針 178
8.4 指針與函數(shù) 180
8.4.1 指針變量作為函數(shù)參數(shù) 180
8.4.2 返回指針的函數(shù) 183
8.4.3 指向函數(shù)的指針 186
本章小結 189
習題 189
第9章 預處理 197
9.1 宏定義 197
9.1.1 不帶參數(shù)的宏定義 197
9.2 文件包含 199
9.3 條件編譯 200
9.3.1 #ifdef 200
9.3.2 #ifndef 201
9.3.3 #if 202
本章小結 203
習題 203
第10章 構造型數(shù)據(jù)結構 208
10.1 結構體 208
10.1.1 概述 208
10.1.2 結構體的定義 209
10.1.3 結構體變量的使用 211
10.1.4 結構體數(shù)組 212
10.1.5 指向結構體的指針 214
10.1.6 結構體變量作為參數(shù)在函數(shù)之間進行傳遞 216
10.2 指針與鏈表 218
10.2.1 動態(tài)數(shù)據(jù)結構與動態(tài)內存分配 218
10.2.2 鏈表的定義 219
10.2.3 鏈表的操作 221
10.3 共用體 227
10.3.1 共用體的定義 227
10.3.2 共用體變量的使用 228
10.4 枚舉類型 230
10.4.1 枚舉類型的定義 230
10.4.2 枚舉類型變量的使用 230
10.5 自定義類型 232
本章小結 233
習題 234
第11章 位運算 241
11.1 位運算符 241
11.1.1 按位與 241
11.1.2 按位或 241
11.1.3 按位異或 242
11.1.4 按位取反 243
11.1.5 按位左移 243
11.1.6 按位右移 243
11.1.7 位運算復合賦值運算符 244
11.2 位段 245
本章小結 246
習題 246
第12章 文件 252
12.1 文件概述 252
12.1.1 文件的存儲方式 252
12.1.2 文件類型指針(FILE類型指針) 253
12.2 文件的打開和關閉 253
12.2.1 打開文件函數(shù)fopen 253
12.2.2 關閉文件函數(shù)fclose 254
12.3 文件的讀寫 255
12.3.1 字符的讀取和寫入 255
12.3.2 字符串的讀取和寫入 256
12.3.3 按格式讀取和寫入 258
12.4 隨機文件的讀寫 259
12.4.1 隨機文件的讀取 259
12.4.2 隨機文件的寫入 260
12.5 文件定位函數(shù) 261
12.5.1 rewind函數(shù) 261
12.5.2 fseek函數(shù) 262
12.5.3 ftell函數(shù) 263
本章小結 263
習題 263