标题：C++高级语言程序设计
图书信息
书　名　C++高级语言程序设计(北京市高等教育精品教材立项项目)
丛 书 名　21世纪高等学校计算机规划教材——精品系列
标准书号　ISBN 978-7-115-24632-5[1]
编目分类　TP312
作　者　徐惠民 等编著
译　者　--  
责任编辑　贾楠
开　本　16 开
印　张　17.75
字　数　443 千字
页　数　276 页
装　帧　平装
版　次　第1版第1次
初版时间　2011年2月
本 印 次　2011年2月
首 印 数　-- 册
定　价　32.00 元
内容提要
《C++高级语言程序设计》将C++语言作为大学生学习程序设计的入门语言。全书共9章，第1章、第3章、第5章讲解程序的结构和组织，第2章、第4章、第6章讨论数据类型和数据的组织，第7章、第8章、第9章讲述面向对象的程序设计。
《C++高级语言程序设计》的编写目的是为学生打好程序设计的基础，因此，特别注意在介绍基本概念和基本方法的同时，重视良好编程习惯的培养。另外，专业术语配有英文。
《C++高级语言程序设计》内容全面，重点突出，深入浅出，同时配有大量习题，适合作为大学各专业的程序设计课程入门教材，也可以作为程序设计基础的培训教材和自学参考书。
作者简介
徐惠民，北京邮电大学信息与通信工程学院教授、博士生导师、北京地区普通高等学校非计算机专业计算机基础教育教学指导评议委员会委员。享受国务院政府特殊津贴。 自1990年开始从事计算机系列课程的建设和教学，是北京邮电大学非计算机专业计算机基础课程改革的主要推动者之一，负责课程有 C++程序设计、微机原理与接口技术、现代计算机网络、计算机辅助逻辑设计和模拟、嵌入式系统及实验、面向对象程序设计和C++ 曾编写教材有 《微机原理与接口技术》、《基于VxWorks的嵌入式系统及实验》、《大学计算机基础》、《C++大学基础教程》、《数字逻辑设计与VHDL描述》、《系统开发规范与文档编写》、《计算机应用基础教程》、《单片微型计算机原理、接口及应用》。 
目录
第1章　C++初步　1
1.1　程序设计语言的发展　1
1.2　面向过程的程序设计　2
1.3　面向对象程序设计　3
1.4　C++的诞生　4
1.5　程序开发过程　5
1.6　最简单的C++程序　6
1.7　内存的抽象表示和使用　8
本章小结　9
习题和思考题　10
第2章　基本数据类型与表达式　11
2.1　C++的词法记号和标识符　11
2.1.1　字符集　11
2.1.2　关键字　11
2.1.3　标识符　12
2.1.4　分隔符　12
2.1.5　空白　12
2.2　基本数据类型　12
2.3　变量和常量　15
2.3.1　变量　15
2.3.2　常量　17
2.4　运算符和表达式　20
2.4.1　表达式　20
2.4.2　语句和块　20
2.4.3　运算符　20
2.5　基本输入/输出　29
2.5.1　标准输入流　29
2.5.2　标准输出流　30
2.5.3　I/O流的格式控制　31
2.5.4　文件的输入和输出　34
2.6　使用string类型处理字符串　36
2.6.1　string对象的定义和初始化　36
2.6.2　string对象的操作　36
本章小结　38
习题和思考题　38
第3章　C++控制语句　42
3.1　算法的基本控制结构　42
3.1.1　程序的3种控制结构　42
3.1.2　算法及其表示　43
3.2　if选择语句　45
3.2.1　没有else分支的形式　45
3.2.2　双分支形式　46
3.2.3　多分支形式　47
3.2.4　if语句的嵌套　48
3.3　switch选择语句　50
3.4　循环语句　54
3.4.1　while循环语句　55
3.4.2　do-while循环语句　57
3.4.3　for循环语句　58
3.4.4　break语句和continue语句　61
3.5　循环嵌套　62
3.5.1　循环结构嵌套　62
3.5.2　循环结构和选择结构的相互嵌套　63
3.6　应用举例　65
本章小结　69
习题和思考题　69
第4章　数组及其他自定义类型　72
4.1　数组　72
4.1.1　数组定义及初始化　72
4.1.2　访问数组元素　75
4.1.3　字符数组　77
4.1.4　多维数组　79
4.1.5　数组应用举例　84
4.1.6　数组小结　87
4.2　枚举类型　87
4.2.1　枚举类型定义　88
4.2.2　枚举变量定义及使用　88
4.2.3　应用举例　89
4.3　结构类型　89
4.3.1　结构类型的定义和初始化　90
4.3.2　结构数组　92
4.4　联合类型　94
本章小结　96
习题和思考题　97
第5章　函数　100
5.1　函数概述　100
5.1.1　自定义函数概述　100
5.1.2　库函数概述　101
5.2　函数定义及使用　102
5.2.1　函数的定义　102
5.2.2　函数原型　104
5.2.3　return语句　106
5.2.4　函数调用方式　108
5.3　函数调用的执行机制和参数传递方式　109
5.3.1　函数调用的执行机制　110
5.3.2　函数的参数传递方式　111
5.4　递归函数和递归调用　117
5.4.1　嵌套调用　117
5.4.2　递归函数和递归调用　118
5.5　内联函数　121
5.6　重载函数　121
5.7　默认参数值的函数　122
5.8　全局变量与局部变量　124
5.8.1　局部变量　124
5.8.2　全局变量　124
5.8.3　作用域　125
5.9　变量的存储类型和生存期　126
5.9.1　变量的存储类型　127
5.9.2　生存期　129
5.9.3　多文件结构　129
5.10　编译预处理　130
5.11　结构化程序设计举例　133
本章小结　136
习题和思考题　136
第6章　指针和引用　140
6.1　指针的概念　140
6.1.1　指针和指针变量　140
6.1.2　指针变量的声明和初始化　141
6.2　指针的运算　142
6.2.1　指针的赋值运算　142
6.2.2　指针的间接引用运算　143
6.2.3　指针的算术运算　143
6.2.4　指针的关系运算和逻辑运算　144
6.2.5　void类型指针　144
6.2.6　指针类型转换　146
6.3　指针访问动态内存　146
6.3.1　动态内存的申请和释放　147
6.3.2　动态数组空间的申请和释放　147
6.3.3　内存泄漏和指针悬挂　147
6.4　指向结构体的指针　148
6.5　引用概念　149
6.5.1　引用的声明　149
6.5.2　引用的使用　150
6.6　指针和引用作为函数的参数　150
6.6.1　指针作为函数参数　150
6.6.2　引用作为函数参数　152
6.6.3　常指针和常引用　153
6.6.4　指针的指针作为参数　155
6.7　指针和引用作为函数的返回值　157
6.7.1　指针函数　157
6.7.2　引用作为函数的返回值　158
6.8　指针和字符串　159
6.8.1　字符串处理的两种方式　159
6.8.2　字符串操作函数　160
6.9　通过指针访问数组　161
6.9.1　通过指针访问一维数组　161
6.9.2　指针数组　163
本章小结　164
习题和思考题　165
第7章　类与对象　167
7.1　类和对象的定义　167
7.1.1　基本概念　167
7.1.2　类的声明　168
7.1.3　类的实现　170
7.1.4　对象的定义和使用　171
7.1.5　类的作用域与可见性　172
7.2　对象的使用　174
7.2.1　对象指针　174
7.2.2　this指针　175
7.2.3　对象数组　176
7.2.4　对象作为普通函数的参数与返回值　177
7.3　构造函数　180
7.4　析构函数　184
7.5　类的静态成员　186
7.5.1　静态数据成员　186
7.5.2　静态成员函数　188
7.6　类成员的保护和使用　188
7.6.1　类的封装性　188
7.6.2　友元　189
7.6.3　常对象和常成员　192
7.7　运算符重载　194
7.7.1　运算符重载的使用及其限制　194
7.7.2　运算符重载的定义　195
7.8　类的组合　199
7.9　应用举例　201
7.10　面向对象分析和设计　206
7.10.1　软件工程　206
7.10.2　面向对象分析　206
7.10.3　面向对象设计　207
7.10.4　面向对象的意义　207
本章小结　208
习题和思考题　209
第8章　继承与派生　213
8.1　继承的概念　213
8.2　定义基类和派生类　214
8.2.1　简单的继承和派生　214
8.2.2　定义派生类　216
8.2.3　访问控制和继承的关系　216
8.2.4　同名覆盖　218
8.3　构造函数和析构函数　219
8.3.1　基类只有无参构造函数　219
8.3.2　派生类构造函数　219
8.3.3　包含内嵌对象的派生类构造函数　222
8.3.4　析构函数　230
8.4　转换与继承　232
8.4.1　派生类到基类的转换　232
8.4.2　基类到派生类不存在转换　235
本章小结　235
习题和思考题　235
第9章　多态　239
9.1　多态的概念　239
9.1.1　面向对象程序设计中的多态　239
9.1.2　多态的实现——联编　240
9.2　重载、覆盖与静态联编　240
9.2.1　重载与静态联编　240
9.2.2　覆盖与静态联编　241
9.3　虚函数与运行时多态　247
9.3.1　虚函数　248
9.3.2　虚析构函数　251
9.4　纯虚函数与抽象类　254
9.5　模板　255
9.5.1　函数模板　255
9.5.2　函数模板使用中的问题　258
9.5.3　重载函数模板　260
9.5.4　类模板　261
本章小结　264
习题和思考题　265
附录　常用C++标准类库　268
附1　I/O流类　268
附1.1　标准输出流对象　269
附1.2　标准输入流对象　270
附1.3　文件输出流　270
附1.4　文件输入流　271
附2　string类　272
附2.1　string对象的初始化　272
附2.2　string对象的基本操作　272
附3　vector类　274
参考文献　276
案例与实践辅导
书　名　C++高级语言程序设计案例与实践辅导(北京市高等教育精品教材立项项目配套教材)
丛 书 名　21世纪高等学校计算机规划教材——精品系列
标准书号　ISBN 978-7-115-27276-8[2]
编目分类　TP312
作　者　徐惠民 主编
译　者　--  
责任编辑　贾楠
开　本　16 开
印　张　17
字　数　450 千字
页　数　266 页
装　帧　平装
版　次　第1版第1次
初版时间　2012年3月
本 印 次　2012年3月
首 印 数　-- 册
定　价　34.00 元
内容简介
本书是《C++高级语言程序设计》的学习辅导书。全书共12章，第1章介绍了在VC2005集成开发环境下编程的步骤和程序调试方法，第2章～第9章与主教材《C++高级语言程序设计》对应，包括了原教材各章的习题答案、补充的程序设计案例和上机实验题，第10章、第11章涉及课程设计的相关内容（第10章介绍了Windows程序设计的基础知识，第11章提供了3个课程设计案例和设计题），第12章是全国计算机等级考试C/C++考试真题和详解。
本书的重点是编程案例和课程设计案例。本书编写的目的是为学生打好程序设计的基础，提高其编程能力，因此，在编程案例的选择上特别注意涵盖C++语言的基本概念，不仅给出各案例的程序代码，还附有分析、设计、代码说明、运行结果解释等。另外，示例代码体现了对培养良好编程习惯的重视。
本书为读者学习C++高级语言程序设计、提高编程能力提供了充足的内容，适合作为大学各专业的C++程序设计课程的辅导书和C++课程设计的教材，也可供程序设计爱好者自学使用。
目录概览
第1章　VC2005编程环境介绍　
第2章　基本数据类型和表达式　
第3章　C++控制语句　
第4章　数组及其他自定义类型　
第5章　函数　
第6章　指针和引用　
第7章　类和对象　
第8章　继承与派生　
第9章　多态　
第10章　Windows程序设计基础　
第11章　课程设计　
第12章　全国计算机等级考试二级测试及分析