程序设计基础(第版)

本书以程序设计的分析问题和解决问题为重点,讲授在C/C语言环境下程序设计的解题思路、算法设计和程序实现,可帮助读者提高编程能力和上机解题能力。全书语言简洁,示例丰富,深入浅出地引导读者理性思维和理性实践,章节结构安排合理,教学方法引人入胜,便于读者自学。本书可作为高等院校计算机相关专业程序设计课程的教材,亦可供从事计算机、自动化及其他相关领域的科研技术人员参考。

目录

第1章绪论1

第2章编程准备4

2.1程序编写4

2.1.1用VisualC6.0编写程序4

2.1.2使用Dev-C开发程序8

2.2程序代码及说明14

2.3输出流对象cout15

2.4程序注释16

2.5算术运算符16

2.6数学函数17

2.7小结17

习题17

第3章代数思维与计算机解题19

3.1程序的基本结构19

3.2变量与数据类型21

3.2.1变量的基本概念21

3.2.2数据类型与变量的地址空间22

3.3定义变量和赋初值22

3.4变量赋值23

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

3.4.2变量赋值的5要素24

3.5指针变量25

3.5.1指针定义与初始化25

3.5.2指针赋值26

3.5.3在赋值语句中使用间接访问运算符26

3.6小结27

习题28

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

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

4.1.1关系运算符30

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

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

4.2枚举法的思路31

4.3循环结构33

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

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

4.3.3使用for循环解题实例34

4.3.4for循环的程序框图36

4.4分支结构36

4.4.1if语句的格式37

4.4.2分支结构的实例38

4.5任务4.1的程序框图39

4.6任务4.1的参考程序40

4.7逻辑问题及其解法41

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

4.7.2逻辑问题的解题思路43

4.7.3任务4.2的参考程序47

4.8小结48

课后阅读材料48

习题53

第5章函数思维与模块化设计55

5.1函数55

5.1.1函数的说明56

5.1.2函数的定义56

5.1.3函数的返回值56

5.1.4函数的调用57

5.1.5形式参数和实在参数57

5.1.6调用和返回58

5.1.7带自定义函数的程序设计58

5.2编程实例160

5.3编程实例261

5.4几种参数传递方式的比较63

5.5小结66

习题66

第6章数据的组织与处理(1)——数组69

6.1数组69

6.1.1一维数组的定义71

6.1.2数组初始化71

6.1.3字符数组的定义、初始化和赋值72

6.1.4数组与指针75

6.2筛法77

6.3线性查找与折半查找78

6.4冒泡排序法80

6.5递推82

6.5.1递推数列的定义82

6.5.2递推算法的程序实现83

6.6字符数组应用86

6.7函数跳转表91

6.8二维数组93

6.8.1二维数组的定义94

6.8.2二维数组的初始化95

6.8.3二维数组中的元素存放顺序95

6.9小结97

课后阅读材料98

习题102

第7章数据的组织与处理(2)——结构105

7.1结构与结构数组105

7.1.1结构体类型的定义105

7.1.2结构体变量的定义和引用106

7.1.3结构体变量的初始化107

7.1.4结构数组108

7.2指针和结构110

7.3链表111

7.3.1建立链表的过程112

7.3.2链表结点的插入与删除116

7.3.3循环链表124

7.4小结128

习题128

第8章数据的组织与处理(3)——文件130

8.1将数据保存到文件130

8.2从文件中读取数据132

8.3利用输入输出文件解交互类型的题135

8.4小结145

习题145

第9章递归思想与相应算法146

9.1递归及其实现146

9.2递归算法举例153

9.2.1计算组合数153

9.2.2快速排序154

9.2.3数字旋转方阵158

9.2.4下楼问题162

9.2.5跳马问题164

9.2.6分书问题166

9.2.7八皇后问题169

9.2.8青蛙过河172

9.3小结177

课外阅读材料177

习题181

第10章多步决策问题182

10.1多步决策问题的解题思路182

10.1.1人鬼渡河的任务与规则要点182

10.1.2人鬼渡河的安全性考虑183

10.1.3安全状态的描述183

10.2安全条件形式化184

10.3从状态图上研究怎样一步一步过河186

10.4多步决策问题的编程思路186

10.5小结189

习题189

第11章宽度优先搜索191

11.1骑士聚会问题191

11.2解题思路196

11.3小结202

习题203

第12章深度优先搜索204

12.1问题描述204

12.2解题思路205

12.3深度优先搜索与剪枝211

12.4小结216

习题216

第13章贪心法217

13.1贪心法解题的一般步骤217

13.1.1装船问题217

13.1.2事件序列问题220

13.1.3贪心法解题的一般步骤222

13.2贪心法相关理论223

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

13.2.2有向图最短路径的Dijkstra算法223

13.2.3贪心法解题的注意事项227

13.3小结228

习题228

第14章动态规划230

14.1最短路径问题230

14.1.1问题描述230

14.1.2分析与题解231

14.2动态规划的基本概念234

14.3动态规划思想235

14.4举例说明动态规划思路237

14.5小结244

习题244

第15章蒙特卡罗法246

15.1伪随机数的产生246

15.1.1产生随机整数246

15.1.2产生随机小数247

15.2伪随机数的应用248

15.2.1求π的近似值248

15.2.2计算图形面积249

15.3小结250

习题250

附录A程序调试251

A.1计分程序的调试251

A.1.1编译时的调试252

A.1.2运行时的调试254

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

A.2跳马程序的调试260

附录B库函数267

B.1数学函数267

B.2字符判断函数268

B.3字符串相关函数271

附录CASCII码表277

附录D输入输出的格式控制278

D.1流的概念与输入输出格式278

D.2改变整数的进制278

D.3设置浮点数的精度279

D.4设置输入输出宽度280

D.5设置对齐方式和填充字符281

D.6其他设置282

参考文献284


#现在前往

精选留言

程序设计,基础,第版
sample
2020-08-12
写留言
签到
投稿
QQ咨询
返回顶部