第1章 程序设计基础 1
1.1程序设计的基本概念 1
1.1.1程序 1
1.1.2算法与数据结构 2
1.2程序设计的一般步骤 6
1.3结构化程序设计方法 7
小结 7
习题1 8
第2章 C语言概述 9
2.1 C语言的发展及其特点 9
2.1.1 C语言的发展简史 9
2.1.2 C语言的特点 9
2.2简单的C程序介绍 10
2.2.1简单的C程序 10
2.2.2 C源程序的结构特点 12
2.2.3 C源程序的书写规则 12
2.3运行C语言程序的基本步骤 13
小结 13
习题2 14
第3章 数据类型、运算符及表达式 15
3.1 C语言的数据类型 15
3.2标识符与关键字 16
3.3常量 16
3.3.1整型常量 17
3.3.2实型常量 18
3.3.3字符型常量 18
3.3.4字符串常量 20
3.3.5符号常量 22
3.4变量 23
3.4.1变量的定义 23
3.4.2变量的初始化 25
3.5运算符及其表达式 28
3.5.1算术运算符和算术表达式 29
3.5.2赋值运算符和赋值表达式 32
3.5.3关系运算符和关系表达式 34
3.5.4逻辑运算符和逻辑表达式 35
3.5.5条件运算符和条件表达式 38
3.5.6逗号运算符和逗号表达式 39
3.5.7位运算 40
3.5.8指针运算符、sizeof运算符 43
3.6运算符的优先级和结合性 43
3.7表达式中数据类型的转换 44
小结 49
习题3 50
第4章 结构化的C语言程序设计 54
4.1结构化程序设计概述 54
4.2顺序结构程序设计 54
4.2.1赋值语句、复合语句 54
4.2.2字符输出函数 55
4.2.3字符输入函数 55
4.2.4格式化输出函数 56
4.2.5格式化输入函数 58
4.2.6顺序结构程序设计举例 60
4.3选择结构程序设计 62
4.3.1简单的if结构 62
4.3.2 if-else语句结构 63
4.3.3 if结构的嵌套 64
4.3.4 if-else-if语句结构 65
4.3.5 switch结构 67
4.3.6选择结构程序设计举例 68
4.4循环结构程序设计 69
4.4.1 goto语句 69
4.4.2 while语句 69
4.4.3 do-while语句 70
4.4.4 for语句 71
4.4.5 3种循环语句的比较 73
4.4.6循环嵌套 73
4.4.7 break语句 74
4.4.8 continue语句 74
4.4.9空语句 75
4.4.10循环结构程序设计举例 75
小结 77
习题4 78
第5章 数组 83
5.1一维数组的定义和引用 83
5.1.1一维数组的定义 83
5.1.2一维数组元素的引用 85
5.1.3一维数组的初始化 86
5.1.4一维数组程序举例 87
5.2二维数组 90
5.2.1二维数组的定义 90
5.2.2二维数组元素的引用 91
5.2.3二维数组的初始化 91
5.2.4二维数组程序举例 92
5.3字符数组 96
5.3.1字符数组的定义 96
5.3.2字符数组的初始化 96
5.3.3字符数组的引用 97
5.3.4字符串 97
5.3.5字符串的输入/输出 98
5.3.6字符串操作函数 101
5.3.7字符数组应用举例 103
小结 106
习题5 106
第6章 函数 111
6.1函数概述 111
6.1.1函数的定义 113
6.1.2函数的调用 115
6.1.3变量的生命期及作用域 120
6.2函数参数传递 128
6.2.1值传递 130
6.2.2地址传递 132
6.3递归函数 139
6.4内部函数与外部函数 145
小结 147
习题6 148
第7章 指针 153
7.1指针与指针变量的概念 153
7.1.1指针的概念 153
7.1.2指针变量 153
7.2指针变量的定义和引用 155
7.2.1指针变量的定义 155
7.2.2指针变量的赋值 156
7.2.3指针变量的引用 156
7.3指针和地址运算 159
7.4指针与数组 161
7.4.1指针变量与数组 161
7.4.2指针变量在一维数组中的应用 163
7.4.3指针变量在多维数组中的应用 165
7.5指针与字符串 169
7.6指针数组与多级指针 172
7.6.1指针数组的定义 172
7.6.2指针数组的使用 172
7.6.3多级指针 174
7.7指针变量与函数 176
7.7.1函数的操作方式与指针变量 176
7.7.2指针型函数的定义与使用 177
7.7.3函数指针的定义与使用 178
7.7.4与指针有关的函数参数传递方式 179
7.7.5带参数的main函数和命令行参数 185
7.8指针与动态内存分配 186
7.8.1动态存储的概念 186
7.8.2 C语言的动态存储管理方式 186
小结 187
习题7 189
第8章 结构体与共用体 194
8.1结构体类型和结构体变量 194
8.1.1结构体类型的定义 194
8.1.2结构体变量的定义 195
8.1.3结构体变量的引用 197
8.1.4结构体变量的初始化 198
8.2结构体数组 198
8.2.1结构体数组的定义 198
8.2.2结构体数组的引用 199
8.2.3结构体数组的初始化 200
8.3结构体类型指针 201
8.3.1指向结构体变量的指针 201
8.3.2指向结构体数组的指针 203
8.3.3结构体变量和指向结构体指针作为函数参数 203
8.4动态内存分配 205
8.5共用体 207
8.5.1共用体类型的定义 208
8.5.2共用体变量的定义 208
8.5.3共用体变量的引用和初始化 209
8.6枚举类型 210
8.6.1枚举类型的说明 210
8.6.2枚举型变量的定义 211
8.7用typedef定义类型 213
小结 214
习题8 215
第9章 文件 220
9.1文件概述 220
9.1.1文件的概念 220
9.1.2文件类型指针 222
9.2文件的打开与关闭 223
9.2.1文件的打开 223
9.2.2文件的关闭 225
9.3文件的读写 226
9.3.1文件尾测试函数 226
9.3.2读/写字符函数 227
9.3.3读/写字符串函数 229
9.3.4读/写数据函数 231
9.3.5格式读/写函数 233
9.4其他函数 234
9.4.1文件头定位函数 234
9.4.2文件随机定位函数 235
9.4.3出错检测函数 236
小结 236
习题9 237
第10章 编译预处理 238
10.1宏定义 238
10.1.1不带参数的宏定义 238
10.1.2带参数的宏定义 240
10.2文件包含处理 242
10.3条件编译 245
小结 247
习题10 248
附录A C语言的字符集-ASC Ⅱ字符表 249
附录B C语言的关键字 250
附录C C语言的库函数 251
附录D Turbo C常见英文错误提示及含义 259
附录E 习题参考答案 263