编辑推荐
经久不衰的C++畅销经典教程
涵盖C++11新标准
本书是精心设计而且经过仔细测试的C++完整教程,涵盖了C++语言的大多数核心主题。本书作为C++语言的经典巨著,讲解了编程原理(包括结构化代码和自顶向下设计)、类、继承、模板、异常、lambda表达式、智能指针和移动语义等知识。
本书作者以一种清晰、易于理解的方式对C++进行了全面介绍,还讲解了基本的编程概念以及C++语言的具体细节。本书还通过短小实用的示例一次解释一两个概念,并立即学以致用,以帮助读者迅速掌握新的主题。
每章后面的复习题和编程练习题可以帮助读者关注大多数关键信息,并消化、吸收很困难的概念。
本书组织有序、易于学习和使用,无论是对编程感兴趣的学生,还是已经精通其他编程语言,但是想更好地理解C++语言核心本质的开发人员,本书都是他们想要的。
本书在之前版本的基础上进行了全面更新,并涵盖了C++11新标准的细节。
在本书中可以找到深度与广度齐备的多种教学技术和工具,以加深学习:
完整、综合讨论了C语言基本知识和其他C++特性;
给出了何时、为何使用特性的明确指导;
通过简洁、简单的示例一次掌握一两个概念;
包含数百个实用程序示例;
每章后面的复习题和编程练习题可以测试你的理解情况;
涵盖了C++泛型编程,给予了优选程度的灵活性;
讲解了ISO标准,包括模板、标准模板库、string类、异常、RTTI和名称空间的讨论。
读者可通过http://www.informit.com/content/images/9780321776402/downloads/0321776402_Examples.zip下载本书的源代码。
内容简介
C 是在C语言基础上开发的一种集面向对象编程、泛型编程和过程化编程于一体的编程语言,是C语言的超集。《C Primer Plus(第6版)英文版(上、下册)》是根据2003年的ISO/ANSI C 标准编写的,通过大量短小精悍的程序详细而全面地阐述了C 的基本概念和技术,并专辟一章介绍了C 11新增的功能。
全书分18章和10个附录,分别介绍了C 程序的运行方式、基本数据类型、复合数据类型、循环和关系表达式、分支语句和逻辑运算符、函数重载和函数模板、内存模型和名称空间、类的设计和使用、多态、虚函数、动态内存分配、继承、代码重用、友元、异常处理技术、string类和标准模板库、输入/输出、C 11新增功能等内容。
《C Primer Plus(第6版)英文版(上、下册)》针对C 初学者,书中从C语言基础知识开始介绍,然后在此基础上详细阐述C 新增的特性,因此不要求读者有C语言方面的背景知识。
《C Primer Plus(第6版)英文版(上、下册)》可作为高等院校C 课程的教材,也可供初学者自学C 时使用。
作者简介
Stephen Prata,在美国加州肯特菲尔得的马林学院教授天文、物理和计算机科学。他毕业于加州理工学院,在美国加州大学伯利分校获得博士学位。他单独或与他人合作编写的编程图书有十多本,包括C++ Primer Plus的之前版本以及C Primer Plus,后者还获得了计算机出版联合会1991年度很好“How-to”计算机图书奖提名。
目录
- 上册
- Introduction
- 1 Getting Started with C
- Learning C : What Lies Before You
- The Origins of C : A Little History
- Portability and Standards
- The Mechanics of Creating a Program
- Summary
- 2 Setting Out to C
- C Initiation
- C Statements
- More C Statements
- Functions
- Summary
- Chapter Review
- Programming Exercises
- 3 Dealing with Data
- Simple Variables
- The const Qualifier
- Floating-Point Numbers
- C Arithmetic Operators
- Summary
- Chapter Review
- Programming Exercises
- 4 Compound Types
- Introducing Arrays
- Strings
- Introducing the string Class
- Introducing Structures
- Unions
- Enumerations
- Pointers and the Free Store
- Pointers, Arrays, and Pointer Arithmetic
- Combinations of Types
- Array Alternatives
- Summary
- Chapter Review
- Programming Exercises
- 5 Loops and Relational Expressions
- Introducing for Loops
- The while Loop
- The do while Loop
- The Range-Based for Loop (C 11)
- Loops and Text Input
- Nested Loops and Two-Dimensional Arrays
- Summary
- Chapter Review
- Programming Exercises
- 6 Branching Statements and Logical Operators
- The if Statement
- Logical Expressions
- The cctype Library of Character Functions
- The ?: Operator
- The switch Statement
- The break and continue Statements
- Number-Reading Loops
- Simple File Input/Output
- Summary
- Chapter Review
- Programming Exercises
- 7 Functions: C 's Programming Modules
- Function Review
- Function Arguments and Passing by Value
- Functions and Arrays
- Functions and Two-Dimensional Arrays
- Functions and C-Style Strings
- Functions and Structures
- Functions and string Class Objects
- Functions and array Objects
- Recursion
- Pointers to Functions
- Summary
- Chapter Review
- Programming Exercises
- 8 Adventures in Functions
- C Inline Functions
- Reference Variables
- Default Arguments
- Function Overloading
- Function Templates
- Summary
- Chapter Review
- Programming Exercises
- 9 Memory Models and Namespaces
- Separate Compilation
- Storage Duration, Scope, and Linkage
- Namespaces
- Summary
- Chapter Review
- Programming Exercises
- 10 Objects and Classes
- Procedural and Object-Oriented Programming
- Abstraction and Classes
- Class Constructors and Destructors
- Knowing Your Objects: The this Pointer
- An Array of Objects
- Class Scope
- Abstract Data Types
- Summary
- Chapter Review
- Programming Exercises
- 11 Working with Classes
- Operator Overloading
- Time on Our Hands: Developing an Operator Overloading Example
- Introducing Friends
- Overloaded Operators: Member Versus Nonmember Functions
- More Overloading: A Vector Class
- Automatic Conversions and Type Casts for Classes
- Summary
- ChapterReview
- Programming Exercises
- 12 Classes and Dynamic Memory Allocation
- Dynamic Memory and Classes
- The New, Improved String Class
- Things to Remember When Using new in Constructors
- Observations About Returning Objects
- Using Pointers to Objects
- Reviewing Techniques
- A Queue Simulation
- Summary
- Chapter Review
- Programming Exercises
- 下册
- 13 Class Inheritance
- Beginning with a Simple Base Class
- Inheritance: An Is-a Relationship
- Polymorphic Public Inheritance
- Static and Dynamic Binding
- Access Control: protected
- Abstract Base Classes
- Inheritance and Dynamic Memory Allocation
- Class Design Review
- Summary
- Chapter Review
- Programming Exercises
- 14 Reusing Code in C
- Classes with Object Members
- Private Inheritance
- Multiple Inheritance
- Class Templates
- Summary
- Chapter Review
- Programming Exercises
- 15 Friends, Exceptions, and More