《程序设计基础》PDF下载

  • 购买积分:13 如何计算积分?
  • 作  者:石峰,计卫星,刘彩霞编著
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2010
  • ISBN:9787302218548
  • 页数:364 页
图书介绍:本书从程序设计的一般过程与方法出发,以C++语言为媒介,重点介绍结构化程序设计与面向对象程序设计的基础知识。内容包括三方面:程序设计概论与基础、结构化程序设计原理、面向对象程序设计原理。

第1章 程序设计概论 1

1.1 问题求解 1

1.1.1 思维与语言 1

1.1.2 算法 3

1.1.3 数据结构 5

1.1.4 程序 7

1.1.5 程序设计的一般过程 7

1.2 程序设计语言 8

1.2.1 发展历史 8

1.2.2 程序设计语言的实现 12

1.2.3 高级语言程序基本结构 14

1.2.4 高级语言的语法规则 17

1.2.5 程序的编辑、编译和运行 23

1.3 程序设计范式的演化 25

1.3.1 结构化程序设计 25

1.3.2 函数式程序设计 26

1.3.3 面向对象程序设计 27

1.3.4 事件驱动的程序设计 28

1.3.5 逻辑式程序设计 28

习题1 30

第2章 算法设计基础 34

2.1 算法的描述 34

2.1.1 自然语言方式 34

2.1.2 伪代码方式 35

2.1.3 程序流程图方式 37

2.1.4 PAD图方式 39

2.2 结构化算法设计初步 40

2.2.1 算法描述 40

2.2.2 算法设计 42

2.3 算法的计算复杂性 47

2.4 常用算法设计策略 48

2.4.1 分治法 48

2.4.2 递归技术 49

2.4.3 贪心法 50

2.4.4 回溯法 51

习题2 52

第3章 基本数据类型 54

3.1 数据对象 54

3.1.1 数据的存储 55

3.1.2 生存期与值 55

3.2 基本数据类型 56

3.2.1 整型与浮点型 57

3.2.2 字符类型 58

3.2.3 逻辑型 58

3.2.4 空值型 58

3.3 变量与常量 59

3.3.1 常量 59

3.3.2 变量 61

3.4 指针类型 62

3.4.1 指针定义 62

3.4.2 指针的初始化 63

3.4.3 指针运算 64

3.4.4 指针与常量 65

3.5 引用类型 66

3.6 类型的意义 67

习题3 67

第4章 操作及其控制 70

4.1 基本操作与运算符 70

4.1.1 赋值操作 70

4.1.2 算术操作 70

4.1.3 增1(减1)操作 71

4.1.4 关系、逻辑操作 71

4.1.5 条件运算符 71

4.2 表达式 72

4.2.1 隐含类型转换 72

4.2.2 强制类型转换 73

4.2.3 表达式内的顺序控制 73

4.2.4 运算符的优先级 74

4.2.5 运算符的结合性 74

4.3 语句 75

4.3.1 表达式语句 75

4.3.2 语句间顺序控制 76

4.3.3 复合语句 76

4.3.4 选择语句 76

4.3.5 循环语句 80

4.3.6 直接顺序控制 85

4.4 预处理指令 87

4.4.1 文件包含指令 88

4.4.2 宏定义指令 88

4.4.3 条件编译指令 91

习题4 94

第5章 函数与数据控制 103

5.1 函数定义与说明 103

5.1.1 函数定义 103

5.1.2 函数说明 104

5.1.3 函数的简单调用 106

5.1.4 函数的重载 106

5.2 数据控制 108

5.2.1 参数传递机制 108

5.2.2 数据对象的引用 112

5.2.3 作用域 114

5.3 函数的顺序控制 119

5.3.1 函数执行模型 119

5.3.2 基于栈的实现 122

5.3.3 函数的自嵌套调用 122

5.4 相关的其他语法 123

5.4.1 数组作函数参数 123

5.4.2 函数指针 126

5.5 常用系统函数 129

5.5.1 数学函数 129

5.5.2 字符串处理函数 129

习题5 130

第6章 构造类型 138

6.1 数组类型 138

6.1.1 数组定义 138

6.1.2 数组的赋值与使用 139

6.1.3 数组的存储 139

6.1.4 数组的初始化 140

6.1.5 字符数组 140

6.1.6 指针与数组 141

6.2 枚举类型 143

6.2.1 枚举类型定义 143

