《C++语言程序设计 MOOC版》PDF下载

  • 购买积分:13 如何计算积分?
  • 作  者:阚道宏编著
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2016
  • ISBN:9787302421047
  • 页数:370 页
图书介绍:本书适用于慕课(MOOC)在线教育。按应用需求梳理和组织C++语言的知识点,编排由易到难,循序渐进。每节都设计了适合在线评判的选择题,每章则设计了适合课堂讨论的程序阅读题、改错题和编程题。本书内容系统全面。本书内容涵盖结构化程序设计和面向对象程序设计,并通过具体案例演示了结构化程序设计到面向对象程序设计的演变过程。本书可作为C/C++语言的教学用书或课外阅读教材。

第1章 程序设计导论 1

1.1 计算机硬件结构 1

1.2 计算机程序 4

1.3 计算机程序开发 8

1.3.1 程序设计 8

1.3.2 程序实现 9

1.3.3 程序测试 11

1.3.4 程序发布 11

1.4 信息分类与数据类型 12

1.4.1 二进制数制 12

1.4.2 数据类型 15

1.4.3 信息分类及数字化 17

1.5 C++语言简介 20

1.6 本章习题 21

第2章 数值计算 22

2.1 程序中的变量 23

2.1.1 变量的定义 23

2.1.2 变量的访问 25

2.2 程序中的常量 26

2.3 算术运算 29

2.3.1 C++语言中的加减乘除 29

2.3.2 其他算术运算符 31

2.4 位运算 33

2.5 赋值运算 36

2.6 数据的输入与输出 38

2.7 引用与指针 41

2.7.1 引用 41

2.7.2 指针 42

2.8 本章习题 48

第3章 算法与控制结构 50

3.1 算法 51

3.2 布尔类型 52

3.2.1 关系运算符 53

3.2.2 逻辑运算符 53

3.3 选择语句 55

3.3.1 if-else语句 55

3.3.2 switch-case语句 59

3.4 循环语句 63

3.4.1 while语句 64

3.4.2 do-while语句 65

3.4.3 for语句 66

3.4.4 break语句和continue语句 67

3.5 算法设计与评价 71

3.5.1 计算复杂度 71

3.5.2 内存占用量 73

3.5.3 算法设计举例 73

3.6 本章习题 75

第4章 数组与文字处理 76

4.1 数组 77

4.1.1 数组变量的定义与访问 77

4.1.2 常用的数组处理算法 80

4.2 指针与数组 84

4.2.1 指针运算 84

4.2.2 动态内存分配 88

4.2.3 指针数组 90

4.3 字符类型 91

4.3.1 字符型常量 92

4.3.2 字符型运算 93

4.4 字符数组与文字处理 94

4.4.1 字符串常量 94

4.4.2 字符数组 95

4.4.3 常用文字处理算法 96

4.5 中文处理 99

4.5.1 字符编码标准 100

4.5.2 基于ANSI编码的中文处理程序 101

4.5.3 基于Unicode编码的中文处理程序 103

4.6 本章习题 105

第5章 结构化程序设计之一 107

5.1 结构化程序设计方法 107

5.1.1 设计举例 107

5.1.2 基于模块的团队分工协作开发 109

5.1.3 模块的四大要素 111

5.2 函数的定义和调用 112

5.2.1 函数的定义 113

5.2.2 函数的调用 114

5.2.3 函数的执行 116

5.2.4 函数的声明 119

5.3 数据的管理策略 121

5.3.1 数据分散管理,按需传递 121

5.3.2 数据集中管理,全局共享 122

5.3.3 变量的作用域 124

5.4 程序代码和变量的存储原理 129

5.4.1 程序副本与变量 130

5.4.2 动态分配的内存 134

5.4.3 函数指针 135

5.5 函数间参数传递的三种方式 137

5.5.1 值传递 137

5.5.2 引用传递 138

5.5.3 指针传递 139

5.6 在函数间传递数组 141

5.6.1 在函数间传递一维数组 141

5.6.2 在函数间传递一维数组的首地址 142

5.6.3 在函数间传递二维数组 142

5.7 本章习题 143

第6章 结构化程序设计之二 145

6.1 C++源程序的多文件结构 145

6.1.1 多文件结构的源代码组织 145

6.1.2 静态函数与静态变量 148

6.1.3 头文件 151

6.2 编译预处理指令 153

6.2.1 文件包含指令 153

6.2.2 宏定义指令 154

