第1章 绪论 1
1.1 C语言的发展 1
1.2 C语言版本 2
1.3 C语言的特点 2
1.4 C语言的基本词法 3
1.4.1 字符集 3
1.4.2 关键字 3
1.4.3 标识符 3
1.5 C程序的基本结构和结构特点 4
1.5.1 C程序的基本结构 4
1.5.2 C语言的结构特点 6
1.6 C语言程序开发过程 7
1.7 C语言程序开发环境 8
1.8 算法 9
1.8.1 算法的概念和特性 9
1.8.2 算法的表示方法 10
思考题 18
第2章 Turbo C 2.0集成开发环境 19
2.1 Turbo C 2.0简介 19
2.2 Turbo C 2.0的安装与设置 19
2.2.1 系统配置要求 19
2.2.2 TC 2.0的安装 19
2.2.3 TC2.0的启动 20
2.2.4 工作目录的设置 21
2.2.5 环境设置 22
2.3 系统功能 23
2.3.1 工作界面 23
2.3.2 菜单 24
2.3.2 配置文件 28
2.3.3 编译器 28
2.3.4 链接 28
2.3.5 预处理 29
2.3.6 库管理 29
2.3.7 帮助 30
2.3.8 项目管理 30
2.4 程序的编辑及调试 32
2.5 常见编程错误 34
2.6 应用实例 38
思考题 41
第3章 数据类型、运算符和表达式 42
3.1 C语言的数据类型 42
3.1.1 C语言的数据类型简介 42
3.1.2 常量和变量 43
3.1.3 整型数据 44
3.1.4 实型数据 48
3.1.5 字符型数据 49
3.1.6 变量的初始化 53
3.1.7 数据类型之间的转换与运算 53
3.2 算术运算符和算术表达式 56
3.2.1 C语言的运算符简介 56
3.2.2 算术运算符和算术表达式 56
3.3 赋值运算符和赋值表达式 58
3.3.1 赋值运算符类型 58
3.3.2 赋值运算符和表达式 59
3.4 其他运算符和表达式 60
3.4.1 逗号运算符和表达式 60
3.4.2 关系运算符和表达式 60
3.4.3 逻辑运算符和表达式 60
3.4.4 条件运算符和表达式 61
3.5 实例 61
思考题 63
第4章 顺序结构 64
4.1 顺序结构程序设计 64
4.2 C语句概述 64
4.3 基本输入/输出处理 66
4.3.1 字符输入/输出函数 67
4.3.2 格式化输入/输出函数 68
4.4 实例 72
思考题 73
第5章 选择结构 74
5.1 if选择结构 74
5.1.1 单分支的if语句 74
5.1.2 双分支的if语句 76
5.1.3 多分支选择语句 77
5.2 switch选择结构 80
5.3 break语句 81
5.4 选择结构嵌套 83
5.5 实例 86
思考题 90
第6章 循环结构 91
6.1 for循环结构 92
6.2 while语句和do-while语句 94
6.2.1 while语句 94
6.2.2 do-while语句 96
6.3 continue语句和break语句 97
6.3.1 continue语句 97
6.3.2 break语句 97
6.4 goto语句 99
6.5 循环的嵌套 100
6.6 实例 102
思考题 105
第7章 数组 106
7.1 数组的基本概念 106
7.2 一维数组 106
7.2.1 一维数组的定义和初始化 106
7.2.2 一维数组的引用 107
7.3 二维数组及多维数组 108
7.3.1 二维数组的定义和初始化 108
7.3.2 二维数组的引用 109
7.3.3 多维教组 110
7.4 字符数组 110
7.4.1 字符数组的定义 110
7.4.2 字符数组的初始化 110
7.4.3 字符数组的引用 111
7.4.4 字符数组的输入/输出 111
7.4.5 字符串处理函数 113
7.5 实例 116
思考题 118
第8章 函数 120
8.1 概述 120
8.2 函数的定义 121
8.2.1 无参函数定义的一般形式 121
8.2.2 有参函数定义的一般形式 122
8.3 函数的参数和函数的返回值 123
8.3.1 函数的参数 123
8.3.2 函数的返回值 124
8.4 函数的调用 125
8.4.1 函数调用的方法 125
8.4.2 函数调用时参数间的传递 126
8.4.3 函数声明的方法 131
8.5 函数的嵌套与递归调用 132
8.5.1 函数的嵌套调用 132
8.5.2 函数的递归调用 133
8.6 变量的作用域 135
8.6.1 局部变量 135
8.6.2 全局变量 136
8.7 变量的存储类别 138
8.7.1 自动变量 139
8.7.2 外部变量 141
8.7.3 静态变量 141
8.7.4 寄存器变量 143
8.8 内部函数和外部函数 144
8.9 要点 145
思考题 145
第9章 编译预处理 147
9.1 宏定义 147
9.1.1 无参宏定义 147
9.1.2 带参宏定义 150
9.2 文件包含 153
9.3 条件编译 155
思考题 158
第10章 指针 159
10.1 指针的基本概念 159
10.2 指针变量的类型说明 160
10.3 指针变量的赋值 160
10.4 指针变量的运算 161
10.4.1 指针运算符 161
10.4.2 指针变量的运算 161
10.5 数组指针变量的说明和使用 163
10.6 数组名和数组指针变量作函数参数 165
10.7 指向多维数组的指针变量 166
10.7.1 多维数组地址的表示方法 166
10.7.2 多维数组的指针变量 167
10.8 字符串指针变量的说明和使用 167
10.9 函数指针变量 170
10.10 指针型函数 171
10.11 指向指针的指针变量 175
10.12 要点 176
思考题 177
第11章 结构与链表 179
11.1 结构的基本概念 179
11.2 结构类型的定义 179
11.3 结构变量的定义、引用和初始化 181
11.3.1 结构变量的定义 181
11.3.2 结构变量的引用 183
11.3.3 结构变量的初始化 184
11.4 结构嵌套 186
11.5 结构数组 187
11.5.1 结构数组的定义 187
11.5.2 结构数组的初始化 188
11.6 结构与指针 190
11.6.1 结构变量指针 190
11.6.2 结构数组指针 192
11.7 结构与函数 193
11.7.1 结构变量作为函数参数 193
11.7.2 结构变量作为函数的返回值 195
11.8 用指针和结构构成链表 197
11.8.1 链表的基本概念 197
11.8.2 链表的操作 201
11.8.3 单向链表的建立、输出、删除与插入 201
11.8.4 双向链表的建立、输出、删除与插入 208
11.9 实例 213
思考题 216
第12章 联合、枚举、堆栈、队列与二叉树 218
12.1 联合类型 218
12.1.1 基本概念 218
12.1.2 定义、引用及操作 219
12.2 枚举类型 221
12.3 用typedef定义类型 223
12.3.1 typedef语句的一般形式及使用方法 223
12.3.2 使用typedef语句应注意的问题 224
12.4 堆栈与队列 225
12.4.1 堆栈 226
12.4.2 队列 237
12.5 二叉树 242
12.5.1 二叉树的节点结构 242
12.5.2 建立二叉树 247
12.5.3 输出二叉树 248
思考题 253
第13章 文件 254
13.1 文件 254
13.1.1 基本概念 254
13.1.2 文件类型 255
13.1.3 文件类型的指针 256
13.1.4 文件的打开与关闭 257
13.1.5 文件的读写 260
13.1.6 文件的定位 269
13.1.7 文件检测函数 271
13.2 非缓冲文件系统 272
13.2.1 open函数 272
13.2.2 close函数 273
13.2.3 creat函数 273
13.2.4 read函数 273
13.2.5 write函数 274
13.2.6 随机定位函数 275
13.3 实例 275
思考题 281
第14章 图形与声音 282
14.1 图形 282
14.1.1 图形的基本概念 282
14.1.2 图形运行程序 286
14.1.3 图形模式的初始化 288
14.1.4 图形显示方式和字符显示方式 292
14.1.5 基本图形函数 292
14.1.6 图形填充函数和存取函数 299
14.1.7 屏幕颜色的设置和清屏函数 302
14.1.8 图形窗口和图形屏幕操作函数 305
14.1.9 图形模式下的文本输出 310
14.2 声音程序 314
14.2.1 声音函数 314
14.2.2 音乐 315
14.3 实例 322
思考题 329
第15章 Visual C++6.0集成开发环境 330
15.1 Visual C++6.0的安装 330
15.1.1 Visual C++6.0对系统的要求 330
15.1.2 Visual C++6.0的安装过程 330
15.2 Visual C++6.0集成开发环境 332
15.2.1 Visual C++6.0主界面 332
15.2.2 Visual C++6.0帮助系统 338
15.3 Visual C++6.0程序的编辑及调试 339
15.3.1 Visual C++6.0应用程序的创建与编辑 339
15.3.2 应用程序的编译、连接和运行 340
15.3.3 程序动态调试方法 341
15.4 实例 343
思考题 344
第16章 C语言程序开发实例 345
16.1 绘制五星红旗 345
16.2 表盘时钟 348
16.3 保龄球积分公告牌 353
16.4 蛇形矩阵 356
16.5 国际象棋棋盘 358
思考题 359
第17章 C语言程序开发综合案例 360
17.1 案例一:语言信号分析 360
17.2 案例二:系统稳定性 364
17.3 案例三:仪器可靠性 367
17.4 案例四:地域导航 370
17.5 案例五:地震事件检测 373
17.6 案例六:海啸分析 377
思考题 379
参考文献 380