第1章 程序设计概述 1
1.1 程序与程序设计语言 1
1.1.1 程序的基本概念 1
1.1.2 程序设计语言的发展与分类 2
1.1.3 高级语言的基本元素 3
1.1.4 C语言的发展及特点 6
1.1.5 C语言字符集、标识符与关键字 8
1.2 算法 9
1.2.1 算法的概念 9
1.2.2 算法的设计与描述 10
1.3 数据与数据结构 15
1.3.1 数据的概念 15
1.3.2 数据结构的概念 15
1.4 程序设计 16
1.4.1 程序设计的意义 16
1.4.2 程序设计技术的发展 16
1.4.3 程序设计的过程 19
1.5 C语言程序的基本结构 21
1.6 C语言程序的开发环境 23
1.6.1 Turbo C 2.0集成开发环境简介 23
1.6.2 源程序输入与编辑 25
1.6.3 编译、链接与运行 25
习题1 26
第2章 C语言基本数据类型与表达式 27
2.1 C语言的基本数据类型 27
2.1.1 C语言数据类型概述 27
2.1.2 整数类型 28
2.1.3 实数类型 28
2.1.4 字符类型 29
2.2 常量与变量 29
2.2.1 常量与符号常量 29
2.2.2 变量的定义与访问 31
2.3 运算符与表达式 33
2.3.1 算术运算符与算术表达式 33
2.3.2 赋值运算符与赋值表达式 34
2.3.3 ++(自增)、——(自减)运算 35
2.3.4 条件运算符 36
2.3.5 逗号运算符和求字节运算符 36
2.4 数据类型转换 37
2.4.1 类型自动转换 37
2.4.2 赋值转换 38
2.4.3 强制类型转换 39
2.5 变量的地址与间接访问 39
2.5.1 地址与指针的概念 39
2.5.2 指针变量的定义与初始化 40
习题2 42
第3章 程序的控制结构 44
3.1 顺序结构 44
3.1.1 语句的构成 44
3.1.2 数据的输入与输出 46
3.1.3 顺序结构程序设计 51
3.2 选择结构 53
3.2.1 关系运算符与关系表达式 53
3.2.2 逻辑运算符与逻辑表达式 54
3.2.3 if语句 55
3.2.4 switch语句 62
3.3 循环结构 65
3.3.1 while语句 65
3.3.2 do-while语句 68
3.3.3 for语句 69
3.3.4 break、continue和goto语句 71
3.3.5 循环的嵌套 72
3.4 程序设计示例 74
3.4.1 递推算法 75
3.4.2 穷举算法 77
3.4.3 迭代算法 78
习题3 80
第4章 模块化程序设计与函数 87
4.1 模块化程序设计思想 87
4.1.1 模块化设计的基本思想 87
4.1.2 C语言对模块化程序设计的支持 89
4.2 函数的定义、调用与声明 89
4.2.1 函数的定义 89
4.2.2 函数调用 91
4.2.3 函数的声明 92
4.3 参数传递 95
4.3.1 传值调用 95
4.3.2 传地址调用 96
4.4 函数的递归调用 98
4.5 指针与函数 101
4.5.1 返回指针的函数 101
4.5.2 指向函数的指针 103
4.6 变量的作用域与存储方式 104
4.6.1 变量的作用域 104
4.6.2 变量的存储方式 108
4.7 编译预处理 111
4.7.1 宏定义 111
4.7.2 文件包含 114
4.8 程序示例 115
习题4 117
第5章 数组 126
5.1 一维数组 126
5.1.1 一维数组的定义 126
5.1.2 一维数组元素的引用 128
5.1.3 一维数组初始化 131
5.1.4 一维数组程序举例 132
5.2 二维数组 133
5.2.1 二维数组的定义与初始化 133
5.2.2 二维数组元素的引用 135
5.3 数组作为函数参数传递 138
5.3.1 数组元素作为函数参数 138
5.3.2 数组名作为函数参数 138
5.4 字符串处理 141
5.4.1 用字符数组实现对字符串的操作 141
5.4.2 用指针实现对字符串的操作 143
5.4.3 字符串处理函数 145
5.5 程序举例 148
5.6 指针数组与命令行参数 151
5.6.1 指针数组 151
5.6.2 命令行参数 152
习题5 153
第6章 结构体与共用体 160
6.1 结构体类型 160
6.2 结构体变量 161
6.2.1 结构体变量的定义与初始化 161
6.2.2 结构体变量的访问 163
6.2.3 结构体变量的输入与输出 165
6.3 结构体类型数组 166
6.3.1 结构体类型数组的定义与初始化 166
6.3.2 结构体数组元素的访问 167
6.4 结构体与函数 169
6.4.1 结构体变量作为函数参数 169
6.4.2 结构指针作为函数参数 169
6.4.3 函数的返回值为结构体类型 170
6.5 链表 171
6.5.1 链表的概念 171
6.5.2 内存动态分配管理函数 172
6.5.3 链表的基本操作 173
6.6 共用体与枚举类型 177
6.6.1 共用体类型与共用体变量定义 177
6.6.2 共用体变量的引用 178
6.6.3 共用体的应用 179
6.6.4 枚举类型及应用 181
6.6.5 类型定义 184
习题6 186
第7章 文件 196
7.1 文件概述 196
7.1.1 数据文件的存储形式 197
7.1.2 标准文件与非标准文件 197
7.1.3 文件读写方式 197
7.2 标准文件操作 198
7.2.1 FILE结构指针 198
7.2.2 标准文件的打开与关闭 199
7.2.3 标准文件的读写操作 200
7.2.4 标准文件的随机读写 204
7.3 文件应用示例 207
习题7 208
参考文献 212
附录A 标准ASCII码表 213
附录B C语言运算符优先级和结合性 214
附录C Turbo C常用库函数 216
附录D Turbo C 2.0开发环境使用简介 224