第1章 计算机编程及C语言概述 1
1.1程序的基本概念 1
1.1.1程序设计语言 1
1.1.2语言实现 1
1.1.3开发环境 2
1.1.4程序的工作原理 2
1.2 C语言的发展及其特点 3
1.2.1 C语言的发展 3
1.2.2 C语言的特点 3
1.3 C语言编程介绍 4
1.3.1 C语言源程序的基本结构 4
1.3.2 C语言的字符集 8
1.3.3 C语言的标识符 8
1.3.4 C语言的语句 9
1.3.5编程风格 9
1.4运行C语言程序的步骤与环境 10
1.4.1运行C程序的流程 10
1.4.2 Visual C++6.0集成开发环境简介 11
1.4.3 Visual C++6.0下调试运行程序的操作步骤 14
1.5常见编程错误和编译器错误 16
1.5.1编程错误 16
1.5.2编译器错误 17
小结 17
习题 18
第2章 基本数据类型、运算符与表达式 21
2.1 C语言的数据类型 21
2.2常量、变量 22
2.2.1常量及符号常量 22
2.2.2变量及定义 23
2.3基本数据类型与表示范围 25
2.3.1整型数据 26
2.3.2实型数据 29
2.3.3字符型数据和字符串常量 31
2.3.4各类数值型数据间的混合运算 36
2.4 C语言的运算符与表达式 37
2.4.1 C语言运算符与表达式简介 37
2.4.2算术运算符和算术表达式 39
2.4.3赋值运算符和赋值表达式 41
2.4.4强制类型转换符 46
2.4.5自增自减运算符 47
2.4.6位运算符和位运算表达式 49
2.4.7逗号运算符和逗号表达式 51
2.4.8指针运算符、sizeof运算符 53
2.5常见编程错误和编译器错误 53
2.5.1编程错误 53
2.5.2编译器错误 54
小结 54
习题 54
第3章 顺序结构程序设计 59
3.1结构化程序设计 59
3.1.1结构化程序设计概述 59
3.1.2结构化程序设计的基本结构及其特点 59
3.2算法 60
3.2.1算法的基本概念 60
3.2.2算法的特性 61
3.2.3算法的流程图表示法 61
3.2.4基本算法 64
3.3 C语句概述 64
3.4输入输出介绍 66
3.4.1格式化输出函数printf 67
3.4.2格式化输入函数scanf 70
3.4.3字符输出函数putchar 72
3.4.4字符输入函数getchar 72
3.5顺序结构程序设计举例 74
3.6常见编程错误和编译器错误 75
3.6.1编程错误 76
3.6.2编译器错误 76
小结 76
习题 76
第4章 选择结构程序设计 80
4.1关系运算符、逻辑运算符、条件运算符 80
4.1.1关系运算符和关系表达式 80
4.1.2逻辑运算符和逻辑表达式 81
4.1.3条件运算符和条件表达式 82
4.2 if语句 83
4.2.1if语句的一般形式 83
4.2.2if语句的嵌套形式 84
4.3 switch语句 86
4.3.1 switch语句的一般形式 86
4.3.2 switch语句的嵌套形式 88
4.4选择结构程序设计举例 88
4.5常见编程错误和编译器错误 92
4.5.1编程错误 92
4.5.2编译器错误 92
小结 93
习题 93
第5章 循环结构程序设计 96
5.1基本循环结构 96
5.2 while语句 96
5.3 do…while语句 99
5.4 for语句 102
5.5 goto、break、continue语句 104
5.5.1 goto语句 104
5.5.2 break语句 105
5.5.3 continue语句 106
5.6循环的嵌套 107
5.7几种循环的比较 107
5.8循环结构程序设计举例 108
5.9常见编程错误和编译器错误 110
5.9.1编程错误 110
5.9.2编译器错误 111
小结 112
习题 112
第6章 数组 122
6.1一维数组 123
6.1.1一维数组的定义 123
6.1.2一维数组的引用 124
6.1.3一维数组元素的初始化 126
6.1.4一维数组程序举例 127
6.2二维数组 132
6.2.1二维数组的定义 132
6.2.2二维数组的引用 133
6.2.3二维数组元素的初始化 134
6.2.4二维数组程序举例 135
6.3字符数组 139
6.3.1字符数组的定义 139
6.3.2字符数组的初始化 140
6.3.3字符数组的输入输出 141
6.3.4字符串基础知识 142
6.3.5字符串的输入输出 145
6.3.6字符串常用操作函数 148
6.3.7字符数组应用举例 150
6.4常见编程错误和编译器错误 153
6.4.1编程错误 153
6.4.2编译器错误 154
小结 155
习题 155
第7章 函数 158
7.1函数的概念 158
7.1.1标准库函数的特点 158
7.1.2用户自定义函数的特点 159
7.1.3函数运行中的参数传递及返回值 160
7.2函数的定义 160
7.2.1函数定义的一般形式 160
7.2.2函数参数的传递方式 162
7.2.3函数的返回值 164
7.3函数的调用 165
7.3.1函数调用的形式 165
7.3.2函数调用的方式 165
7.3.3函数声明 166
7.4数组在函数参数传递中的应用 168
7.4.1数组元素作函数参数 168
7.4.2数组名作函数参数 168
7.5函数的嵌套调用与函数的递归调用 171
7.5.1函数的嵌套调用 171
7.5.2函数的递归调用 172
7.6主函数main带参数 175
7.6.1 main函数的带参数格式定义 176
7.6.2 main函数的调用 176
7.7函数的作用域 177
7.7.1局部变量 177
7.7.2全局变量 179
7.8变量的存储类别 181
7.8.1自动变量 182
7.8.2静态变量 182
7.8.3寄存器变量 183
7.8.4外部变量 184
7.9文件程序 185
7.9.1内部函数 185
7.9.2外部函数 186
7.10常见编程错误和编译器错误 187
7.10.1编程错误 187
7.10.2编译器错误 187
小结 188
习题 188
第8章 指针 193
8.1指针与指针变量的概念 193
8.1.1指针的概念 193
8.1.2指针变量的概念 193
8.2指针变量的定义和引用 195
8.2.1指针变量的定义 195
8.2.2指针变量的引用 196
8.3指针运算 198
8.3.1单个指针变量的运算 198
8.3.2两个指针变量之间的运算 199
8.3.3空指针的操作 199
8.4指针与数组 200
8.4.1指针变量与数组的关系 200
8.4.2数组中的指针操作 200
8.4.3指针变量对一维数组的操作方式 201
8.4.4指针变量在多维数组中的应用 205
8.4.5指向由m个元素构成的一维数组的指针变量 208
8.5指针与字符串 211
8.5.1字符串操作的特点及字符指针变量的引入 211
8.5.2指向字符串的指针变量 211
8.6指针数组与多级指针 214
8.6.1指针数组的定义 214
8.6.2指针数组的使用 215
8.6.3多级指针 216
8.7指针变量与函数 218
8.7.1函数的操作方式与指针变量 218
8.7.2指针型函数的定义与使用 218
8.7.3函数指针的定义与使用 220
8.7.4与指针有关的函数参数传递方式 222
8.8指针与动态内存分配 226
8.8.1动态存储的概念 226
8.8.2 C语言的动态存储管理方式 227
8.9常见编程错误和编译器错误 229
8.9.1编程错误 229
8.9.2编译器错误 230
小结 230
习题 230
第9章 编译预处理 237
9.1宏定义 237
9.1.1不带参数的宏定义 237
9.1.2带参数的宏定义 239
9.2文件包含处理 241
9.3条件编译 243
9.4常见编程错误和编译器错误 244
9.4.1编程错误 244
9.4.2编译器错误 244
小结 245
习题 245
第10章 复杂数据类型 248
10.1复杂数据类型概述 248
10.2结构体 249
10.2.1结构体类型的概念及定义 249
10.2.2结构体变量的概念及定义 250
10.2.3结构体变量的初始化和引用 252
10.3结构体与数组、函数、指针 253
10.3.1结构体与数组 253
10.3.2结构体与函数 257
10.3.3结构体与指针 258
10.4联合体 262
10.4.1联合体类型的概念及定义 262
10.4.2联合体变量的概念及定义 262
10.4.3联合体变量的初始化和引用 263
10.5线性链表 264
10.5.1链表的概念 265
10.5.2线性链表的基本操作 267
10.6自定义类型 270
10.7枚举类型 271
10.7.1枚举类型的定义 271
10.7.2枚举变量的定义 272
10.7.3枚举变量的初始化与引用 273
10.7.4枚举类型与sizeof运算符 276
10.8复杂数据类型应用综合举例 277
10.9常见编程错误和编译器错误 280
10.9.1编程错误 280
10.9.2编译器错误 280
小结 281
习题 282
第11章 文件 285
11.1 C文件概述 285
11.1.1文件的基本概念 285
11.1.2文件的类别 285
11.1.3流与缓冲文件系统 286
11.2文件类型指针 287
11.2.1文件结构体类型 287
11.2.2文件指针 287
11.2.3相关说明 287
11.3文件操作概述 288
11.3.1文件处理的一般过程 288
11.3.2文件处理的一般算法 289
11.4文件的打开和关闭 289
11.4.1文件的打开(fopen函数) 289
11.4.2文件的关闭(fclose函数) 290
11.5文件的读/写 291
11.5.1单个字符读/写函数 291
11.5.2字符串读/写函数 293
11.5.3数据块及格式化读/写函数 294
11.6文件的随机读写 297
11.7常见编程错误和编译器错误 299
11.7.1编程错误 299
11.7.2编译器错误 299
小结 299
习题 300
附录1 C语言的字符集——ASCII字符表 302
附录2 C语言的库函数 303
附录3 常见错误提示的中文解释 313
参考文献 320