6.2.2 枚举变量定义 143

6.2.3 类型转换 144

6.3 结构类型 145

6.3.1 结构的定义 145

6.3.2 结构的使用 145

6.3.3 结构的实现 147

6.4 结构化数据 148

6.4.1 单链表 148

6.4.2 栈 150

6.4.3 存储的动态分配 153

6.5 抽象数据类型 157

6.5.1 结构的扩展 157

6.5.2 C++的抽象数据类型 158

6.5.3 C++数据类型的层次 159

6.6 自定义类型 160

习题6 160

第7章 结构化算法的实现 167

7.1 基本控制结构的C++实现 167

7.1.1 顺序结构的C++实现 167

7.1.2 分支结构的C++实现 168

7.1.3 循环结构的C++实现 170

7.1.4 复杂结构C++实现示例 171

7.2 子算法设计与C++实现 172

7.2.1 参数为普通类型的子算法 173

7.2.2 参数为指针的子算法 174

7.2.3 参数为引用的子算法 177

7.2.4 子算法设计与C++实现示例 178

7.3 递归与迭代 182

7.3.1 递归 182

7.3.2 迭代 184

7.3.3 应用示例 186

习题7 189

第8章 程序开发过程 192

8.1 软件开发方法概述 193

8.1.1 软件生存周期 193

8.1.2 软件开发方法 193

8.2 软件设计 194

8.2.1 概要设计 195

8.2.2 详细设计 196

8.3 软件编码 196

8.3.1 程序设计方法 196

8.3.2 程序设计语言 197

8.3.3 编码风格 197

8.4 软件测试与调试 198

8.4.1 调试工具及使用 199

8.4.2 调试过程 200

8.4.3 错误类型 200

8.4.4 异常处理 203

8.4.5 软件测试 207

8.5 程序运行效率 209

8.5.1 适当的算法 209

8.5.2 选择快速运算 210

8.5.3 函数 213

习题8 213

第9章 面向对象程序设计 218

9.1 面向对象方法学 218

9.1.1 人类认知规律 218

9.1.2 面向对象基本原理 220

9.1.3 认知规律与面向对象 220

9.1.4 面向对象软件开发 221

9.2 基本概念 221

9.2.1 对象 222

9.2.2 类 226

9.2.3 结构与关系 228

9.3 面向对象分析 233

9.3.1 主要原则 233

9.3.2 静态结构分析与对象模型 235

9.3.3 动态行为分析 238

9.4 面向对象设计 241

习题9 241

第10章 类与对象的实现 243

10.1 C++中的类 243

10.1.1 类的说明 243

10.1.2 类的定义 245

10.2 对象及其成员的使用 247

10.2.1 对象实例 247

10.2.2 对象成员的引用 248

10.2.3 生命周期 250

10.2.4 类型转换 255

10.2.5 其他应用 259

10.3 类的特殊成员 268

10.3.1 静态成员 268

10.3.2 const成员 271

10.3.3 内联函数 273

10.3.4 友元 273

习题10 275

第11章 类间关系的实现 284

11.1 一般-特殊关系的实现 284

11.1.1 类的继承与派生 284

11.1.2 赋值兼容规则 293

11.1.3 二义性与作用域分辨 294

11.2 多态性与虚函数 300

11.2.1 编译时刻的多态性 300

11.2.2 运行时刻的多态性 301

11.2.3 虚函数 303

11.2.4 纯虚函数与抽象类 310

11.3 整体-部分关系的实现 314

11.4 关联关系的实现 317

11.5 关于类层次的总结 318

11.5.1 认知规律与类层次 318

11.5.2 构造函数的一般形式 319

11.5.3 成员函数的特征 319

习题11 320

第12章 面向对象程序设计的其他技术 325

12.1 运算符重载 325

12.1.1 友元运算符 326

12.1.2 类运算符 328

12.1.3 友元及类运算符的应用 329

12.1.4 ++和--运算符的重载 330

12.2 流类库 333

12.2.1 格式化输入输出 334

12.2.2 运算符《和》的重载 335

12.2.3 流式文件 336

12.2.4 流错误 347

12.3 模板 348

12.3.1 函数模板 348

12.3.2 类模板 351

习题12 354

附录A Microsoft C++的保留字 358

附录B C++中的基本数据类型 359

附录C 扩展ASCII字符集 360

附录D C++的运算符 362

参考文献 364