C++:An Introduction to Computing, 3/e

Joel Adams, Larry Nyhoff

  • 出版商: Prentice Hall
  • 出版日期: 2002-08-24
  • 售價: $920
  • 貴賓價: 9.8$902
  • 語言: 英文
  • 頁數: 996
  • 裝訂: Paperback
  • ISBN: 0130914266
  • ISBN-13: 9780130914262
  • 相關分類: C++ 程式語言
  • 下單後立即進貨 (約5~7天)




I think it's well written and intelligently presented. It's a good introduction not only to C++ programming, but also to computer science as a whole.

- Larry Herman, UNITEC Institute of Technology

This book has a very large number of exercises, with a large variety of types. It is one the things that attracted me to the text. I am pleased with the quantity and quality of the exercises in this book.

- Cary Laxer, Computer Science, Rose-Hulman Institute of Technology

Joel Adams and Larry Nyhoff address two key goals for first-year computing courses: to give students programming skills in a specific language, and to introduce them to the larger field of computer science. In this third edition of their best-selling book, these experienced educators offer a well-rounded approach to the methodologies and techniques of C++, while presenting students with a general overview of computing as a discipline, allowing them to put their learning into a broader context.


  • Provides carefully selected Part of the Picture presentations by computing experts as an overview of the discipline of computer science
  • Offers 500 Quick Quiz questions with answers and 800 written exercises to be used for written assignments
  • Includes more than 300 programming problems drawn from a wide range of application areas


  • A new chapter on data structures
  • Learning objectives listed at the beginning of each chapter
  • End-of-chapter summaries with key words and notes to help students identify the main concepts of each chapter
  • Case studies featuring problems with complete solutions, including both design and program code
  • Special optional OBJECTive Thinking sections to present classes and objects
  • Prentice Hall Companion Website at http://www.prenhall.com/adams and authors' website at http://cs.calvin.edu/books/c++/intro/3e/

Table of Contents

0. Beginning Snapshots.

PART OF THE PICTURE: What Is Computer Science? PART OF THE PICTURE: The History of Computing. PART OF THE PICTURE: Introduction to Computer Systems.

1. Problem Solving and Software Engineering.

Welcome to the World of C++. Problem Solving through Software Engineering. Case Study: Revenue Calculation. OBJECTive Thinking: Spheres As Objects. PART OF THE PICTURE: Ethics and Issues.

2. Types.

Introductory Example: Computing Student Pay. Types and Declarations. PART OF THE PICTURE: Data Representation. OBJECTive Thinking: Attribute Variables.

3. Operations and Expressions.

Introductory Example: Einstein's Equation. Numeric Expressions. Boolean Expressions. Character Expressions. Assignment Expressions. Input/Output Expressions. Example: Truck Fleet Accounting. OBJECTive Thinking: Initialization and Constructors.

4. Functions.

Introductory Example: Temperature Conversion with Expressions. Introductory Example: Temperature Conversion with Functions. Functions That Use Selection. Functions That Use Repetition. PART OF THE PICTURE: Computability Theory. Case Study: An 8-Function Calculator. An Introduction to Libraries. OBJECTive Thinking: Class Methods.

5. Using Classes.

Introductory Example: “The Farmer in the Dell.” Introduction to Classes. The istream and ostream Classes. Computing with string Objects. Case Study: Decoding Phone Numbers. PART OF THE PICTURE: Simulation. OBJECTive Thinking: Instance Methods.

6. Selection.

Introductory Example: School Mascots. Selection: The if Statement. Selection: The switch Statement. Example: Computing Letter Grades. Selection: Conditional Expressions. PART OF THE PICTURE: Boolean Logic and Digital Design. PART OF THE PICTURE: Computer Architecture. OBJECTive Thinking: Mutator Methods.

7. Repetition.

Introductory Example: The Punishment of Gauss. Repetition: The for Loop. Repetition: The while Loop. Repetition: The do Loop. Input Loops. Choosing the Right Loop. Case Study: Calculating Depreciation. PART OF THE PICTURE: Introduction to Algorithm Analysis. OBJECTive Thinking: Code. Reuse Through Inheritance.

8. Functions in Depth.

Introductory Example: One-Step Integer Division. Parameters in Depth. Examples of Parameter Usage. Inline Functions. Scope, Overloading, and Templates. A Brief Introduction to Recursion. PART OF THE PICTURE: Numerical Methods. OBJECTive Thinking: Class Variables, Instance Variables, and Scope.

9. Files and Streams.

Introductory Example: Weather Data Analysis. ifstream and ofstream Objects. Example: Scanning for a Virus. Additional Stream Features. PART OF THE PICTURE: Database Systems. OBJECTive Thinking: Objects and Streams.

10. Arrays and Vector “T” s.

Introductory Example: Quality Control. C-Style Arrays. Sorting. Searching. Example: Processing Employee Information. The vector“T” Class Template. Example: Processing Test Scores. OBJECTive Thinking: Objects and Sequences.

11. Building Classes.

Introductory Example: Modeling Temperatures. Designing a Class. Implementing Class. Attributes. Implementing Class Operations. Example: Retrieving Student Information. OBJECTive Thinking: Operator Overloading and Friends.

12. Enumerations.

Introductory Example: Wavelengths of Colors. C-Style Enumerations. Object-Oriented Enumerations. Example: Geological Classification. PART OF THE PICTURE: The C++ Type Hierarchy. OBJECTive Thinking: Inheritance and Polymorphism.

13. Multidimensional Arrays.

Introductory Example: Mileage between Cities. C-Style Multidimensional Arrays. Multidimensional vector“T” Objects. A vector “T” -Based Matrix Library. PART OF THE PICTURE: Computer Graphics. OBJECTive Thinking: The Matrix Class Revisited.

14. Pointers and Run-Time Allocation.

Introduction to Pointer Variables. Run-Time Allocation Using new and delete. The STL list Class Template. Pointers and Command-Line Arguments. PART OF THE PICTURE: Algorithm Efficiency. OBJECTive Thinking: Pointers and Polymorphism.

15. Data Structures.

Introductory Example: The Binary Representation of Integers. The Queue Container. Recursion Revisited. An Introduction to Trees. Trees in STL. PART OF THE PICTURE: Expert Systems.