《C++程序设计教程》PDF下载

  • 购买积分:12 如何计算积分?
  • 作  者:施平安,段超,郝清赋编著
  • 出 版 社:北京:冶金工业出版社
  • 出版年份:2007
  • ISBN:7502442553
  • 页数:310 页
图书介绍:本书较为全面地介绍了C++程序设计语言的各种特性和功能。全书共分为14章,内容包括:C++的基本知识、面向对象编程技术和C++高级主题,诸如运算符重载、模板、异常处理、流和字符串处理等。在介绍各个主题时,不仅提供了大量的示例、表格、插图,而且还在各章后面安排了一定量的练习,以供读者在复习时使用。

第1章 计算机编程与C++概述 1

1.1 简介 1

1.2 计算机语言 1

1.3 C++发展简史 2

1.4 程序设计开发技术简介 3

1.4.1 过程式技术 3

1.4.2 结构化技术 4

1.4.3 对象技术 4

1.5 面向对象程序设计技术 5

1.5.1 封装 5

1.5.2 继承 5

1.5.3 多态性 6

1.6 C++标准库 6

1.7 C++编程简单示例:输出文本 6

1.8 标识符 9

1.9 关键字 9

1.10 变量、数据类型和常量 10

1.10.1 变量 10

1.10.2 基本数据类型 11

1.10.3 变量赋值 11

1.10.4 常量 13

1.11 运算符 14

1.11.1 算术运算符 14

1.11.2 关系运算符 15

1.11.3 逻辑运算符 15

1.11.4 按位运算符 16

1.11.5 sizeof运算符 17

1.11.6 问号运算符 17

1.11.7 复合赋值运算符 17

1.11.8 运算符优先级和结合性 18

1.12 C++编程示例:求平均数 19

小结 20

习题一 21

一、填空题 21

二、判断题 21

三、简答题 21

四、编程练习题 22

第2章 控制结构 23

2.1 简介 23

2.2 控制结构 23

2.2.1 goto语句 23

2.2.2 控制结构 24

2.3 if选择结构 25

2.4 if/else选择结构 29

2.5 while循环结构 31

2.6 do/while循环结构 33

2.7 for循环结构 33

2.8 switch多重选择结构 35

2.9 break和continue语句 37

2.10 C++编程示例:数学运算器 38

小结 40

习题二 41

一、填空题 41

二、判断题 41

三、简答题 41

四、编程练习题 42

第3章 函数 43

3.1 简介 43

3.2 函数声明 44

3.3 函数定义 45

3.3.1 定义不包含参数的函数体 45

3.3.2 定义带有参数的函数体 46

3.4 函数调用 46

3.5 作用域规则 48

3.6 递归 49

3.6.1 无穷递归 50

3.6.2 递归编程 50

3.6.3 直接递归和间接递归 51

3.6.4 递归举例 52

3.6.5 递归与迭代 53

3.7 内联函数 54

3.8 函数重载 55

3.9 C++编程示例:字符处理函数 56

小结 57

习题三 58

一、填空题 58

二、判断题 58

三、简答题 58

四、编程练习题 59

第4章 数组 60

4.1 简介 60

4.2 声明和初始化数组 60

4.2.1 数组声明 61

4.2.2 初始化C++数组 61

4.2.3 访问C++数组 61

4.2.4 数组使用示例 62

4.3 向函数传递数组 63

4.4 数组排序 64

4.4.1 选择排序法 64

4.4.2 插入排序法 65

4.4.3 冒泡排序法 66

4.4.4 快速排序法 67

4.5 数组查找 69

4.5.1 线性查找 69

4.5.2 二分查找 69

4.5.3 比较查找算法 70

4.6 多维数组 71

4.7 字符数组 72

4.8 C++编程示例:统计学生成绩 72

小结 74

习题四 75

一、填空题 75

二、判断题 75

三、简答题 76

四、编程练习题 76

第5章 指针 78

5.1 简介 78

5.2 指针 78

5.2.1 什么是指针 78

5.2.2 指针变量 79

5.2.3 指针运算符 79

5.2.4 指针的算术运算 80

5.2.5 void型指针 81

5.3 const指针 81

5.3.1 指向常量数据的指针 81

5.3.2 指针常量 82

5.3.3 指向常量数据的指针常量 82

5.4 指针与数组 83

5.4.1 两者间的关系 83

5.4.2 内存分配 84

5.4.3 动态分配数组 85

5.5 字符指针 86

5.5.1 字符指针与字符串 86

5.5.2 〈cstring〉头文件 87

5.6 指针数组 89

5.7 指针与函数 90

5.7.1 函数指针 90

5.7.2 向函数传递指针参数 90

5.7.3 函数返回指针 91

5.8 命令行参数 91

5.9 C++编程示例:字符串转换函数 92

小结 94

习题五 94

一、填空题 94

二、判断题 95

三、简答题 95

四、编程练习题 95

第6章 结构 97

6.1 简介 97

6.2 结构 97

6.2.1 声明结构 98

6.2.2 声明结构类型的变量 98

6.2.3 引用结构成员 99

6.3 结构与数组 100

6.4 结构与指针 102

6.5 结构与函数 103

6.6 链表 105

6.6.1 声明节点 106

6.6.2 创建和显示链表 106

6.6.3 插入链表节点 108

6.6.4 删除链表节点 110

6.6.5 链表示例 111

6.7 C++编程示例:扑克牌游戏 112

小结 114

习题六 115