6.2.3 条件编译指令 156

6.3 几种特殊形式的函数 159

6.3.1 带默认形参值的函数 159

6.3.2 重载函数 161

6.3.3 内联函数 162

6.3.4 主函数main的形参和返回值 163

6.3.5 递归函数 165

6.4 系统函数 170

6.4.1 C语言的系统函数 171

6.4.2 命名空间 175

6.4.3 C++语言的系统函数 177

6.5 自定义数据类型 179

6.5.1 类型定义typedef 179

6.5.2 枚举类型 181

6.5.3 联合体类型 182

6.5.4 结构体类型 185

6.6 结构化程序设计回顾 188

6.7 本章习题 189

第7章 面向对象程序设计之一 192

7.1 面向对象程序设计方法 192

7.1.1 结构化程序设计 192

7.1.2 面向对象程序设计中的分类 194

7.1.3 面向对象程序设计中的封装 197

7.1.4 面向对象程序的设计过程 200

7.2 类的定义 203

7.3 对象的定义与访问 205

7.3.1 对象的定义与访问 205

7.3.2 对象指针 206

7.3.3 类与对象的编译原理 207

7.4 对象的构造与析构 210

7.4.1 构造函数 211

7.4.2 析构函数 214

7.4.3 拷贝构造函数中的深拷贝与浅拷贝 215

7.5 对象的应用 219

7.5.1 对象数组 219

7.5.2 对象的动态分配 220

7.5.3 对象作为函数的形参 221

7.6 类中的常成员与静态成员 225

7.6.1 常成员 226

7.6.2 静态成员 228

7.7 类的友元 232

7.7.1 友元函数 233

7.7.2 友元类 234

7.8 本章习题 236

第8章 面向对象程序设计之二 239

8.1 代码重用 239

8.1.1 结构化程序设计中的代码重用 239

8.1.2 面向对象程序设计中的代码重用 240

8.2 类的组合 242

8.2.1 组合类的定义 243

8.2.2 组合类对象的定义与访问 244

8.2.3 组合类对象的构造与析构 246

8.2.4 类的聚合 248

8.2.5 前向引用声明 250

8.3 类的继承与派生 252

8.3.1 派生类的定义 253

8.3.2 派生类对象的定义与访问 256

8.3.3 保护权限与保护继承 257

8.3.4 派生类对象的构造与析构 260

8.3.5 继承与派生的应用 263

8.4 多态性 267

8.4.1 运算符的多态与重载 268

8.4.2 对象的替换与多态 272

8.4.3 虚函数 278

8.4.4 抽象类 281

8.5 关于多继承的讨论 285

8.5.1 多个基类之间的成员重名 286

8.5.2 重复继承 287

8.5.3 虚基类 288

8.6 本章习题 289

第9章 流类库与文件I/O 292

9.1 流类库 293

9.2 标准I/O 296

9.2.1 通用输入流类istrea m及其对象cin 296

9.2.2 通用输出流类ostrea m及其对象cout 301

9.3 文件I/O 307

9.3.1 文件及其操作 307

9.3.2 文件输出流类ofstream及文件输出 310

9.3.3 文件输入流类ifstream及文件输入 314

9.3.4 文件输入/输出流类fstream 316

9.4 string类及字符串 I/O 320

9.4.1 字符串类string 321

9.4.2 字符串I/O 322

9.5 基于Unicode编码的流类库 323

9.6 本章习题 325

第10章 C++标准库 326

10.1 函数模板 326

10.1.1 函数模板的定义与使用 327

10.1.2 函数模板的编译原理 328

10.1.3 函数模板的声明 330

10.2 类模板 331

10.2.1 类模板的定义与使用 331

10.2.2 类模板的编译原理 333

10.2.3 类模板的继承与派生 334

10.3 C++标准库 336

10.4 C++语言的异常处理机制 338

10.4.1 程序中的三类错误 338

10.4.2 程序异常处理机制 341

10.4.3 try-catch异常处理机制 343

10.4.4 C++标准库中的异常类exception 347

10.5 数据集合及其处理算法 349

10.5.1 数据集合的存储和处理 350

10.5.2 C++标准库中数据集合的存储和处理 353

10.5.3 向量类vector 356

10.5.4 列表类list 360

10.5.5 集合类set 360

10.5.6 映射类map 361

10.6 结语 363

10.7 本章习题 363

附录 Microsoft Visual C++6.0集成开发环境 364

参考文献 370