C++程序设计基础教程

C++程序设计基础教程"

作者:孙涛、周李涌、王丽颖
ISBN:9787302336815
定价:¥34.50
字数:千字
页数:
出版时间:2013.11.01
开本:
版次:1-2
装帧:
出版社:清华大学出版社
简介

本书系统地介绍了C++的语法规则和面向对象的程序设计方法,重点突出、逻辑清晰、简洁明了、深入浅出。书中精选了丰富的例题,对立体的语法规则、设计思路和输出结果做了详尽的解释和分析,所有例题均在Visual Studio C++6.0环境下运行通过。

本书适合作为高等学校计算机专业及相关专业的C++程序设计课程教材,也可作为编程人员的自学参考书。

前言

随着计算机技术的发展,种类繁多、特点各异的计算机语言在不同领域被广泛应用。C++作为一种高级语言,既具有面向对象的特征,又保留了传统的面向过程的程序设计方法的优点。它的可移植性、可靠性和高效率一直被广大程序开发人员所青睐。在C语言的基础上,C++增加了面向对象编程、数据抽象、类属编程等技术支持,通过继承和多态性,使程序具有很高的可重用性,使软件的开发和维护更方便。C++语言既可以用于开发系统软件,也普遍用于开发应用软件,同时也广泛地应用于科研和教学。

本书内容深入浅出,概念全面,突出重点,侧重基础。针对初学者和自学者的特点,力求用通俗易懂、简洁浅显的语言讲述复杂的概念,不但适合作为计算机专业程序设计基础课教材,也可作为电子信息、通信、自动化等相关专业的程序设计课程教材。

参与本书编写的作者都是长期工作在教学和科研第一线教师,有多年的C++程序设计课程的教学和编程经验。在编写过程中,作者总结了日常教学的经验,对一些常见问题进行了重点说明和讲解,力争使本书零距离贴近教学实际。

