第1章 程序设计基础 1
1.1 程序设计语言 1
1.1.1 机器语言 1
1.1.2 汇编语言 2
1.1.3 高级语言 2
1.2 程序设计 3
1.2.1 算法 3
1.2.2 结构化程序设计 10
1.2.3 程序设计的步骤 11
1.3 C语言概述 12
1.3.1 C语言的发展与应用现状 12
1.3.2 C语言的特点 14
1.3.3 C语言程序的组成 14
1.3.4 C语言的编译 16
习题1 18
第2章 数据及数据类型 20
2.1 C语言的数据类型 20
2.2 常量 21
2.2.1 普通常量 21
2.2.2 符号常量与宏定义 23
2.3 变量 27
2.3.1 标识符 27
2.3.2 变量 29
2.4 不同类型数据间的混合运算 34
2.5 数据的输入与输出 36
2.5.1 scanf()函数 36
2.5.2 printf()函数 39
2.5.3 getchar()函数和putchar()函数 44
习题2 45
第3章 数据运算 48
3.1 算术运算 48
3.2 自增(减)运算 49
3.3 关系运算 50
3.4 逻辑运算 51
3.5 赋值运算 53
3.6 逗号运算 54
3.7 条件运算 55
3.8 位运算 55
3.9 测试数据长度运算 58
习题3 58
第4章 选择结构 60
4.1 语句与复合语句 60
4.2 二分支选择结构 61
4.2.1 简单的二分支选择结构 61
4.2.2 嵌套的二分支选择结构 63
4.3 多分支选择结构 65
4.4 程序举例 67
习题4 71
第5章 循环结构 74
5.1 while循环 74
5.2 do-while循环 76
5.3 for循环 78
5.4 循环嵌套 81
5.5 转移控制语句 83
5.5.1 break语句 83
5.5.2 continue语句 84
5.5.3 goto语句 85
5.6 程序举例 87
5.6.1 数列问题(累加、累积、递推) 87
5.6.2 穷举法 89
5.6.3 密码问题 91
5.6.4 方程求根问题 93
5.6.5 梯形法求定积分问题 100
习题5 102
第6章 数组和字符串 109
6.1 一维数组 109
6.1.1 一维数组的定义与初始化 109
6.1.2 一维数组元素的引用 111
6.2 二维数组 112
6.2.1 维数组的定义与初始化 112
6.2.2 维数组元素的引用 113
6.3 数值数组的应用举例 114
6.3.1 统计问题 114
6.3.2 最大值(最小值)问题 116
6.3.3 查找、排序问题 117
6.4 字符数组与字符串函数 120
6.4.1 字符数组的定义与初始化 120
6.4.2 字符串 121
6.4.3 字符数组与字符串的输入、输出 121
6.4.4 字符串处理函数 123
6.5 字符串处理应用举例 125
6.5.1 字符串处理函数的应用 125
6.5.2 字符串查找 126
6.5.3 字符串插入 130
6.5.4 字符串删除 132
习题6 134
第7章 指针 137
7.1 地址、指针和指针变量的概念 137
7.1.1 内存地址 137
7.1.2 变量地址 137
7.1.3 指针和指针变量 138
7.2 指针变量的定义、引用和初始化 139
7.2.1 指针变量的定义 139
7.2.2 指针变量的引用和初始化 140
7.3 指针的运算 143
7.3.1 赋值运算 143
7.3.2 算术运算 144
7.3.3 关系运算 145
7.4 用指针访问一维数组 146
7.4.1 建立指针变量与一维数组的联系 146
7.4.2 用指针访问数组元素 146
7.5 用指针访问二维数组 149
7.5.1 二维数组的地址 150
7.5.2 指向多维数组的指针变量 151
7.6 用指针处理字符串 153
7.7 指针数组与二级指针 157
7.7.1 指针数组 157
7.7.2 指向指针的指针 160
7.8 程序举例 163
7.8.1 指针引用数组元素问题 163
7.8.2 指针处理字符串问题 165
7.8.3 指针综合应用 167
习题7 168
第8章 函数 173
8.1 函数概念 173
8.2 函数的参数和返回值 176
8.2.1 形式参数和实际参数 176
8.2.2 函数的返回值 177
8.3 函数间的参数传递 179
8.3.1 形参与实参的结合方式 179
8.3.2 变量的作用域 183
8.3.3 动态存储变量与静态存储变量 185
8.3.4 内部函数和外部函数 191
8.4 函数的嵌套与递归调用 192
8.5 函数与指针 196
8.5.1 用函数指针变量调用函数 196
8.5.2 用指向函数的指针作函数参数 197
8.6 main()函数的参数和返回值 198
8.7 文件包含与条件编译 200
8.8 C程序项目设计 203
8.9 模块化程序设计举例 203
习题8 206
第9章 构造数据类型 214
9.1 结构体类型 214
9.1.1 结构体变量 214
9.1.2 结构体数组 220
9.1.3 结构体指针 223
9.1.4 单链表 227
9.2 共同体类型 233
9.3 位段结构类型 235
9.4 枚举类型 236
9.5 自定义类型 237
9.6 程序举例 238
9.6.1 结构体的应用 238
9.6.2 单链表的应用 239
习题9 240
第10章 文件 246
10.1 文件概述 246
10.1.1 文件的概念与分类 246
10.1.2 文件类型指针 247
10.2 文件的打开与关闭 248
10.2.1 文件的打开 248
10.2.2 文件的关闭 249
10.3 文件的读/写操作 249
10.3.1 文件读函数 249
10.3.2 文件写函数 250
10.4 文件检测函数 254
10.5 文件的定位 255
10.6 程序举例 256
习题10 260
第11章 图形设计 265
11.1 图形处理基本概念 265
11.1.1 图形处理与显示适配器 265
11.1.2 文本模式 266
11.1.3 图形模式 267
11.1.4 设计图形程序的步骤 267
11.2 文本模式下的图形处理 267
11.2.1 文本模式设置 267
11.2.2 颜色设置 268
11.2.3 文本输出 269
11.2.4 文本图形处理 272
11.3 图形模式下的图形处理 274
11.3.1 图形系统的初始化 275
11.3.2 绘图函数 277
11.3.3 动画设计 283
11.3.4 使图形软件脱离BGI的方法 286
11.3.5 菜单设计技术 286
11.3.6 程序举例 288
习题11 2901
第12章 实验指导 292
实验1 顺序程序设计 292
实验2 控制语句的使用 294
实验3 数组与字符串 296
实验4 指针的应用 298
实验5 函数编程的应用 300
实验6 结构体与共同体 302
实验7 文件函数的应用 304
附录1 ASCII码表 306
附录2 C语言中的关键字 307
附录3 C语言中的运算符及其优先级 308
附录4 Turbo C 2.0使用指南 310
附录5 Turbo C 2.0编译错误信息 317
附录6 Turbo C常用库函数 332
附录7 C语言编程中易犯错误汇编 329
参考文献 335