《程序设计基础》PDF下载

  • 购买积分:10 如何计算积分?
  • 作  者:张强主编
  • 出 版 社:北京:北京航空航天大学出版社
  • 出版年份:2008
  • ISBN:7811242834
  • 页数:208 页
图书介绍:本书以实际案例的分析和求解为主线,以C语言作为描述工具,串联起程序设计的各个方面。为避免传统教材和教学方法中“重理论、轻实践”的弊端,同时为培养学生对实际问题的分析、理解和求解的能力,本书将阐释求解问题的技术作为核心内容,逐步介绍了问题的起源与分类、求解问题的方法与技术,并始终强调在流程图、伪代码和C语言3种算法表示方式间的对比和转化,使学生通过本课程的学习真正形成“以问题为中心”的思想。

第1章 计算机与程序 1

1.1 计算机的基本结构与工作原理 1

1.1.1 计算机硬件的基本结构 1

1.1.2 计算机的工作原理 3

1.2 计算机程序 5

1.2.1 计算机程序的定义 5

1.2.2 计算机程序的执行过程 6

1.2.3 程序与程序设计语言 7

1.3 程序设计及其目标 8

1.3.1 为什么使用计算机 8

1.3.2 计算机可以做什么 9

1.3.3 问题求解过程 11

思考与练习 13

第2章 算法及其描述 14

2.1 算法 14

2.1.1 什么是算法 14

2.1.2 算法的描述 15

2.1.3 算法设计举例 16

2.2 流程图 17

2.2.1 流程图及其分类 17

2.2.2 用流程图描述算法 18

2.2.3 流程图应用举例 20

2.3 伪代码 20

2.3.1 伪代码及其分类 21

2.3.2 用伪代码描述算法 23

2.3.3 伪代码应用举例 23

2.4 算法举例 24

2.4.1 问题分析 25

2.4.2 算法设计 26

2.4.3 用流程图和伪代码描述算法 26

2.5 实训一:用流程图和伪代码描述算法 27

思考与练习 27

第3章 程序设计语言基础 28

3.1 程序设计语言的用途 28

3.1.1 作为描述算法的工具 28

3.1.2 作为人—机交互的工具 29

3.1.3 作为人—人交流的工具 29

3.2 程序设计语言的演变 29

3.2.1 程序设计语言的历史 30

3.2.2 程序设计方法的演变 33

3.3 C语言基础 37

3.3.1 C语言的特点 37

3.3.2 C语言程序基本结构 38

3.3.3 C语言程序基本语法 39

3.4 C语言编程环境 39

3.4.1 程序设计过程与开发工具 39

3.4.2 TC 2.0开发环境简介 40

3.4.3 在TC 2.0中编写C语言程序 43

3.5 实训二:TC 2.0开发环境的使用 46

思考与练习 50

第4章 数据的输入与输出 51

4.1 数据输出方法 51

4.1.1 输出到屏幕 51

4.1.2 输出到文件 54

4.2 数据输入方法 54

4.2.1 从键盘输入 54

4.2.2 从文件输入 56

4.3 输入/输出设计 57

4.3.1 输入设计举例 57

4.3.2 输出设计举例 58

4.4 实训三:输入/输出设计 61

思考与练习 63

第5章 数据的存储与处理 64

5.1 数据和变量 64

5.1.1 数据的表示 64

5.1.2 数据类型 65

5.1.3 常量和变量 69

5.1.4 变量的声明和使用 71

5.1.5 数据在内存中的存储和使用 71

5.2 运算符与表达式 72

5.2.1 运算符概述 72

5.2.2 算术运算符与算术表达式 72

5.2.3 赋值运算符 74

5.2.4 关系运算符与逻辑运算符 74

5.2.5 表达式与语句 75

5.3 实训四:基本运算与表达式 77

思考与练习 77

第6章 流程和逻辑控制 80

6.1 基本程序结构 80

6.1.1 顺序结构 81

6.1.2 分支结构 82

6.1.3 循环结构 82

6.2 分支结构 83

6.2.1 分支结构的逻辑 84

6.2.2 分支结构的实现 85

6.2.3 分支结构举例 86

6.3 循环结构 87

