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

Joel Adams, Larry Nyhoff

  • 出版商: Prentice Hall
  • 出版日期: 2002-08-24
  • 售價: $920
  • 貴賓價: 9.5$874
  • 語言: 英文
  • 頁數: 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.




- Larry Herman, UNITEC技術學院


- Cary Laxer, Rose-Hulman技術學院計算機科學系

Joel Adams和Larry Nyhoff在第一年的計算機課程中設定了兩個主要目標:給予學生特定語言的程式設計技能,並將他們引入更廣泛的計算機科學領域。在這本暢銷書的第三版中,這些經驗豐富的教育家提供了一種全面的方法來介紹C++的方法和技巧,同時向學生們呈現了計算機科學作為一門學科的概述,使他們能夠將所學應用到更廣泛的背景中。


- 提供由計算機專家精心選擇的“整體圖片”介紹,作為計算機科學學科的概述
- 提供500個快速測驗問題及答案和800個書面練習,供書面作業使用
- 包含超過300個來自各種應用領域的程式設計問題


- 新增一章關於資料結構
- 每章開始列出學習目標
- 每章結束時有摘要,列出關鍵詞和筆記,幫助學生理解每章的主要概念
- 案例研究包括完整解決方案的問題,包括設計和程式碼
- 特別選擇性的OBJECTive Thinking部分,介紹類和物件
- Prentice Hall Companion Website網址:http://www.prenhall.com/adams,作者網站網址:http://cs.calvin.edu/books/c++/intro/3e/


0. 開始的快照。
- 整體圖片:什麼是計算機科學?
- 整體圖片:計算機的歷史。
- 整體圖片:介紹計算機系統。

1. 問題解決和軟體工程。
- 歡迎來到C++的世界。
- 通過軟體工程解決問題。
- 案例研究:收入計算。
- OBJECTive Thinking:將球體視為物件。
- 整體圖片:倫理和問題。

2. 類型。
- 入門範例:計算學生薪水。
- 類型和聲明。
- 整體圖片:資料表示。
- OBJECTive Thinking:屬性變數。

3. 運算和表達式。
- 入門範例:愛因斯坦的方程式。
- 數值表達式。
- 布林表達式。
- 字符表達式。
- 賦值表達式。
- 輸入/輸出表達式。
- 範例:卡車車隊會計。
- OBJECTive Thinking:初始化和構造函數。

4. 函數。
- 入門範例:使用表達式進行溫度轉換。
- 入門範例:使用函數進行溫度轉換。
- 使用選擇的函數。
- 使用重複的函數。
- 整體圖片:可計算性理論。
- 案例研究:一個8函數計算器。
- 介紹庫。
- OBJECTive Thinking:類