第一部分 C语言开发环境篇第1章 Turbo C介绍 24
1.1 Turbo C的配置与安装 24
1.1.1 Turbo C简介 24
1.1.2 安装Turbo C 3.0 24
1.2 初识Turbo C环境界面 27
1.2.1 设置Turbo C 27
1.2.2 界面简介 29
1.3 本章小结 32
第2章 初识C程序 33
2.1 第一个C程序 33
2.2 C语言的后缀名 34
2.3 C语言的上机步骤 35
2.3.1 程序运行流程 35
2.3.2 输入源程序 35
2.3.3 运行源程序 36
2.3.4 调试检查错误 36
2.3.5 显示运行结果 37
2.4 打开光盘中源程序的步骤 37
2.5 算法及表示 38
2.5.1 算法 38
2.5.2 算法的表示 39
2.6 本章小结 42
第二部分 C语言基础知识篇第3章 变量与常量 44
3.1 C语言的基本语言单位 44
3.1.1 基本符号 44
3.1.2 标识符 45
3.1.3 关键字 46
3.2 变量及变量的数据类型 48
3.2.1 基本概念 48
3.2.2 变量的定义 48
3.2.3 整型变量 49
3.2.4 实型变量 51
3.2.5 字符型变量 52
3.3 常量及常量的数据类型 53
3.3.1 常量的定义 53
3.3.2 整型常量 54
3.3.3 实型常量 54
3.3.4 字符型常量 56
3.3.5 字符串常量 56
3.3.6 符号常量 57
3.3.7 转义字符 58
3.3.8 地址常量 60
3.4 综合示例 61
3.5 本章小结 63
第4章 运算符、表达式和语句 64
4.1 算术运算符与表达式 64
4.1.1 算术运算符 64
4.1.2 算术表达式 65
4.2 自增自减运算符与表达式 66
4.3 赋值运算符与表达式 67
4.3.1 类型转换 67
4.3.2 复合赋值运算符 68
4.3.3 赋值表达式 69
4.4 逗号运算符与表达式 70
4.5 关系运算符与表达式 71
4.5.1 关系运算符 71
4.5.2 关系表达式 71
4.6 条件运算符与表达式 72
4.7 逻辑运算符与表达式 74
4.7.1 逻辑运算符 74
4.7.2 逻辑表达式 76
4.8 位运算符与表达式 77
4.8.1 按位与运算 77
4.8.2 按位或运算 78
4.8.3 按位异或运算 79
4.8.4 按位求反运算 80
4.8.5 左移运算 80
4.8.6 右移运算 81
4.9 综合示例 82
4.10 本章小结 87
第5章 输入/输出函数 88
5.1 字符型数据的输入/输出 88
5.1.1 字符输出 88
5.1.2 字符输入 90
5.1.3 字符串输入/输出 91
5.2 标准格式输出 91
5.2.1 输出字符 92
5.2.2 输出整数 95
5.2.3 输出浮点数 97
5.3 格式输入 99
5.3.1 格式控制中无间隔 100
5.3.2 格式控制中以逗号间隔 100
5.3.3 格式控制中有其他字符 101
5.4 本章小结 102
第6章 顺序结构和选择结构 103
6.1 顺序结构 103
6.1.1 顺序结构流程图 103
6.1.2 顺序结构应用举例 103
6.2 选择结构 105
6.2.1 if语句一般形式 105
6.2.2 if一般形式应用举例 106
6.2.3 if-else结构 108
6.2.4 if-else结构应用举例 109
6.2.5 if-else-if结构 111
6.2.6 if-else-if结构应用举例 112
6.2.7 if语句的嵌套 116
6.2.8 if语句的嵌套应用举例 117
6.2.9 switch语句一般形式 121
6.2.10 switch语句运行规则 122
6.2.11 带break语句的switch语句 123
6.2.12 switch语句应用举例 124
6.3 综合示例 131
6.4 本章小结 136
第7章 循环结构 137
7.1 for语句 137
7.1.1 for语句的一般形式 137
7.1.2 for语句的其他形式 138
7.1.3 for语句应用举例 139
7.2 while语句 142
7.2.1 while语句的一般形式 143
7.2.2 while语句的特殊形式 143
7.2.3 while语句的使用规则 143
7.2.4 while语句应用举例 144
7.3 do-while语句 146
7.3.1 do-while语句的一般形式 146
7.3.2 do-while语句的使用规则 147
7.3.3 do-while语句应用举例 147
7.4 循环结构的嵌套 148
7.4.1 几种常用的循环嵌套形式 149
7.4.2 循环结构的嵌套的运行规则 150
7.4.3 循环结构嵌套应用举例 151
7.5 转移语句 152
7.5.1 break语句 152
7.5.2 continue语句 153
7.5.3 goto语句 154
7.6 综合示例 155
7.7 本章小结 159
第三部分 C语言重点知识篇第8章 数组 162
8.1 一维数组 162
8.1.1 一维数组的定义 162
8.1.2 一维数组初始化 163
8.1.3 一维数组元素的引用 164
8.1.4 一维数组应用举例 164
8.2 二维数组 168
8.2.1 二维数组的定义 168
8.2.2 二维数组初始化 169
8.2.3 二维数组元素的引用 170
8.2.4 二维数组应用举例 171
8.3 字符数组 175
8.3.1 字符数组的定义 176
8.3.2 字符数组初始化 176
8.3.3 字符数组的输出 177
8.3.4 字符数组的输入 178
8.3.5 字符串操作函数 180
8.3.6 字符数组应用举例 183
8.4 综合示例 185
8.5 本章小结 192
第9章 函数 193
9.1 函数的定义 193
9.2 函数的返回值 194
9.3 函数的声明 195
9.4 函数的调用 196
9.4.1 函数的调用格式 196
9.4.2 函数的调用方式 197
9.4.3 函数的嵌套调用 198
9.4.4 函数的递归调用 199
9.5 函数参数传递 203
9.5.1 函数的形式参数与实际参数 203
9.5.2 函数的参数传递 204
9.6 数组与函数 205
9.6.1 数组元素作为函数参数 205
9.6.2 一维数组名作为函数参数 206
9.6.3 二维数组名作为函数参数 208
9.7 变量的存储类别 210
9.7.1 动态存储与静态存储 210
9.7.2 全局变量与局部变量 211
9.8 全局变量 214
9.8.1 在函数外定义 214
9.8.2 extern变量——扩展变量的作用域 215
9.8.3 static变量——静态变量 218
9.9 局部变量 218
9.9.1 auto变量——自动变量 218
9.9.2 register变量——寄存器变量 219
9.9.3 static变量——静态局部变量 220
9.10 综合示例 222
9.11 本章小结 227
第10章 指针 228
10.1 地址和指针的概念 228
10.1.1 内存中数据的直接访问方式 228
10.1.2 内存中数据的间接访问方式 229
10.1.3 两种内存数据访问方式的举例 229
10.1.4 地址和指针的概念 230
10.2 变量的指针与指针变量 230
10.2.1 指针变量的定义 231
10.2.2 指针变量的引用 232
10.2.3 “&”和“*”运算符的结合方向 234
10.2.4 指针变量作为函数参数 235
10.3 数组与指针 239
10.3.1 指向数组元素的指针 240
10.3.2 通过指针引用数组元素 241
10.3.3 指针引用数组元素应用举例 242
10.3.4 使用指针变量时需注意的问题 244
10.3.5 指向数组的指针变量的运算 246
10.3.6 指向二维数组的指针变量 247
10.4 字符串与指针 250
10.4.1 用字符数组表示字符串 250
10.4.2 用字符指针表示字符串 251
10.4.3 表示字符串两种方法应用举例 252
10.4.4 字符串指针作函数参数 254
10.4.5 对使用字符指针变量和字符数组的讨论 256
10.5 指向函数的指针 259
10.5.1 用函数指针变量调用函数 259
10.5.2 用函数指针变量调用函数需注意问题 261
10.5.3 用指向函数的指针作函数参数 261
10.6 返回指针值的函数 264
10.7 指针数组和指向指针的指针 266
10.7.1 指针数组的概念 266
10.7.2 指向指针的指针 268
10.8 有关指针的数据类型和指针运算的小结 270
10.8.1 有关指针的数据类型的小结 270
10.8.2 指针运算小结 271
10.9 综合示例 272
10.10 本章小结 287
第11章 结构体与共用体 288
11.1 结构体变量 288
11.1.1 结构体变量定义的方法 289
11.1.2 结构体变量的初始化 292
11.1.3 结构体变量的引用 293
11.1.4 结构体变量的数据传递 295
11.1.5 用结构体构成链表 296
11.2 结构体数组 298
11.2.1 结构体数组的定义 298
11.2.2 结构体数组的初始化 299
11.3 结构体与指针 302
11.3.1 指向结构体变量的指针 302
11.3.2 指向结构体数组的指针 303
11.4 结构体指针与链表 304
11.4.1 链表概述 304
11.4.2 对链表的操作 306
11.4.3 建立链表 306
11.4.4 取链表中数据 310
11.4.5 插入数据 310
11.4.6 删除数据 312
11.4.7 清空链表 314
11.4.8 合并链表 314
11.5 共用体 316
11.5.1 共用体类型定义的方法 316
11.5.2 共用体变量的引用 319
11.6 枚举类型 321
11.7 用typedef定义类型 323
11.8 综合示例 324
11.9 本章小结 329
第四部分 数据结构篇 332
第12章 数据结构概论 332
12.1 基本概念 332
12.1.1 数据结构的定义 332
12.1.2 数据的逻辑结构 333
12.1.3 数据的存储结构 334
12.1.4 数据的运算结构 335
12.2 数据类型和抽象数据类型 336
12.2.1 数据类型 336
12.2.2 抽象数据类型 336
12.3 算法及算法分析 337
12.3.1 算法特性 337
12.3.2 算法描述 338
12.3.3 算法设计的要求 338
12.3.4 算法分析 338
12.4 本章小结 341
第13章 线性表 342
13.1 线性表基本概念 342
13.2 线性表的顺序存储结构 343
13.2.1 创建顺序表 345
13.2.2 操作顺序表 346
13.2.3 顺序表的插入操作 348
13.2.4 顺序表的删除操作 349
13.2.5 顺序表的综合案例 351
13.3 线性表的链式存储结构 352
13.3.1 创建链表 354
13.3.2 操作单链表 356
13.3.3 单链表的插入操作 358
13.3.4 单链表的删除操作 359
13.3.5 单链表的综合案例 361
13.3.6 循环链表 363
13.4 两种存储方式的比较 364
13.5 本章小结 364
第14章 栈 365
14.1 生活中的例子 365
14.2 栈的定义 365
14.3 栈的表示与实现 366
14.3.1 栈的表示 367
14.3.2 栈的操作 367
14.4 栈的应用 371
14.5 本章小结 374
第15章 队列 375
15.1 生活中的例子 375
15.2 队列的定义 376
15.3 队列的单链式表示与实现 377
15.3.1 链队列的定义 377
15.3.2 单链队列的操作 377
15.4 队列的循环链式表示与实现 382
15.4.1 循环队列的定义 382
15.4.2 循环队列的操作 383
15.5 本章小结 386
第16章 串 387
16.1 串的定义 387
16.2 串的定长顺序存储表示 388
16.2.1 串联接 388
16.2.2 求子串函数 391
16.2.3 求子串位置的定位函数 392
16.3 串的堆分配存储表示 394
16.3.1 串的操作 394
16.3.2 串的综合案例 397
16.4 本章小结 399
第17章 树与二叉树 400
17.1 树的基本知识 400
17.1.1 日常生活中的树 400
17.1.2 什么是树 401
17.1.3 树的基本术语 402
17.2 二叉树 403
17.2.1 二叉树的含义 403
17.2.2 两种特殊形态的二叉树 403
17.2.3 二叉树与树的比较 404
17.2.4 二叉树的存储结构 405
17.3 树的存储 406
17.3.1 双亲表示法 407
17.3.2 孩子表示法 408
17.3.3 孩子兄弟表示法 408
17.4 遍历二叉树 409
17.4.1 先序遍历 409
17.4.2 中序遍历 410
17.4.3 后序遍历 411