一、填空题 115

二、判断题 115

三、简答题 115

四、编程练习题 116

第7章 类 117

7.1 简介 117

7.2 实现Angle类 117

7.3 类作用域和访问类成员 120

7.4 控制对类成员的访问 121

7.5 构造函数 121

7.5.1 一般概念 121

7.5.2 重载构造函数 121

7.5.3 再谈构造函数:拷贝构造函数 124

7.5.4 浅拷贝和深拷贝 126

7.6 析构函数 128

7.7 读写函数与功能函数 129

7.8 构造函数与析构函数小结 132

7.9 const成员函数和const对象 134

7.10 组合:引用作为其他类的成员 136

7.11 友元 137

7.12 使用this指针 139

7.13 静态类成员 142

7.14 C++编程示例:string标准类 145

小结 150

习题七 150

一、填空题 150

二、判断题 151

三、简答题 151

四、编程练习题 151

第8章 继承 153

8.1 简介 153

8.2 基类与派生类 154

8.3 继承示例 154

8.4 protected成员和访问限定符 160

8.5 派生类中的构造函数与析构函数 162

8.6 多重继承 165

8.7 虚拟继承 168

8.8 多重继承中构造和析构的顺序 170

8.9 C++编程示例:string标准类的迭代器 173

小结 174

习题八 175

一、填空题 175

二、判断题 175

三、简答题 176

四、编程练习题 176

第9章 多态 177

9.1 简介 177

9.2 继承层次中对象间的关系 177

9.3 虚函数 182

9.4 C++编程示例:多态示例 183

9.5 抽象类与具体类 186

9.6 虚函数的注意事项 193

9.7 C++编程示例:字符串查找函数 194

小结 195

习题九 196

一、填空题 196

二、判断题 196

三、简答题 196

四、编程练习题 197

第10章 运算符重载 198

10.1 简介 198

10.2 运算符重载的基本知识 198

10.3 运算符重载示例:重载〉〉运算符 199

10.4 运算符重载的限制 202

10.5 用作类成员和非类成员的运算符函数 202

10.6 C++编程示例:重载自增运算符 205

小结 207

习题十 208

一、填空题 208

二、判断题 208

三、简答题 208

四、编程练习题 209

第11章 流 210

11.1 简介 210

11.2 流的概念 210

11.3 输出流 212

11.3.1 put函数 212

11.3.2 write函数 213

11.4 输入流 213

11.4.1 get函数 214

11.4.2 getline函数 216

11.4.3 read函数 217

11.5 格式化输出 217

11.5.1 设置整数的基数 218

11.5.2 设置浮点数的精度 219

11.5.3 设置宽度 220

11.5.4 对齐 221

11.5.5 填充 222

11.5.6 科学记数法和定点记数法 223

11.5.7 控制大小写 223

11.6 文件与流 224

11.6.1 ofstream类 224

11.6.2 ifstream类 227

11.6.3 fstream类 229

11.7 C++编程示例:字符串流 231

小结 233

习题十一 233

一、填空题 233

二、判断题 234

三、简答题 234

四、编程练习题 234

第12章 模板 236

12.1 简介 236

12.2 模板的概念 236

12.2.1 函数模板 237

12.2.2 类模板 237

12.3 函数模板举例 238

12.4 重载函数模板 240

12.5 类模板 241

12.5.1 类模板简单示例 241

12.5.2 为类模板中成员函数的参数提供默认值 242

12.5.3 重载类模板的成员函数 243

12.5.4 为类模板参数提供默认值 245

12.6 C++编程示例:链表类模板 246

12.7 其他模板问题 251

小结 251

习题十二 251

一、填空题 251

二、判断题 252

三、简答题 252

四、编程练习题 252

第13章 异常处理 254

13.1 简介 254

13.2 异常处理的基本知识 255

13.3 异常规范 257

13.3.1 try块 257

13.3.2 catch块 257

13.3.3 throw语句 257

13.3.4 注意事项 258

13.4 异常处理举例 260

13.5 处理意外异常 263

13.5.1 异常抛出表 263

13.5.2 处理意外异常 264

13.6 异常与构造函数和析构函数 265

13.6.1 构造函数与异常 265

13.6.2 析构函数与异常 266

13.7 new操作失败 266

13.8 标准异常的类层次 270

13.9 C++编程示例:字符串内存处理函数 271

小结 273

习题十三 274

一、填空题 274

二、判断题 274

三、简答题 274

四、编程练习题 275

第14章 MFC库和Windows程序开发 276

14.1 简介 276

14.2 Windows编程基础知识 276

14.2.1 Windows程序的入口点 277

14.2.2 窗口 278

14.2.3 处理事件 280

14.3 Windows程序开发示例 281

14.4 MFC库概述 287

14.5 MFC程序示例:单文档/视图程序 291

14.5.1 创建MFCSample应用程序开发项目 291

14.5.2 修改工具栏 292

14.5.3 添加成员变量 292

14.5.4 添加消息处理函数 293

14.5.5 为消息处理函数添加处理代码 295

14.6 MFC程序示例:对话框 299

14.6.1 创建DlgSample应用程序开发项目 299

14.6.2 创建对话框界面 299

14.6.3 添加消息处理函数 300

14.6.4 添加成员变量和成员函数 301

14.6.5 为消息处理函数添加处理代码 303

小结 307

习题十四 308

一、填空题 308

二、判断题 308

三、简答题 308

四、编程练习题 308

参考文献 310