标题：C++ Primer Plus程序设计
基本信息
原书名：C++ Primer Plus (5th Edition)
原出版社： SAMS
作者：（美）Stephen Prata   
译者：孙建春 韦强
出版社：人民邮电出版社
ISBN：7115134162
出版日期：2005 年5月
开本：16开
页码：788
版次：1-1
编辑推荐
本书享有“程序员和开发人员学习C++的完整教程”的美誉，它经过仔细的测试，制作精细，是计算机行业的经典著作。前4版在美国的总销售量超过了10万册。
“想掌握C++就选这本书吧!绝对是进入C++殿堂的踏脚石，守护你度过最危险的沼泽!”
内容简介
c++是在c语言基础上开发的一种集面向对象编程、通用编程和传统的过程化编程于一体的编程语言，是c语言的超集。本书是根据2003年的iso/ansi c++标准编写的，通过大量短小精悍的程序详细而全面地阐述了c++的基本概念和技术。
全书分17章和10个附录，分别介绍了c++程序的运行方式、基本数据类型、复合数据类型、循环和关系表达式、分支语句和逻辑操作符、函数重载和函数模板、内存模型和名称空间、类的设计和使用、多态、虚函数、动态内存分配、继承、代码重用、友元、异常处理技术、string类和标准模板库、输入/输出等内容。
本书针对c++初学者，从c语言基础知识开始介绍，然后在此基础上详细阐述c++新增的特性，因此不要求读者有较多c语言方面的背景知识。本书可作为高等院校c++课程的教材，也可供初学者自学c++时使用。
本书享有“程序员和开发人员学习c++的完整教程”的美誉，它经过仔细的测试，制作精细，是计算机行业的经典著作。前4版在美国的总销售量超过了10万册。该书阐述了包括结构化代码和自顶向下设计在内的编程原理，涵盖了类。继承。模板。异常以及最新的面向对象编程技术等内容。
作者stephen prata是受人尊敬的作者和教育家，他以清晰的语言，对c++做了具有启发性的、见解深刻的介绍。本书在解释基本概念的同时，兼顾了c++语言的细节。书中通过大量简短、易于输入的范例，每次阐述一两个概念，激励读者通过立刻应用来掌握全新的主题；而每章最后的复习题和编程练习则强调了最重要的信息，并帮助读者消化最难以理解的概念。本书是一本友好而易于使用的自学指南，适合用做编程课程的教材，也可供熟悉其他语言的开发人员参考，以更深入地理解c++语言的基本知识。
本书采用了各种教学技巧，以提高读者的学习效率： ● 兼顾基本c语言知识和c++特性；
就何时以及为何使用特性提供了概念性指南；
强调实践，通过简短、易于输入的范例每次阐述一两个概念；
包含几百个范例程序；
通过示意图、注意、提示等来组织和区分相关的概念；
提供了复习题和编程练习，让读者能够测试自己对所学知识的理解程度；
以极大的灵活性实际使用通用c++——不要求读者使用特定的计算机、操作系统或编译器；
以iso／ansi标准为基础，对模板、标准模板库、字符串类、异常、rtti和名称空间进行了讨论。
作译者
Stephen Prata在加州肯特菲尔得的马林学院教授天文、物理和计算机科学。他毕业于加州理工学院，在加州大学伯克利分校获得博士学位。Stephen本人或与他人合作编写的图书有十多本。他撰写的The Waite Group's New C Primer Plus一书获得了计算机出版联合会1990年度最佳“How-to”计算机图书奖；他撰写的The Waite Group's C++ Primer Plus一书获得了计算机出版联合会1991年度最佳“How-to”计算机图书奖的提名。
目录
第1章　预备知识　1
1.1　c++简介　1
1.2　c++简史　2
1.2.1　c语言　2
1.2.2　c语言编程原理　2
1.2.3　面向对象编程　3
1.2.4　c++和通用编程　4
1.2.5　c++的起源　4
1.3　可移植性和标准　5
1.4　程序创建的技巧　6
1.4.1　创建源代码文件　7
1.4.2　编译和链接　8
1.5　总结　11
第2章　开始学习c++　12
2.1　进入c++　12
2.1.1　main()函数　14
2.1.2　c++注释　15
2.1.3　c++预处理器和iostream文件　16
2.1.4　头文件名　16
2.1.5　名称空间　17
.2.1.6　使用cout进行c++输出　18
2.1.7　c++源代码的格式化　19
2.2　c++语句　21
2.2.1　声明语句和变量　21
2.2.2　赋值语句　22
2.2.3　cout的新花样　23
2.3　其他c++语句　23
2.3.1　使用cin　24
2.3.2　使用cout进行拼接　24
2.3.3　类简介　25
2.4　函数　26
2.4.1　使用有返回值的函数　26
2.4.2　函数变体　28
2.4.3　用户定义的函数　29
2.4.4　用户定义的有返回值的函数　31
2.4.5　在多函数程序中使用using编译指令　32
2.5　总结　33
2.6　复习题　34
2.7　编程练习　34
第3章　处理数据　36
3.1　简单变量　36
3.1.1　变量名　37
3.1.2　整型　38
3.1.3　short、int和long　38
3.1.4　无符号类型　41
3.1.5　选择整型类型　43
3.1.6　整型常量　44
3.1.7　c++如何确定常量的类型　45
3.1.8　char类型：字符和小整数　45
3.1.9　新的bool类型　50
3.2　const限定符　51
3.3　浮点数　51
3.3.1　书写浮点数　52
3.3.2　浮点类型　53
3.3.3　浮点常量　54
3.3.4　浮点数的优缺点　55
3.4　c++算术操作符　55
3.4.1　操作符优先级和结合性　56
3.4.2　除法分支　57
3.4.3　求模操作符　58
3.4.4　类型转换　59
3.5　总结　62
3.6　复习题　63
3.7　编程练习　63
第4章　复合类型　65
4.1　数组　65
4.2　字符串　68
4.2.1　拼接字符串常量　70
4.2.2　在数组中使用字符串　70
4.2.3　字符串输入　71
4.2.4　每次读取一行字符串输入　72
4.2.5　混合输入字符串和数字　75
4.3　string类简介　76
4.3.1　赋值、拼接和附加　77
4.3.2　string类的其他操作　78
4.3.3　string类i/o　79
4.4　结构简介　81
4.4.1　在程序中使用结构　82
4.4.2　结构可以将string类作为成员吗　84
4.4.3　其他结构属性　84
4.4.4　结构数组　85
4.4.5　结构中的位字段　86
4.5　共用体　86
4.6　枚举　88
4.6.1　设置枚举量的值　89
4.6.2　枚举的取值范围　89
4.7　指针和自由存储空间　89
4.7.1　声明和初始化指针　92
4.7.2　指针的危险　93
4.7.3　指针和数字　93
4.7.4　使用new来分配内存　94
4.7.5　使用delete来释放内存　95
4.7.6　使用new来创建动态数组　96
4.8　指针、数组和指针算术　98
4.8.1　程序说明　99
4.8.2　指针和字符串　101
4.8.3　使用new创建动态结构　104
4.8.4　自动存储、静态存储和动态存储　107
4.9　总结　108
4.10　复习题　109
4.11　编程练习　109
第5章　循环和关系表达式　111
5.1　for循环　111
5.1.1　for循环的组成部分　112
5.1.2　回到for循环　116
5.1.3　修改步长　118
5.1.4　使用for循环访问字符串　118
5.1.5　递增操作符(++)和递减操作符(--)　119
5.1.6　副作用和顺序点　119
5.1.7　前缀格式和后缀格式　120
5.1.8　递增/递减操作符和指针　120
5.1.9　组合赋值操作符　121
5.1.10　复合语句(语句块)　122
5.1.11　逗号操作符(或其他句法技巧)　123
5.2　关系表达式　125
5.2.1　可能犯的错误　126
5.2.2　c-风格字符串的比较　127
5.2.3　比较string类字符串　129
5.3　while循环　130
5.3.1　for与while　131
5.3.2　等待一段时间：编写延时循环　132
5.4　do while循环　134
5.5　循环和文本输入　136
5.5.1　使用原始的cin进行输入　136
5.5.2　使用cin.get(char)进行补救　137
5.5.3　使用哪一个cin.get()　138
5.5.4　文件尾条件　138
5.5.5　另一个cin.get()版本　140
5.6　嵌套循环和二维数组　142
5.7　总结　145
5.8　复习题　145
5.9　编程练习　146
第6章　分支语句和逻辑操作符　148
6.1　if语句　148
6.1.1　if else语句　149
6.1.2　格式化if else语句　151
6.1.3　if else if else结构　152
6.2　逻辑表达式　153
6.2.1　逻辑or操作符：
前言
学习C++是一次探索之旅，因为这种语言容纳了好几种编程模式，其中包括面向对象编程、通用编程和传统的过程化编程。随着新特性的不断添加，C++一度成为一个活动目标，不过现在有了2003年的ISO／ANSIC++标准第二版后，已经稳定下来了。现代编译器支持该标准要求的多数或全部特性，程序员要花时间来习惯这些特性的应用。本书第五版是按ISO／ANSI标准编写的，将介绍这种成熟的C++版本。
本书在介绍C++特性的同时，讨论了基本C语言，使二者成为有机的整体。书中介绍了C++的基本概念，并通过短小精悍的程序来阐明，这些程序都很容易复制和试验。还介绍了输入和输出、如何让程序执行重复性任务、如何让程序做出选择、处理数据的多种方式以及如何使用函数等内容。另外，还讲述了C++在C语言的基础上新增的许多特性，其中包括：
类和对象。
继承。
多态、虚函数和RTTI(运行阶段类型识别)。
函数重载。
引用变量。
通用(或独立于类型的)编程，这种技术是由模板和标准模板库(STL)提供的。
处理错误条件的异常机制。
管理函数、类和变量名的名称空间。
本书在传授知识方面有几个优点。大约20年前，《C Primer Plus))一书开创了优良的初级教程传统，本书建立在这样的基础之上，吸收了其中很多成功的理念：
初级教程应当是友好的、便于使用的指南。
初级教程不要求读者已经熟悉相关的编程概念。
初级教程强调的是“实践性”学习，通过简短、容易输入的范例同时阐述一个或多个概念。
初级教程用示意图来解释概念。
初级教程提供问题和练习来检验读者对知识的理解，从而适于自学或课堂教学。
基于上述理念，本书帮助读者理解这种用途广泛的语言，并学习如何使用它。例如：
对何时使用某些特性，例如何时使用公共继承来建立is-a关系，提供了概念方面的指导。
阐释了常用的C抖编程理念和技术。
提供了大量的附注，如提示、警告、注意等。