《程序设计教程 用C++语言编程》PDF下载

  • 购买积分:12 如何计算积分?
  • 作  者:陈家骏,郑滔编著
  • 出 版 社:北京:机械工业出版社
  • 出版年份:2009
  • ISBN:9787111268017
  • 页数:310 页
图书介绍:本书以介绍基本的程序设计思想、概念和技术为中心,强调了数据结构、算法、过程抽象以及数据抽象等重要的程序设计思想。具体内容包括:数据类型、表达式、循环、子程序、递归、类/对象、继承、类属、输入/输出以及异常处理等。

第1章 概述 1

1.1计算机的工作模型 1

1.1.1硬件 1

1.1.2软件 3

1.1.3机内信息表示 3

1.2程序设计 6

1.2.1程序设计范型 6

1.2.2程序设计步骤 7

1.2.3程序设计语言 9

1.3C++语言 11

1.3.1C++语言概述 11

1.3.2C++程序的构成 12

1.3.3C++程序的运行步骤 12

1.3.4C++语言的词法 13

1.4小结 15

1.5习题 16

第2章 数据描述(Ⅰ)——基本数据类型和表达式 17

2.1数据类型概述 17

2.2基本数据类型 18

2.2.1整数类型 18

2.2.2实数类型 19

2.2.3字符类型 19

2.2.4逻辑类型 20

2.3数据的表现形式 20

2.3.1常量 20

2.3.2变量 23

2.3.3变量值的输入 24

2.4操作符(运算符) 25

2.4.1算术操作符 25

2.4.2关系与逻辑操作符 26

2.4.3位操作符 28

2.4.4赋值操作符 30

2.4.5其他操作符 31

2.4.6操作数的类型转换 32

2.5表达式 35

2.5.1表达式的构成与分类 35

2.5.2操作符的优先级和结合性 36

2.5.3表达式中操作数的类型转换 37

2.5.4表达式结果的输出 38

2.5.5表达式的副作用 38

2.6小结 39

2.7习题 39

第3章 流程控制——语句 41

3.1程序流程控制概述 41

3.2顺序控制 41

3.2.1表达式语句 42

3.2.2复合语句 43

3.2.3空语句 43

3.3选择控制 44

3.3.1if语句 44

3.3.2switch语句 48

3.4循环(重复)控制 51

3.4.1while语句 52

3.4.2do-while语句 53

3.4.3for语句 53

3.4.4计数循环和事件循环 55

3.4.5循环程序设计实例 57

3.5无条件转移控制 61

3.5.1goto语句 61

3.5.2break语句 62

3.5.3continue语句 63

3.6程序设计风格 65

3.6.1结构化程序设计 65

3.6.2关于goto语句 66

3.7小结 66

3.8习题 67

第4章 过程抽象——函数 68

4.1基于过程抽象的程序设计 68

4.1.1功能分解与复合 68

4.1.2子程序 6868

4.1.3子程序间的数据传递 69

4.2C++函数 70

4.2.1函数的定义 70

4.2.2函数的调用 72

4.2.3值作为参数传递 73

4.2.4基于函数的过程式程序设计 74

4.3标识符的作用域与变量的生存期 75

4.3.1变量的局部性——局部变量与全局变量 75

4.3.2C++程序的多模块结构 77

4.3.3标识符的作用域 79

4.3.4名空间 83

4.3.5变量的生存期(存储分配) 85

4.3.6基于栈的函数调用的实现 87

4.4递归函数 89

4.4.1什么是递归函数 89

4.4.2“分而治之”的程序设计 89

4.4.3递归与循环的选择 91

4.4.4递归函数应用实例 92

4.5函数的进一步讨论 93

4.5.1内联函数 93

4.5.2带默认值的形式参数 95

4.5.3函数名重载 97

4.6C++标准函数库 99

4.7C++的条件编译 101

4.7.1条件编译命令 101

4.7.2基于多环境的程序编制 102

4.7.3程序调试 103

4.8小结 104

4.9习题 105

第5章 数据描述(Ⅱ)——构造数据类型 107

5.1枚举类型 107

5.2数组类型 110

5.2.1一维数组的定义与操作 110

5.2.2字符串类型的一种实现——一维字符数组 114

5.2.3二维数组的定义与操作 117

5.2.4数组类型的应用 120

5.3结构类型 125

5.3.1结构类型的定义与操作 125

5.3.2结构类型的应用 128

5.4联合类型 131

5.5指针类型 135

5.5.1指针类型的定义 135

5.5.2指针类型的基本操作 136

5.5.3指针作为参数传递 140

5.5.4指针与动态变量 145

5.5.5函数指针 154

