第1章 C语言概述 3
1.1 C语言及其特点 3
1.1.1 C语言的发展简史 3
第一部分 C程序设计 3
1.1.2 C语言的特点 4
1.2 C语言源程序介绍 5
1.2.1 简单的C程序介绍 5
1.2.2 较复杂的C程序介绍 8
1.3 C语言源程序的基本结构 16
1.4 C程序的编辑、编译、链接和运行 18
1.4.1 Turbo C 2.0集成开发环境简介 19
1.4.2 上机调试C程序的一般步骤 20
本章小结 22
习题一 23
2.1 字符集 24
第2章 基本数据类型及其运算 24
2.2 标识符 25
2.3 基本数据类型及其分类 25
2.4 常量 26
2.4.1 数值型常量 27
2.4.2 字符型常量 28
2.4.3 符号常量 29
2.5 变量 29
2.5.1 变量说明 30
2.5.2 变量类型 30
2.5.3 变量赋初值 34
2.6 运算符和表达式 34
2.6.1 运算符与表达式 35
2.6.2 算术运算符及其表达式 36
2.6.3 关系运算符及其表达式 37
2.6.4 逻辑运算符及其表达式 38
2.6.5 赋值运算符及其表达式 39
2.6.6 其他运算符及其表达式 40
2.6.7 不同类型数据间的转换 43
本章小结 44
习题二 44
第3章 结构化程序设计 47
3.1 算法 47
3.1.1 算法的基本概念 47
3.1.2 算法的特性 48
3.1.3 算法的描述 48
3.1.4 基本算法 53
3.2 程序设计的三种基本结构 54
3.2.1 C语言的基本语句 55
3.2.2 顺序结构 56
3.2.3 分支结构 66
3.2.4 循环结构 79
本章小结 95
习题三 96
第4章 函数 99
4.1 函数的定义与声明 99
4.1.1 函数的概念 99
4.1.2 函数的定义 100
4.1.3 函数的声明 102
4.1.4 函数参数和函数的返回值 103
4.2 函数的调用 104
4.2.1 函数调用的一般形式 105
4.2.2 函数的传值调用 106
4.2.3 函数的嵌套调用 108
4.2.4 函数的递归调用 109
4.3 变量的存储类别 112
4.3.1 局部变量和全局变量 112
4.3.2 变量的存储类别 114
4.3.3 存储类别小结 118
4.4 内部函数与外部函数 119
4.4.1 内部函数 119
4.4.2 外部函数 119
4.5 编译预处理 120
4.5.1 宏定义 120
4.5.2 文件包含 122
4.5.3 条件编译 123
本章小结 124
习题四 124
第5章 数组 127
5.1 一维数组 127
5.1.1 数组的概念 127
5.1.2 一维数组的定义 128
5.1.3 一维数组元素的引用 129
5.1.4 一维数组的初始化 130
5.1.5 一维数组应用举例 132
5.1.6 数组作函数参数 136
5.2 二维数组 139
5.2.1 二维数组的定义和引用 139
5.2.2 二维数组的初始化 140
5.2.3 二维数组应用举例 141
5.3 字符数组 144
5.3.1 字符数组的定义 144
5.3.2 字符数组的初始化 145
5.3.3 字符串的输入和输出 146
5.3.4 常用字符串处理函数 147
5.3.5 字符数组应用举例 149
本章小结 152
习题五 153
6.1.1 结构体的概念 156
6.1 结构体类型 156
第6章 结构体和共用体 156
6.1.2 结构体类型变量的定义 157
6.1.3 结构体变量的引用 159
6.1.4 结构体变量的初始化 160
6.1.5 结构体数组 161
6.1.6 结构体与函数 164
6.2 共用体类型 166
6.2.1 共用体的概念 166
6.2.2 共用体类型变量的定义 166
6.2.3 共用体变量的引用 167
6.2.4 共用体数据的特点 167
6.3 枚举类型 169
6.3.1 枚举类型的定义 169
6.3.2 枚举类型的引用 170
6.3.3 枚举类型应用举例 171
6.4 用typedef定义类型 172
本章小结 174
习题六 174
第7章 指针 176
7.1 指针的概念 176
7.2 指针与变量 177
7.2.1 指针变量的定义 178
7.2.2 指针变量的引用 178
7.2.3 指针变量的运算 180
7.3 指针与数组 181
7.3.1 指向一维数组的指针 181
7.3.2 通过指针引用数组元素 182
7.3.3 指向二维数组的指针 185
7.3.4 指向字符串的指针 187
7.3.5 指向结构体的指针 189
7.4 指针与函数 191
7.4.1 指针作为函数的参数 192
7.4.2 指向函数的指针 196
7.4.3 返回指针值的函数 199
7.5 指针数组和指向指针的指针 200
7.5.1 指针数组 200
7.5.2 指向指针的指针 202
7.5.3 main()函数的参数 203
7.5.4 void指针类型 204
7.5.5 动态分配内存的函数 204
7.6 指针类型小结与应用举例 205
7.6.1 指针类型小结 205
7.6.2 指针类型应用举例 206
本章小结 209
习题七 209
8.1 C文件的概述 211
第8章 文件 211
8.2 文件类型指针 212
8.3 文件的打开与关闭 213
8.3.1 文件的打开 213
8.3.2 文件的关闭 214
8.4 文件的顺序读/写 215
8.4.1 文件的字符输入/输出 215
8.4.2 文件的字符串输入/输出 217
8.4.3 文件的数据块输入/输出 218
8.4.4 文件的格式化输入/输出 221
8.5 文件的定位和随机读/写 222
8.6 文件的出错检测 225
本章小结 225
习题八 226
9.1.1 数据结构的相关概念 229
9.1 数据结构与算法概述 229
第二部分 软件基础 229
第9章 数据结构与算法基础 229
9.1.2 算法评价 232
9.1.3 算法分类 234
9.2 线性表 234
9.2.1 线性表的定义及其运算 234
9.2.2 线性表的顺序存储结构 235
9.2.3 线性表的链式存储结构 239
9.2.4 线性表的应用 243
9.3 栈和队列 244
9.3.1 栈的定义及其运算 244
9.3.2 栈的存储结构 245
9.3.3 栈的应用 248
9.3.4 队列的定义及其运算 249
9.3.5 队列的存储结构 250
9.4 树和二叉树 253
9.3.6 队列的应用 253
9.4.1 树的定义及其存储结构 254
9.4.2 二叉树 255
9.4.3 二叉树的遍历 258
9.4.4 二叉树的应用 259
9.5 图 260
9.5.1 图的定义及其基本操作 261
9.5.2 图的存储结构 262
9.5.3 图的遍历 264
9.5.4 最短路径 267
9.6 排序 268
9.6.1 排序的基本概念 268
9.6.2 插入排序 269
9.6.3 交换排序 270
9.6.4 选择排序 272
9.6.6 内部排序方法小结 273
9.6.5 归并排序 273
9.7 查找 274
9.7.1 查找的基本概念 274
9.7.2 线性表的查找 274
9.7.3 二叉排序树的查找 276
9.7.4 哈希表技术及其查找 278
本章小结 279
习题九 280
第10章 软件工程基础 282
10.1 软件工程概述 282
10.1.1 软件的基本概念 282
10.1.2 软件危机 282
10.1.3 软件工程的定义 283
10.1.4 软件生存周期的概念 283
10.2.2 可行性研究 284
10.2.1 问题定义 284
10.2 软件生存周期 284
10.2.3 需求分析 285
10.2.4 总体设计 287
10.2.5 详细设计 288
10.2.6 编码 290
10.2.7 软件测试 290
10.2.8 软件维护 295
10.3 软件开发模型 296
10.3.1 瀑布模型 296
10.3.2 原型方法 297
10.3.3 螺旋模型 298
10.3.4 面向对象方法 298
本章小结 299
习题十 299
11.1.1 结构化程序设计的原则 301
11.1 结构化程序设计 301
第11章 程序设计概论 301
11.1.2 结构化程序设计的基本结构及其特点 302
11.1.3 结构化程序设计的局限性 303
11.2 面向对象程序设计 304
11.2.1 面向对象技术的基本概念 304
11.2.2 面向对象的软件开发方法 307
11.2.3 面向对象技术的特点 308
11.2.4 面向对象程序设计语言 309
本章小结 311
习题十一 311
第12章 C++语言简介 312
12.1 C++语言概述 312
12.1.1 对C语言的全面兼容 313
12.1.2 对面向对象的全面支持 313
12.2 类 313
12.2.1 类的声明 314
12.2.2 数据成员和成员函数 316
12.2.3构 造函数和析构函数 318
12.3 对象 319
12.3.1 对象的定义 319
12.3.2 对象成员的引用 320
12.3.3 对象赋值语句 321
12.4 类和对象的简单应用举例 321
本章小结 323
习题十二 324
附录 326
附录Ⅰ 常用字符与ASCII码对照表 326
附录Ⅱ ANSIC规定的保留字 327
附录Ⅲ C语言运算符的优先级和结合性 328
附录Ⅳ 常用标准库函数 329
附录Ⅴ Turbo C 2.0编译出错信息表 333
参考文献 342