前言 1
第1章 概论 1
1.1 计算机软件及其发展 1
1.1.1 程序设计语言的发展 1
出版说明 1
1.1.2 操作系统的形成和发展 2
1.2 程序结构和效率 3
1.2.1 程序的一般结构 3
1.2.2 算法和程序的效率 5
1.3 习题 9
2.1.1 C语言的特点 12
第2章 简单程序设计 12
2.1 C语言基础 12
2.1.2 基本语法成分 14
2.1.3 基本数据类型 16
2.2 表达式 19
2.2.1 运算符的优先级与结合性 19
2.2.2 算术表达式 20
2.2.3 赋值表达式和赋值语句 22
2.2.4 逗号表达式 24
2.2.5 关系表达式 24
2.2.6 逻辑表达式 25
2.2.7 条件表达式 26
2.3 基本输入/输出 26
2.3.1 getchar函数和putchar函数 27
2.3.2 格式输出函数printf 27
2.3.3 格式输入函数scanf 29
2.4 分支程序设计 32
2.4.1 if语句 32
2.4.2 switch语句 34
2.4.3 应用举例 36
2.5.1 while语句 37
2.5 循环程序设计 37
2.5.2 do-while语句 38
2.5.3 for语句 39
2.5.4 多重循环 40
2.5.5 break语句和continue语句 41
2.5.6 goto语句和空语句 42
2.6 习题 43
第3章 数组和指针类型 57
3.1 一维数组 57
3.1.1 定义方式和引用方式 57
3.1.2 应用举例 59
3.2.1 定义方式和引用方式 61
3.2 二维数组 61
3.2.2 应用举例 63
3.3 字符数组 64
3.3.1 定义方式和引用方式 64
3.3.2 字符串的输入和输出 66
3.3.3 应用举例 67
3.4 指针 68
3.4.1 指针变量的定义和引用 68
3.4.2 指向一维数组的指针 71
3.4.3 指向字符串的指针 74
3.4.4 指针数组 76
3.5 习题 78
第4章 函数和文件 92
4.1 函数的定义和调用 92
4.1.1 有关概念 92
4.1.2 函数定义方式 93
4.1.3 函数调用方式 94
4.1.4 函数的返回和返回值 96
4.2 函数的嵌套调用与递归调用 98
4.2.1 函数的嵌套调用 98
4.2.2 函数的递归调用 99
4.3.1 数组作函数形参 103
4.3 数组、指针和引用作函数形参 103
4.3.2 指针作函数形参 104
4.3.3 引用作函数形参 106
4.4 变量的作用域和属性 107
4.4.1 变量的作用域 107
4.4.2 变量的存储属性和修饰属性 109
4.4.3 内部函数和外部函数 113
4.4.4 存储属性小结 115
4.5 编译预处理 116
4.5.1 文件包含命令 116
4.5.2 宏定义命令 117
4.5.3 条件编译命令 119
4.6 文件数据的读写 121
4.6.1 文件的打开和关闭 121
4.6.2 文件的读写操作 125
4.6.3 文件的定位与测试操作 129
4.7 习题 132
第5章 位运算和构造类型 151
5.1 位运算 151
5.1.1 逻辑位运算 151
5.1.2 移位运算 153
5.2 结构类型 154
5.2.1 定义和引用方式 154
5.2.2 typedef的用法 157
5.3 联合类型 160
5.4 枚举类型 161
5.5 习题 165
第6章 表结构 172
6.1 顺序表 172
6.1.1 表结构及存储方法 172
6.1.2 顺序表的插入和删除 173
6.1.3 顺序表的查找 175
6.2 栈结构和队结构 177
6.2.1 栈和队的运算 177
6.2.2 栈的应用 183
6.3.1 链表的概念和种类 185
6.3 链表的基本操作 185
6.3.2 基本的链操作 187
6.3.3 链表的构造和输出 190
6.4 链表的查找、插入和删除 193
6.4.1 链表的查找 193
6.4.2 链表的插入 194
6.4.3 链表的删除 195
6.5 双向链表和静态链表 195
6.5.1 双向链表 195
6.5.2 静态链表 197
6.6.1 散列函数 200
6.6 散列表 200
6.6.2 散列表的构造和查找 202
6.7 矩阵运算 205
6.7.1 矩阵的存储 205
6.7.2 矩阵运算示例 209
6.8 字符串 211
6.8.1 字符串及其存储结构 211
6.8.2 模式匹配的实现 213
6.9 习题 216
7.1 树的概念 229
7.1.1 有关定义和术语 229
第7章 树结构 229
7.1.2 二叉树 232
7.1.3 普通树、森林和二叉树的相互转换 235
7.2 二叉树的遍历 237
7.2.1 遍历算法 237
7.2.2 遍历序列的性质 240
7.2.3 遍历的应用 243
7.3 二叉树的构造 244
7.3.1 用先序序列和中序序列构造二叉树 244
7.3.2 用扩充先序序列构造二叉树 245
7.4.1 检索树的查找算法 246
7.4 检索树 246
7.4.2 检索树的插入和构造 247
7.4.3 检索树的删除 249
7.5 哈夫曼树 253
7.5.1 哈夫曼算法 253
7.5.2 哈夫曼树的构造和应用 254
7.6 习题 256
第8章 图结构 264
8.1 基本概念 264
8.1.1 图的定义和种类 264
8.1.2 有关术语 265
8.2.1 邻接矩阵 267
8.2 图的存储方法 267
8.2.2 顶点集合的存储表示 269
8.2.3 邻接矩阵的顺序存储 269
8.2.4 邻接表 270
8.3 图的遍历 272
8.3.1 先深搜索 272
8.3.2 先广搜索 274
8.4 最小生成树和最短路径 276
8.4.1 Kruskal算法 276
8.4.2 Prim算法 278
8.4.3 Dijkstra算法 280
8.5 习题 283
第9章 排序 290
9.1 选择排序 290
9.1.1 基本排序方法 290
9.1.2 直接选择排序 291
9.1.3 堆排序 292
9.2 插入排序 297
9.2.1 直接插入排序 297
9.2.2 二分插入排序 299
9.3.1 冒泡排序 300
9.3 交换排序 300
9.3.2 快速排序 302
9.4 习题 305
附录 311
附录A 字符的ASCⅡ码表 311
附录B 常用库函数表 312
附录C 上机操作方法 316
C.1 运行C程序的一般步骤 316
C.2 Turbo C 2.0上机操作方法 316
C.3 Visual C++6.0上机操作方法 319
附录D 部分习题参考答案 325
参考文献 334
- 《计算机程序设计基础》赵宏主编 2005
- 《计算机应用与程序设计基础》孙鑫鸽主编;孙小玲等编著 2004
- 《大学计算机基础》钮各荣 2016
- 《Visual Basic程序设计基础 含计算机基础》阙向红主编 2015
- 《Python程序设计基础》鲁凌云等编著 2019
- 《计算机基础与程序设计》曲俊华,林碧英主编 1999
- 《经济学博士编著经济基础理论及相关知识资格考试应试指导中级》 2222
- 《计算机程序设计基础辅导与实验教程》赵宏主编;吴文虎主审 2005
- 《计算机程序设计基础》熊壮主编 2005
- 《计算机程序设计基础》赵宏主编 2005
- 《数据结构与算法基础》王庆瑞,陈卫卫编著 2005
- 《计算机程序设计基础》陈卫卫,王庆瑞编著 2007
- 《C/C++程序设计技术》陈卫卫,王庆瑞编著 2008
- 《数据结构与算法入门》王庆瑞,陈卫卫编著 2000
- 《C/C++程序设计》陈卫卫,王庆瑞编著 2013
- 《C/C++程序设计》陈卫卫,王庆瑞编著 2019
- 《数据结构与算法》陈卫卫,王庆瑞编著 2010
- 《数据结构与算法 第2版》陈卫卫,王庆瑞编著 2015
- 《PASCAL程序设计实践》陈卫卫等编著 2000
- 《计算机基础教程》陈卫卫,赖蓉编著 2003
- 《北京志 工业卷 机械工业志 农机工业志》北京市地方志编纂委员会编 2001
- 《机械工业和机械图书的出版发行 机械工业出版社发行培训教材》陈慧毅,杨少晨编 1988
- 《冷冲模设计》赵孟栋主编 2006
- 《机械工业出版社》慕拉维叶夫著;孔庆复译 1959
- 《北京市立高级工业职业学校机械科毕业学生韩丕纯分数表/韩丕纯毕业证书》 1949
- 《中等职业教育机电类规划教材 机械工业出版社精品教材 机械设计基础 第2版》机械职业教育基础课教学指导委员会机械设计学科组组编;柴鹏飞主编 2006
- 《集知播识春秋录 机械工业出版社 1952-1988.机械科学技术情报研究所 1958-1988》机械科技情报研究所,机械工业出版社编 1988
- 《电线电缆》上海市电缆研究所编 1975
- 《FoxBASE+ 三周通》文忠等编著 1995
- 《FoxBASE+实验指导书》李爱华,王建诚编 1994