5.5.6指针与数组 156

5.5.7多级指针 160

5.6引用类型 161

5.6.1引用类型的定义 161

5.6.2引用作为参数传递 162

5.6.3引用类型与指针类型的区别 164

5.7小结 164

5.8习题 165

第6章 数据抽象——对象与类 168

6.1基于数据抽象的程序设计 168

6.1.1什么是面向对象程序设计 168

6.1.2为什么要面向对象 170

6.1.3面向对象程序设计的基本内容 173

6.2类 174

6.2.1数据成员 174

6.2.2成员函数 175

6.2.3成员的访问控制——信息隐藏 176

6.3对象 178

6.3.1对象的创建和标识 178

6.3.2对象的操作 179

6.3.3this指针 181

6.4对象的初始化和消亡前处理 183

6.4.1构造函数与析构函数 183

6.4.2成员对象的初始化 188

6.4.3拷贝构造函数 189

6.5对象与类的进一步讨论 192

6.5.1对常量对象的访问——常成员函数 192

6.5.2对象之间的数据共享——静态数据成员 193

6.5.3提高对对象私有数据成员的访问效率——友元 195

6.6类作为模块 198

6.6.1类模块的组成 198

6.6.2Demeter法则 200

6.7小结 200

6.8习题 201

第7章 操作符重载 204

7.1操作符重载概述 204

7.1.1操作符重载的必要性 204

7.1.2操作符重载的方式 205

7.1.3操作符重载的基本原则 206

7.2操作符重载的实现 206

7.2.1双目操作符重载 206

7.2.2单目操作符重载 208

7.3C++中几个特殊操作符的重载 210

7.3.1赋值操作符“=” 210

7.3.2数组元素访问操作符(下标操作符)“[]” 211

7.3.3类成员访问操作符“->” 212

7.3.4动态存储分配与去配操作符new与delete 214

7.3.5自定义类型转换操作符 217

7.3.6函数调用操作符“()” 218

7.4操作符重载的实例——字符串类String的一种实现 219

7.5小结 221

7.6习题 222

第8章 类的继承——派生类 223

8.1类之间的继承关系——基类与派生类 223

8.2单继承 224

8.2.1单继承的定义 224

8.2.2在派生类中访问基类成员——protected访问控制 225

8.2.3派生类对基类成员的访问控制——继承方式 227

8.2.4派生类对象的初始化和赋值操作 229

8.2.5单继承的应用实例 230

8.2.6类之间的聚集关系 231

8.3消息(成员函数调用)的动态绑定 233

8.3.1消息的多态性 233

8.3.2虚函数与消息的动态绑定 234

8.3.3纯虚函数和抽象类 236

8.3.4虚函数动态绑定的一种实现 241

8.4多继承 242

8.4.1多继承的必要性 242

8.4.2多继承的定义 243

8.4.3名冲突 243

8.4.4重复继承——虚基类 244

8.5小结 245

8.6习题 246

第9章 类属(泛型)机制——模板 249

9.1类属(泛型)程序设计 249

9.2模板 250

9.2.1函数模板 250

9.2.2类模板 253

9.2.3模板的复用 254

9.3C++标准模板库 256

9.3.1概述 256

9.3.2容器 257

9.3.3迭代器 262

9.3.4算法 262

9.4小结 269

9.5习题 269

第10章 输入/输出 270

10.1输入/输出概述 270

10.2面向控制台的输入/输出 271

10.2.1基于函数库的控制台I/O 271

10.2.2基于类库的控制台I/O 273

10.2.3抽取/插入操作符“>>”和“<<”的重载 276

10.3面向文件的输入/输出 277

10.3.1基于函数库的文件I/O 278

10.3.2基于类库的文件I/O 283

10.4面向字符串变量的输入/输出 289

10.5小结 290

10.6习题 290

第11章 异常处理 291

11.1异常处理概述 291

11.1.1什么是异常 291

11.1.2异常处理的基本手段 292

11.2C++异常处理机制 292

11.2.1try、throw以及catch语句 292

11.2.2异常处理的嵌套 294

11.3小结 295

11.4习题 296

第12章 实例——面向对象的Windows应用程序框架 297

12.1Windows应用程序的基本结构 297

12.1.1应用程序的用户界面 297

12.1.2消息驱动的程序结构 298

12.2面向对象的Windows应用程序结构 299

12.2.1Windows应用程序中的对象 300

12.2.2MFC对面向对象Windows应用程序开发的支持 300

12.2.3Visual C++的应用向导和类向导 305

12.3小结 306

12.4习题 306

附录A ASCII字符集及其编码 308

附录B IEEE浮点数的内部表示 309

参考文献 310