《C++程序设计基础》PDF下载

  • 购买积分:12 如何计算积分?
  • 作  者:管建和编著
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2013
  • ISBN:9787302312147
  • 页数:332 页
图书介绍:本书是在作者结合了多年的C语言和C++语言的教学实践基础上编写而成的教学用教程。本书按照由浅入深、循序渐进的原则,逐步地介绍C++语言的基本概念、语法规则和编程方法,确保在学习完本书内容之后,掌握C++语言的基础知识和编程技能。有C语言基础的读者可以通过该书的进一步地学习,掌握C++语言的编程技术。本书可作为高等院校计算机专业或非计算机专业的第一门程序设计语言教学用书,也可作为程序设计人员的自学参考用书。

第1章 概述 1

1.1 C++语言的发展简况及其特点 1

1.1.1 C+++语言的发展简况 1

1.1.2 C+++语言的特点 2

1.2 C++语言程序组成及其结构 3

1.3关键字和标识符 5

1.3.1关键字 6

1.3.2标识符 6

1.4几个特殊的C++语句 6

1.4.1空语句 6

1.4.2复合语句 7

1.4.3 注释语句 7

1.5简单的输入输出 8

1.5.1格式化输入输出函数 8

1.5.2 I/O流 13

1.6数制与编码 15

1.6.1二进制、八进制和十六进制 16

1.6.2二进制、八进制、十六进制和十进制之间的转换 16

1.6.3原码、反码和补码 20

1.6.4编码 21

思考与练习题 22

第2章 数据与运算 25

2.1基本数据类型 25

2.1.1类型bool 25

2.1.2类型char 26

2.1.3类型short 26

2.1.4类型int 27

2.1.5类型long 27

2.1.6浮点类型 27

2.2常量 28

2.2.1 整型常量 28

2.2.2浮点常量 28

2.2.3字符常量 30

2.2.4字符串常量 30

2.2.5标识常量 32

2.2.6换码序列 32

2.3 变量 34

2.3.1变量和变量的地址 34

2.3.2 C+++存储类型 35

2.3.3变量使用范围 37

2.3.4变量的初始化和赋值 38

2.3.5强制数据类型的转换 38

2.3.6常量化的变量 40

2.4数组 41

2.4.1一维数组 41

2.4.2字符数组 44

2.4.3多维数组 46

2.5运算符及其运算 48

2.5.1算术运算符 48

2.5.2关系运算符和逻辑运算符 50

2.5.3位运算符 52

2.5.4赋值运算符与赋值复合运算符 58

2.5.5 C+++语言的特殊运算符 59

2.5.6 C+++运算符的优先级 61

思考与练习题 62

第3章 控制语句 64

3.1程序设计方法与程序结构 64

3.1.1结构化程序设计 65

3.1.2面向对象的程序设计 67

3.2分支语句 67

3.2.1单分支语句——if语句 68

3.2.2双分支语句——if-else语句 69

3.2.3多分支语句——else if语句 70

3.2.4嵌套结构及其分析 73

3.2.5 switch语句 76

3.3循环语句 79

3.3.1 for循环语句 79

3.3.2 while循环语句 82

3.3.3 do-while循环语句 84

3.3.4循环语句使用的注意事项 86

3.3.5循环语句的嵌套 87

3.4辅助控制语句 88

3.4.1 break语句——中途退出语句 88

3.4.2 continue语句——截流语句 92

3.4.3 return语句 93

3.4.4 goto语句 95

思考与练习题 96

第4章 指针 101

4.1指针变量 101

4.2指针变量的声明与初始化 104

4.2.1指针变量的声明 104

4.2.2指针的初始化 105

4.3指针运算 107

4.3.1指针的算术运算 107

4.3.2指针的关系运算 111

4.3.3指针的赋值运算 112

4.4指针与数组 113

4.5字符指针与字符串 115

4.6指针数组 117

4.7多级指针 119

4.8 new和delete运算符 121

4.8.1 new运算符 121

4.8.2 delete运算符 123

4.9引用 124

4.9.1普通变量的引用 124

4.9.2数组的引用 124

4.10 const型指针和void型指针 125

4.10.1常量化的指针变量 126

4.10.2 void型指针变量 128

思考与练习题 128

第5章 函数与宏 130

5.1 自定义函数的定义、声明和使用 130

5.1.1函数的定义 130

5.1.2函数的声明 132

5.1.3函数的使用 133

5.2函数之间的参数传递 135

5.2.1复制传递方式 135

5.2.2地址传递方式 136

5.2.3引用方式 137

5.2.4全局变量 138

5.2.5默认参数值的函数 139

5.3函数与数组 140

5.3.1复制传递方式 140

5.3.2地址传递方式 141

5.3.3引用方式 142

5.3.4多维数组与函数 143

5.4指针函数 146

