《程序设计基础》PDF下载

  • 购买积分:14 如何计算积分?
  • 作  者:吴文虎编著
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2003
  • ISBN:7302071632
  • 页数:429 页
图书介绍:本书重点讲授在C/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 程序设计的一般过程 8

1.2 程序设计语言 9

1.2.1 发展历史 9

1.2.2 程序设计语言的实现 15

1.2.3 高级语言程序的基本结构 18

1.2.4 高级语言的语法规则 21

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

1.3 程序设计范式的演化 32

1.3.1 结构化程序设计 32

1.3.2 函数式程序设计 33

1.3.3 面向对象程序设计 34

1.3.4 事件驱动的程序设计 35

1.3.5 逻辑式程序设计 36

习题 37

第2章 算法设计基础 42

2.1 算法的描述 42

2.1.1 自然语言方式 42

2.1.2 伪代码方式 43

2.1.3 程序流程图方式 46

2.1.4 N/S盒图方式 47

2.1.5 PAD图方式 48

2.2 结构化算法设计初步 50

2.2.1 算法描述 50

2.2.2 算法设计 53

2.3 算法的计算复杂性 58

2.4 常用算法设计策略 60

2.4.1 分治法 60

2.4.2 递归技术 61

2.4.3 贪心法 62

2.4.4 回溯法 64

习题 65

第3章 基本数据类型 67

3.1 数据对象 67

3.1.1 数据的存储 68

3.1.2 生存期与值 69

3.2 基本数据类型 70

3.2.1 整型与浮点型 71

3.2.2 字符类型 71

3.2.3 逻辑型 72

3.2.4 空值型 72

3.3 变量与常量 73

3.3.1 常量 73

3.3.2 变量 75

3.4 指针类型 77

3.4.1 指针定义 77

3.4.2 指针的初始化 78

3.4.3 指针运算 79

3.4.4 指针与常量 80

3.5 引用类型 81

3.6 类型的意义 82

习题 83

第4章 操作及其控制 85

4.1 基本操作与运算符 85

4.1.1 赋值操作 85

4.1.2 算术操作 86

4.1.3 增1和减1操作 86

4.1.4 关系、逻辑操作 87

4.1.5 条件运算符 87

4.2 表达式 87

4.2.1 隐含类型转换 88

4.2.2 强制类型转换 88

4.2.3 表达式内的顺序控制 89

4.2.4 运算符的优先级 90

4.2.5 运算符的结合性 90

4.3 语句 91

4.3.1 表达式语句 91

4.3.2 语句间顺序控制 92

4.3.3 复合语句 92

4.3.4 选择语句 93

4.3.5 循环语句 97

4.3.6 直接顺序控制 103

4.4 预处理指令 106

4.4.1 文件包含指令 106

4.4.2 宏定义指令 106

4.4.3 条件编译指令 110

习题 113

第5章 函数与数据控制 122

5.1 函数定义与说明 122

5.1.1 函数定义 122

5.1.2 函数说明 123

5.1.3 函数的简单调用 125

5.1.4 函数的重载 126

5.2 数据控制 128

5.2.1 参数传递机制 128

5.2.2 数据对象的引用 132

5.2.3 作用域 135

5.3 函数的顺序控制 141

5.3.1 函数执行模型 142

5.3.2 基于栈的实现 144

5.3.3 函数的自嵌套调用 145

5.4 相关的其他语法 146

5.4.1 数组作函数参数 146

5.4.2 函数指针 149

5.5 常用系统函数 153

5.5.1 终止程序运行 153

5.5.2 数学函数 154

5.5.3 字符串处理函数 154

5.5.4 面向对象的数据结构 154

习题 155

第6章 构造类型 164

6.1 数组类型 164

6.1.1 数组定义 164

6.1.2 数组的赋值与使用 165

6.1.3 数组的存储 165

6.1.4 数组的初始化 166

6.1.5 字符数组 167

6.1.6 指针与数组 168

6.2 枚举类型 169

6.2.1 枚举类型定义 170

6.2.2 枚举变量定义 170

6.2.3 类型转换 171

6.3 结构类型 172

6.3.1 结构的定义 172

6.3.2 结构的使用 173

6.3.3 结构的实现 175

6.4 结构化数据 175

6.4.1 单链表 176

6.4.2 栈 178

6.4.3 存储的动态分配 181

6.5 抽象数据类型 186

6.5.1 结构的扩展 186

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

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

6.6 自定义类型 189

习题 189

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

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

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

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

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

7.1.4 复杂结构的C++实现示例 202

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

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

7.2.2 参数为指针的子算法 205

7.2.3 参数为引用的子算法 208

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

7.3 递归与迭代 215

7.3.1 递归 215

7.3.2 迭代 218

7.3.3 应用示例 219

习题 223

第8章 程序开发过程 225

8.1 软件开发方法概述 226

8.1.1 软件生存周期 226

8.1.2 软件开发方法 226

8.2 软件设计 228

8.2.1 概要设计 228

8.2.2 详细设计 229

8.3 软件编码 230

8.3.1 程序设计方法 230

8.3.2 程序设计语言 230

8.3.3 编码风格 230

8.4 软件测试与调试 233

8.4.1 调试工具及使用 233

8.4.2 调试过程 234

8.4.3 错误类型 235

8.4.4 异常处理 238

8.4.5 软件测试 242

8.5 程序运行效率 244

8.5.1 适当的算法 245

8.5.2 选择快速运算 246

8.5.3 函数 249

习题 250

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

9.1 面向对象方法学 256

9.1.1 人类认知规律 257

9.1.2 面向对象基本原理 258

9.1.3 认知规律与面向对象 259

9.1.4 面向对象软件开发 259

9.2 基本概念 260

9.2.1 对象 260

9.2.2 类 266

9.2.3 结构与关系 267

9.3 面向对象分析 274

9.3.1 主要原则 275

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

9.3.3 动态行为分析 280

9.4 面向对象设计 284

习题 285

第10章 类与对象的实现 286

10.1 C++中的类 286

10.1.1 类的说明 286

10.1.2 类的定义 288

10.2 对象及其成员的使用 291

10.2.1 对象实例 291

10.2.2 对象成员的引用 292

10.2.3 生命周期 295

10.2.4 类型转换 301

10.2.5 其他应用 305

10.3 类的特殊成员 315

10.3.1 静态成员 315

10.3.2 const成员 319

10.3.3 内联函数 321

10.3.4 友元 322

习题 324

第11章 类间关系的实现 334

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

11.1.1 类的继承与派生 334

11.1.2 赋值兼容规则 344

11.1.3 两义性与作用域分辨 346

11.2 多态性与虚函数 353

11.2.1 编译时刻的多态性 354

11.2.2 运行时刻的多态性 355

11.2.3 虚函数 356

11.2.4 纯虚函数与抽象类 366

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

11.4 关联关系的实现 373

11.5 关于类层次的总结 374

11.5.1 认知规律与类层次 374

11.5.2 构造函数的一般形式 375

11.5.3 成员函数的特征 376

习题 377

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

12.1 运算符重载 382

12.1.1 友元运算符 383

12.1.2 类运算符 385

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

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

12.2 流类库 391

12.2.1 格式化输入输出 393

12.2.2 运算符《和》的重载 394

12.2.3 流式文件 395

12.2.4 流错误 408

12.3 模板 409

12.3.1 函数模板 409

12.3.2 类模板 410

12.3.3 模板应用实例 412

习题 416

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

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

附录C 扩展ASCII字符集 421

附录D C++的运算符 422

词汇索引 424

参考文献 429