6.3.1 循环结构的逻辑 87

6.3.2 循环结构的实现 89

6.3.3 循环结构举例 90

6.4 算法的流程设计 91

6.4.1 问题的提出 91

6.4.2 问题分析与算法设计 91

6.4.3 程序流程分析与设计 91

6.5 实训五:算法的流程设计 94

思考与练习 95

第7章 数据组织形式 97

7.1 构造数据类型 97

7.1.1 数组的声明与引用 97

7.1.2 指针的声明与引用 99

7.1.3 结构的声明与引用 101

7.1.4 枚举的声明与引用 103

7.2 常见数据存储结构 104

7.2.1 数组及其应用 104

7.2.2 指针及其应用 108

7.2.3 链表及其应用 109

7.2.4 堆栈及其应用 113

7.3 数据存储与处理的设计 115

7.3.1 问题的提出 115

7.3.2 问题分析与存储结构设计 115

7.3.3 关于效率的进一步讨论 116

7.4 实训六:数据组织形式的设计 118

思考与练习 118

第8章 编写高效的程序 120

8.1 如何评价程序运行的效率 120

8.1.1 影响程序运行效率的因素 120

8.1.2 算法的时间消耗 121

8.1.3 算法的空间消耗 122

8.2 流程如何减少时间和空间的消耗 122

8.2.1 减少时间消耗的方法 122

8.2.2 减少空间消耗的方法 124

8.3 通过改进算法提高效率 125

8.3.1 对问题的再分析 125

8.3.2 算法的改进 125

8.3.3 进一步改进的思路 126

8.4 综合案例的设计 127

8.4.1 案例的背景说明 127

8.4.2 系统设计 128

8.5 实训七:改进算法提高效率 129

思考与练习 129

第9章 问题求解方法 130

9.1 问题求解的一般步骤 130

9.1.1 问题的分类 130

9.1.2 问题求解的步骤 131

9.2 通用算法 131

9.2.1 穷举法与归纳法 131

9.2.2 递推法与递归法 134

9.2.3 其他方法 135

9.3 案例举例与分析 140

9.3.1 常见数值类问题的求解 140

9.3.2 常见非数值类问题的求解 140

9.3.3 综合案例的设计 141

9.4 实训八:设计算法求解数值类问题 145

9.5 实训九:设计算法求解非数值问题 146

思考与练习 146

第10章 C语言进阶 147

10.1 指针 147

10.1.1 间接运算符 147

10.1.2 指针的声明和使用 148

10.2 字符串 149

10.2.1 字符数组 149

10.2.2 指针与字符数组 151

10.3 函数进阶 152

10.3.1 编写函数 152

10.3.2 编写和使用一个简单的函数 153

10.3.3 函数的指针 155

10.4 实训十:字符串操作 161

思考与练习 161

第11章 大型程序开发 162

11.1 程序的风格 162

11.1.1 逻辑风格 162

11.1.2 正文 164

11.1.3 输入/输出 167

11.2 大型程序开发方法 167

11.2.1 标识符的连接属性 167

11.2.2 头文件的定义与使用 171

11.2.3 条件编译 172

11.3 程序项目管理器 173

11.3.1 一个程序项目的开发步骤 173

11.3.2 程序项目管理器的使用技巧 174

11.4 使用集成动态调试工具 174

11.4.1 概述 175

11.4.2 步进执行 176

11.4.3 设置断点 177

11.5 实训十一:构造大型程序 178

思考与练习 178

第12章 常见应用领域 179

12.1 用户界面与图形程序设计 179

12.1.1 文本模式下的用户界面设计 179

12.1.2 图形用户界面设计 182

12.1.3 用户界面设计总结 187

12.2 磁盘与文件管理 187

12.2.1 文件的概念 187

12.2.2 缓冲文件系统 188

12.2.3 文件的打开与关闭 188

12.2.4 文件的读写 190

12.2.5 磁盘与文件总结 191

12.3 实训十二:磁盘与文件操作 191

思考与练习 191

附录一:ASCII字元表 192

附录二:TC 2.0关键字 193

附录三:TC 2.0运算符 195

附录四:TC 2.0库函数 196

附录五:TC 2.0常见错误信息 205