5.5函数指针与函数指针数组 147

5.5.1 函数指针 147

5.5.2函数指针数组 149

5.6 函数重载 150

5.7 内联函数 152

5.8递归函数 152

5.9标准函数 153

5.10宏和其他预编译语句 156

5.10.1宏定义语句#define 156

5.10.2包括语句 158

5.10.3条件编译 158

思考与练习题 159

第6章 自定义数据类型 167

6.1结构体的定义及其声明 167

6.1.1结构体的定义 167

6.1.2结构体的声明 168

6.1.3结构体的使用 169

6.1.4结构体的初始化 170

6.1.5匿名结构体 171

6.2结构体数组与结构体指针 171

6.2.1结构体数组 171

6.2.2结构体指针 172

6.3结构体与函数 174

6.3.1结构体在函数体间的传递 174

6.3.2结构体函数 177

6.3.3结构体指针函数 179

6.4结构体嵌套 180

6.5位字段结构体简介 182

6.6联合体 184

6.7枚举类型 188

6.7.1枚举类型的定义 188

6.7.2枚举变量的声明与使用 188

6.8 typedef语句 190

思考与练习题 192

第7章 类与对象 195

7.1 面向对象技术与C++类类型 195

7.1.1传统开发方法存在的问题 195

7.1.2面向对象技术 196

7.1.3 C+++语言的三种类类型 197

7.1.4 class类类型 198

7.2类的定义 199

7.3对象的声明和使用 202

7.4对象数组和对象指针 204

7.4.1对象数组 204

7.4.2对象指针 205

7.5构造函数和析构函数 207

7.5.1构造函数 207

7.5.2析构函数 208

7.5.3默认构造函数和默认析构函数 209

7.5.4复制构造函数 209

7.5.5浅复制和深复制 211

7.6对象在函数间的传递 214

7.6.1对象的复制传递方式 214

7.6.2对象的地址传递方式 215

7.6.3对象的引用方式 217

7.7 this指针 217

7.8常对象与常成员函数 218

7.8.1 常对象 218

7.8.2常成员函数 219

思考与练习题 220

第8章 派生与继承 222

8.1类的程序结构 222

8.2基类与派生类 223

8.2.1派生类的定义 223

8.2.2派生类的继承方式 226

8.2.3基类与派生类之间的关系 228

8.2.4基类指针与派生类指针 228

8.3单继承、多继承与继承链 228

8.4派生类与基类之间的内在关系 233

8.4.1 派生类的构造函数和析构函数 234

8.4.2构造函数和析构函数的执行顺序 235

8.4.3子类型 238

8.4.4类型适应 239

8.4.5对象的内存占用情况 239

8.5二义性与虚基类 241

8.5.1二义性问题 241

8.5.2虚基类 244

8.5.3虚基类的构造函数 246

8.6类层次中的访问规则 246

思考与练习题 247

第9章 友元与静态成员 249

9.1友元 249

9.1.1友元函数 249

9.1.2友元类 251

9.2静态成员 252

9.2.1静态数据成员 252

9.2.2静态成员函数 255

思考与练习题 257

第10章 虚拟函数与多态性 259

10.1静态绑定和动态绑定 259

10.1.1静态绑定 259

10.1.2动态绑定 261

10.2虚拟函数 261

10.2.1虚拟函数的技术内幕 264

10.2.2虚拟函数的应用举例 265

10.2.3虚析构函数 269

10.3纯虚拟函数与抽象类 270

10.3.1纯虚拟函数 270

10.3.2抽象类 271

思考与练习题 276

第11章 重载与模板 279

11.1 重载 279

11.1.1运算符重载 279

11.1.2类型转换 284

11.1.3特殊运算符的重载 285

11.2模板 290

11.2.1函数模板 291

11.2.2类模板 293

11.2.3模板与友元 298

11.2.4模板与static成员 300

11.2.5类模板的派生与继承 300

思考与练习题 300

第12章 异常处理 303

12.1异常的概念 303

12.1.1异常的定义 303

12.1.2异常处理的基本思想 303

12.2异常处理的编程方法 304

12.2.1异常处理的三个语句 304

12.2.2异常处理的执行过程 305

12.2.3异常处理的基本步骤 305

12.2.4多类型的异常处理 306

12.2.5再抛出异常 308

12.2.6构造函数、析构函数与异常处理 309

12.3异常处理类 309

思考与练习题 310

第13章 c+输入和输出 312

13.1流输入输出 312

13.1.1提取运算符和插入运算符 312

13.1.2标准出错输出(cerr/clog) 315

13.1.3输入流类 315

13.1.4输出流类 316

13.1.5格式化输入输出 317

13.2磁盘文件的输入输出 324

13.2.1文本文件的输入输出 324

13.2.2二进制数据文件 328

13.2.3随机数据文件 329

思考与练习题 331

参考文献 332