本书共12章,每章配备了丰富的实例讲解和精选习题,帮助读者更好地掌握本章内容,提高计算思维能力。本书中所有例题均在Microsoft Visual C++6.0的环境下调试通过,并配有运行截图。本书配套电子教案及书中所有章节的例题源程序代码均可从清华大学出版社网站(http://www.tup.com.cn)上的本书页面中下载。

本书第4章和第5章由孙涛编写,第8章和第9章由周李涌编写,第1章和第6章由王丽颖编写,第3章和第10章由杜鹏东编写,第7章由高鹭编写,第2章由徐喜志编写,第11章和第12章由郝斌编写。全书由张晓琳教授修改定稿。

本书获得2013年度内蒙古科技大学教材基金资助。

由于编者水平有限,疏漏之处在所难免,恳请读者批评指正。

编者

2013年7月

目录

第1章绪论1

1.1面向对象程序设计方法1

1.1.1面向过程程序设计1

1.1.2面向对象程序设计1

1.1.3面向对象程序设计的特征2

1.2一个简单的C++程序3

1.3C++程序开发平台4

1.3.1界面介绍4

1.3.2编辑C++源程序5

1.3.3编译6

1.3.4链接7

1.3.5执行程序8

1.3.6直接运行程序10

1.4知识点小结10

1.5习题11第2章C++程序设计基础12

2.1字符集与关键字12

2.1.1标识符(identifier)12

2.1.2关键字(keyword)12

2.1.3分隔符13

2.2基本数据类型13

2.2.1整型13

2.2.2字符型14

2.2.3浮点型14

2.2.4布尔型14

2.3常量15

2.3.1整型常量15

2.3.2浮点型常量15

2.3.3字符型常量15

2.3.4字符串常量16

2.4变量16

2.4.1变量的定义16

2.4.2变量的初始化17

2.4.3符号常量的定义18

2.4.4指针变量19

2.4.5引用变量22

2.5变量的定义与访问23

2.5.1按名称访问23

2.5.2按地址访问23

2.5.3引用方式访问24

2.6运算符与表达式25

2.6.1赋值运算符25

2.6.2算术运算符25

2.6.3关系运算符27

2.6.4逻辑运算符28

2.6.5条件运算符29

2.6.6逗号运算符30

2.6.7sizeof运算符30

2.6.8位运算31

2.7类型转换32

2.8运算符的优先级35

2.9构造数据类型36

2.9.1结构体36

2.9.2共用体38

2.9.3枚举38

2.10程序的基本控制结构39

2.10.1单分支结构39

2.10.2双分支结构40

2.10.3多分支结构41

2.10.4while循环46

2.10.5dowhile循环48

2.10.6for循环49

2.10.7循环的嵌套53

2.10.8break和continue53

2.11知识点小结56

2.12习题56第3章函数59

3.1函数的概述59

3.2函数的定义和调用59

3.2.1函数的定义59

3.2.2函数的声明60

3.2.3函数的参数61

3.2.4函数的返回值62

3.2.5函数的调用64

3.3函数的参数传递67

3.3.1传值调用67

3.3.2传地址调用68

3.4引用在函数中的应用69

3.4.1引用作为函数参数69

3.4.2引用作为函数返回值70

3.5默认参数的函数70

3.6内联函数72

3.7重载函数73

3.8变量的作用域与存储类别76

3.8.1变量的作用域76

3.8.2变量的存储类别79

3.9作用域限定运算符82

3.10知识点小结83

3.11习题84第4章类与对象86

4.1类与对象的含义86

4.1.1对象的含义86

4.1.2类的含义87

4.1.3对象与类的关系87

4.2类的封装87

4.2.1封装87

4.2.2类成员的访问权限88

4.2.3类的定义88

4.2.4类的成员函数89

4.3对象的创建91

4.3.1对象的声明与定义91

4.3.2对象的成员访问91

4.4构造函数与析构函数93

4.4.1构造函数94

4.4.2默认构造函数95

4.4.3拷贝构造函数96

4.4.4析构函数101

4.5动态创建对象103

4.6this指针105

4.7类的组合106

4.8多文件结构108

4.8.1C++源文件的组织108

4.8.2多文件结构中的外部变量和外部函数110

4.9知识点小结112

4.10习题114第5章静态成员与友元118

5.1类的静态成员118

5.1.1静态数据成员118

5.1.2静态成员函数120

5.2友元123

5.2.1友元函数124

5.2.2友元成员125

5.2.3友元类126

5.3常对象与常成员128

5.3.1常对象128

5.3.2常成员函数129

5.3.3常数据成员130

5.4知识点小结132

5.5习题132第6章数组与指针134

6.1数组的定义与使用134

6.1.1数组的定义134

6.1.2数组的存储135

6.1.3数组的初始化137

6.1.4数组元素的使用138

6.1.5指针的运算141

6.2字符数组与字符串144

6.2.1字符数组的初始化144

6.2.2字符数组的输入和输出145

6.2.3字符指针与字符串148

6.2.4常用的字符串处理函数150

6.3对象指针153

6.4对象数组153

6.4.1对象数组的定义153

6.4.2对象数组的初始化154

6.5动态创建对象数组156

6.5.1动态创建对象数组156

6.5.2动态撤销对象数组156

6.5.3深拷贝和浅拷贝158

6.6数组做函数的参数161

6.6.1数组元素做参数161

6.6.2数组名做参数161

6.6.3指针做参数162

6.7知识点小结165

6.8习题166第7章派生与继承167

7.1派生与继承的概念及意义167

7.2派生类的声明方式及其成员的访问控制171

7.2.1派生类的声明方式和构成172

7.2.2公有继承173

7.2.3私有继承176

7.2.4保护继承178

7.2.5不同继承方式的比较179

7.3派生类的构造函数与析构函数180

7.3.1简单派生类的构造函数180

7.3.2有子对象的派生类的构造函数184

7.3.3多层派生时的构造函数186

7.3.4派生类的析构函数187

7.4多重继承189

7.4.1声明多重继承的方式189

7.4.2多重继承派生类的构造函数190

7.4.3多重继承的二义性问题192

7.4.4虚基类194

7.5赋值兼容202

7.6继承与组合204

7.7知识点小结205

7.8习题206第8章多态211

8.1多态性概念211

8.2虚函数212

8.2.1虚函数的作用212

8.2.2虚析构函数216

8.3纯虚函数与抽象类217

8.4运算符重载225

8.4.1运算符重载函数225

8.4.2典型运算符重载231

8.4.3类型转换241

8.5知识点小结248

8.6习题249第9章模板254

9.1函数模板254

9.1.1函数模板与模板函数254

9.1.2类型参数表与函数模板实例化258

9.1.3函数模板的特化260

9.1.4函数模板的重载261

9.2类模板265

9.2.1类模板的定义和实例化265

9.2.2类模板的特化274

9.3类模板静态成员与友元276

9.3.1类模板的静态成员276

9.3.2类模板的友元277

9.3.3函数模板是两个类的友元280

9.4派生类模板281

9.4.1由普通类派生类模板281

9.4.2由类模板派生类模板283

9.5知识点小结284

9.6习题285第10章输入输出流288

10.1I/O流的概念及流类库结构288

10.1.1I/O流的概念288

10.1.2I/O流类库结构289

10.2I/O标准流290

10.2.1标准流对象290

10.2.2标准输出流290

10.2.3标准输入流295

10.3插入和提取运算符的重载297

10.3.1系统预先对插入和提取运算符的重载297

10.3.2用户自定义对插入和提取运算符的重载298

10.4文件的输入输出299

10.4.1文件及分类299

10.4.2文件的打开与关闭300

10.4.3文本文件操作301

10.4.4二进制文件操作302

10.5字符串流操作303

10.6知识点小结305

10.7习题305第11章命名空间与异常处理307

11.1命名空间307

11.1.1命名空间的产生背景及作用307

11.1.2命名空间的定义和使用307

11.1.3标准命名空间std309

11.2异常处理概述310

11.2.1异常处理产生背景310

11.2.2标准C++异常处理的特点311

11.2.3异常处理的机制311

11.3异常处理的实现312

11.3.1语法312

11.3.2异常接口说明314

11.4异常处理中的构造与析构314

11.5异常处理程序举例316

11.6知识点小结319

11.7习题319第12章C++标准模板库321

12.1C++标准模板库简介321

12.2C++标准模板库概述321

12.3容器322

12.3.1序列式容器322

12.3.2关联式容器324

12.3.3容器配接器324

12.4迭代器325

12.4.1迭代器概述325

12.4.2迭代器分类326

12.5算法326

12.5.1区间的概念326

12.5.2多区间处理328

12.6配接器329

12.7仿函数330

12.8知识点小结331

12.9习题331

参考文献333

作者简介

编辑推荐

作者寄语

电子资料

www.luweidong.cn

下一个