《程序设计基础》PDF下载

  • 购买积分:11 如何计算积分?
  • 作  者:石峰编著
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2003
  • ISBN:730207397X
  • 页数:263 页
图书介绍:本书从程序设计的一般过程与方法出发,以C++语言为媒介,重点介绍了结构化程序设计与面向对象程序设计的基础知识。本书适合作为计算机及相关专业“程序设计”课程的教材,也可供从事软件开发和应用的广大科技人员参考。

第1章 绪论 1

第2章 编程准备 4

2.1 程序编写 4

2.2 程序代码及说明 7

2.3 输出流对象cout 8

2.4 输入流对象cin 9

2.5 程序注释 9

2.6 算术运算符 10

2.7 数学函数 10

2.8 小结 11

习题 12

第3章 变量、代数与计算机解题 13

3.1 程序的基本结构 13

3.2 变量与数据类型 15

3.2.1 变量的基本概念 15

3.2.2 数据类型 15

3.3 定义变量和赋初值 16

3.4 变量赋值 16

3.4.1 赋值符号与赋值表达式 16

3.4.2 变量赋值的5要素 16

习题 17

3.5 小结 17

第4章 逻辑思维与计算机解题 18

4.1 关系运算和关系表达式 19

4.1.1 关系运算符 19

4.1.2 关系表达式的一般格式 19

4.1.3 将“是”“否”写成关系表达式 20

4.2 枚举法的思路 21

4.3 循环结构 22

4.3.1 使用循环结构的部分程序 22

4.3.2 for语句的格式和执行过程 22

4.3.3 使用for循环解题实例 23

4.3.4 for循环的程序框图 25

4.4 分支结构 26

4.4.1 if语句的格式 26

4.4.2 分支结构的实例 27

4.5 任务4.1 的程序框图 28

4.6 任务4.1 的参考程序 29

4.7 逻辑问题及其解法 31

4.7.1 逻辑运算符与逻辑表达式 31

4.7.2 逻辑问题的解题思路 32

4.7.3 任务4.2 的参考程序 37

4.8 小结 40

习题 41

5.1 数组 42

第5章 数据组织、筛选与排序问题的解题思路 42

5.1.1 一维数组的定义 44

5.1.2 数组初始化 44

5.2 筛法 45

5.3 冒泡排序法 48

5.4 结构与结构数组 51

5.4.1 结构体类型的定义 51

5.4.2 结构体变量的定义和引用 51

5.4.3 结构体变量的初始化 53

5.4 4结构数组 54

5.5 二维数组 56

5.5.1 二维数组的定义 57

5.5.2 二维数组的初始化 57

5.5.3 二维数组中的元素存放顺序 57

5.6 小结 60

习题 60

第6章 函数、递推、递归 62

6.1 函数 62

6.1.1 函数的说明 63

6.1.2 函数的定义 63

6.1.3 函数的返回值 64

6.1.4 函数的调用 64

6.1.6 调用和返回 65

6.1.5 形式参数和实在参数 65

6.1.7 带自定义函数的程序设计 66

6.1.8 编程实例 68

6.2 递推 69

6.2.1 递推数列的定义 71

6.2.2 递推算法的程序实现 72

6.3 递归及其实现 73

6.4 递归算法举例 80

6.4.1 计算组合数C(m,n) 80

6.4.2 青蛙过河 81

6.4.3 快速排序 85

6.4.4 分书问题 90

6.4.5 下楼问题 93

6.4.6 八皇后问题 96

6.4.7 跳马问题 99

6.4.8 数字旋转方阵 101

6.5 小结 105

习题 105

第7章 指针 111

7.1 指针的概念 111

7.1.1 指针定义与初始化 112

7.1.2 指针赋值 112

7.1.3 在赋值语句中使用间接访问运算符 114

7.2.1 用数组名给指针赋值 115

7.2 指针与数组 115

7.2.2 数组名是一个常量指针 116

7.2.3 编程实例 117

7.2.4 指针数组 119

7.3 字符串及其处理 122

7.3.1 字符数组的定义和初始化 122

7.3.2 字符数组元素的赋值 124

7.3.3 字符判断函数 125

7.3.4 字符串相关函数 125

7.3.5 字符串应用举例 126

7.4.1 函数返回指针 128

7.4 指针与函数 128

7.4.2 指向函数的指针 130

7.5 指针和结构 133

7.6 指针与结构数组 135

7.7 引用的概念及应用 138

7.8 利用引用来传递参数 139

7.9 几种参数传递方式的比较 140

7.1 0小结 144

习题 145

8.1 伪随机数的产生 150

8.1.1 产生随机整数 150

第8章 蒙特卡罗法 150

8.1.2 产生随机小数 151

8.2 伪随机数的应用 152

8.2.1 求π的近似值 152

8.2.2 计算图形面积 153

8.3 小结 155

习题 155

第9章 贪心法 156

9.1 贪心法解题的一般步骤 156

9.1.1 事件序列问题 156

9.1.2 区间覆盖问题 159

9.1.3 贪心法解题的一般步骤 162

9.2 贪心法相关理论 163

9.2.1 多阶段决策问题、无后向性与最优化原理 163

9.2.2 有向图最短路径的Dijkstra算法 163

9.2.3 贪心法解题的注意事项 167

9.3 小结 169

习题 169

第10章 动态规划 170

10.1 石子合并问题 170

10.1.1 问题描述 170

10.1.2 分析与解题 171

10.2 用动态规划方法解题 177

10.2.1 适用条件和相关概念 177

10.1.3 动态规划思想 177

10.2.2 背包问题 178

10.2.3 生产计划问题 180

10.2.4 最长公共子序列 183

10.2.5 最佳旅行路线 186

10.3 小结 191

习题 191

第11章 链表 193

11.1 举例说明链表的概念 193

11.2 建立链表的过程 194

11.3.1 链表结点的插入 198

11.3 链表结点的插入与删除 198

11.3.2 链表结点的删除 204

11.4 循环链表 207

11.5 小结 210

习题 211

第12章 二叉树 213

12.1 基本概念 213

12.2 二叉树的遍历 214

12.3 二叉树的建立 215

12.4 小结 218

习题 218

13.1.1 流的概念与输入输出格式 219

第13章 流与文件 219

13.1 流 219

13.1.2 改变整数的进制 220

13.1.3 设置浮点数的精度 221

13.1.4 设置输入输出宽度 222

13.1.5 设置对齐方式和填充字符 223

13.1.6 其他设置 224

13.2 文件 225

13.2.1 将数据保存到文件 225

13.2.2 从文件中读取数据 227

习题 231

13.3 小结 231

附录A 程序调试 233

A.1计分程序的调试 233

A.1.1 编译时的调试 235

A.1.2 运行时的调试 236

A.1.3 其他调试相关知识 242

A.2跳马程序的调试 243

附录B 库函数 250

B.1 数学函数 250

B.2 字符判断函数 252

B.3 字符串相关函数 255

参考文献 263