Starting Out with C++: Early Objects, 5/e
暫譯: C++ 程式設計入門:早期物件,第 5 版
Tony Gaddis, Judy Walters, Godfrey Muganda
- 出版商: Addison Wesley
- 出版日期: 2005-10-30
- 售價: $1,064
- 語言: 英文
- 頁數: 1184
- 裝訂: Paperback
- ISBN: 0321383486
- ISBN-13: 9780321383488
-
相關分類:
C++ 程式語言
已過版
買這商品的人也買了...
-
$1,150$1,127 -
$650$429 -
$690$587 -
$620$527 -
$880$695 -
$880$695 -
$2,831MPEG-7 Audio and Beyond: Audio Content Indexing and Retrieval (Hardcover)
-
$890$757 -
$990Multidimensional Signal, Image, and Video Processing and Coding
-
$580$493 -
$450$351 -
$560$437 -
$650$507 -
$980$774 -
$760$600 -
$690$538 -
$720$612 -
$420$277 -
$600$480 -
$580$493 -
$450$383 -
$680$537 -
$590$466 -
$720$612 -
$620$490
相關主題
商品描述
Description
Starting Out With C++: Early Objects is intended for either a one semester traditional introductory programming course or a two-semester C++ programming sequence, with introductory material placed in the first half of the text and more advanced topics, such as recursion and data structures, placed in the second half. Objects are introduced early, right after control structures and before arrays and pointers. The STL string class is used throughout. As with all Gaddis books, there is a strong emphasis on problem solving and program design, a careful step-by-step introduction of each new topic, clear and easy to read code listings, concise and practical real world examples, and an abundance of exercises in each chapter.
Table of Contents
CHAPTER 1- Introduction to Computers and Programming
1.1 Why Program?
1.2 Computer Systems: Hardware and Software
1.3 Programs and Programming Languages
1.4 What Is a Program Made of?
1.5 Input, Processing, and Output
1.6 The Programming Process
1.7 Procedural and Object-Oriented Programming
1.8 Case Studies
1.9 Review Questions and Exercises
CHAPTER 2 - Introduction to C++
2.1 The Parts of a C++ Program
2.2 The cout Object
2.3 The #include Directive
2.4 Standard and Prestandard C++
2.5 Variables, Constants, and the Assignment Statement
2.6 Identifiers
2.7 Integer Data Types
2.8 The char Data Type
2.9 The C++ string Class
2.10 Floating-Point Data Types
2.11 The bool Data Type
2.12 Determining the Size of a Data Type
2.13 More on Variable Assignments and Initialization
2.14 Scope
2.15 Arithmetic Operators
2.16 Comments
2.17 Focus on Software Engineering: Programming Style
2.18 Case Studies
2.19 Review Questions and Exercises
CHAPTER 3 - Expressions and Interactivity
3.1 The cin Object
3.2 Mathematical Expressions
3.3 Implicit Type Conversion
3.4 Explicit Type Conversion
3.5 Overflow and Underflow
3.6 Named Constants
3.7 Multiple and Combined Assignment
3.8 Formatting Output
3.9 Working with Characters and String Objects
3.10 Using C-Strings
3.11 More Mathematical Library Functions
3.12 Introduction to Files
3.13 Focus on Object-Oriented Programming: Member Functions
3.14 Focus on Debugging: Hand Tracing a Program
3.15 Green Fields Landscaping Case Study–Part 1
3.16 Additional Case Studies
3.17 Review Questions and Exercises
CHAPTER 4 - Making Decisions
4.1 Relational Operators
4.2 The if Statement
4.3 The if/else Statement
4.4 The if/else if Statement
4.5 Menus
4.6 Nested if Statements
4.7 Logical Operators
4.8 Checking Numeric Ranges with Logical Operators
4.9 Validating User Input
4.10 More About Variable Definitions and Scope
4.11 Comparing Characters and Strings
4.12 The Conditional Operator
4.13 The switch Statement
4.14 Enumerated Data Types
4.15 Testing for File Open Errors
4.16 Focus on Testing and Debugging: Validating Output Results
4.17 Green Fields Landscaping Case Study–Part 2
4.18 Additional Case Studies
4.19 Review Questions and Exercises
CHAPTER 5 - Looping
5.1 The Increment and Decrement Operators
5.2 Introduction to Loops: The while Loop
5.3 Counters
5.4 Letting the User Control the Loop
5.5 Keeping a Running Total
5.6 Sentinels
5.7 Using a Loop to Read Data From a File
5.8 The do-while and for Loops
5.9 Deciding Which Loop to Use
5.10 Nested Loops
5.11 Breaking Out of a Loop
5.12 The continue Statement
5.13 Focus on Software Engineering: Using Loops for Data Validation
5.14 Focus on Testing and Debugging: Creating Good Test Data
5.15 Central Mountain Credit Union Case Study
5.16 Additional Case Studies
5.17 Review Questions and Exercises
CHAPTER 6 - Functions
6.1 Modular Programming
6.2 Defining and Calling Functions
6.3 Function Prototypes
6.4 Sending Data into a Function
6.5 Passing Data by Value
6.6 The return Statement
6.7 Returning a Value from a Function
6.8 Returning a Boolean Value
6.9 Using Functions in a Menu-Driven Program
6.10 Local and Global Variables
6.11 Static Local Variables
6.12 Default Arguments
6.13 Using Reference Variables as Parameters
6.14 Overloading Functions
6.15 The exit() Function
6.16 Stubs and Drivers
6.17 Little Lotto Case Study
6.18 Additional Case Studies
6.19 Review Questions and Exercises
CHAPTER 7 - Introduction to Classes and Objects
7.1 Combining Data into Structures
7.2 Accessing Structure Members
7.3 Initializing a Structure
7.4 Nested Structures
7.5 Structures as Function Arguments
7.6 Returning a Structure from a Function
7.7 Unions
7.8 Abstract Data Types
7.9 Object-Oriented Programming
7.10 Introduction to Classes
7.11 Introduction to Objects
7.12 Defining Member Functions
7.13 Focus on Software Engineering: Design Considerations
7.14 Using a Constructor with a Class
7.15 Overloading Constructors
7.16 Destructors
7.17 Input Validation Objects
7.18 Using Private Member Functions
7.19 Home Software Company OOP Case Study
7.20 Focus on Software Engineering: Object-Oriented Analysis
7.21 Additional Case Studies
7.22 Review Questions and Exercises
CHAPTER 8 - Arrays
8.1 Arrays Hold Multiple Values
8.2 Accessing Array Elements
8.3 Inputting and Displaying Array Contents
8.4 Array Initialization
8.5 Processing Array Contents
8.6 Using Parallel Arrays
8.7 The typedef Statement
8.8 Arrays as Function Arguments
8.9 Two-Dimensional Arrays
8.10 Arrays with Three or More Dimensions
8.11 Vectors
8.12 National Commerce Bank Case Study
8.13 Arrays of Structures
8.14 Arrays of Class Objects
8.15 Additional Case Studies
8.16 Review Questions and Exercises
CHAPTER 9 - Searching and Sorting Arrays
9.1 Focus on Software Engineering: Introduction to Search Algorithms
9.2 Demetris Leadership Center Case Study–Part 1
9.3 Focus on Software Engineering: Introduction to Sorting Algorithms
9.4 Demetris Leadership Center Case Study–Part 2
9.5 Sorting and Searching Vectors
9.6 Additional Case Studies
9.7 Review Questions and Exercises
CHAPTER 10 - Pointers
10.1 Getting the Address of a Variable
10.2 Pointer Variables
10.3 The Relationship Between Arrays and Pointers
10.4 Pointer Arithmetic
10.5 Initializing Pointers
10.6 Comparing Pointers
10.7 Pointers as Function Parameters
10.8 Focus on Software Engineering: Dynamic Memory Allocation
10.9 Focus on Software Engineering: Returning Pointers from Functions
10.10 Pointers to Structures and Class Objects
10.11 Focus on Software Engineering: Selecting Members of Objects
10.12 United Cause Relief Agency Case Study
10.13 Additional Case Studies
10.14 Review Questions and Exercises
CHAPTER 11 - More About Classes and Object-Oriented Programming
11.1 The this Pointer and Constant Member Functions
11.2 Static Members
11.3 Friends of Classes
11.4 Memberwise Assignment
11.5 Copy Constructors
11.6 Operator Overloading
11.7 Type Conversion Operators
11.8 Convert Constructors
11.9 Object Composition
11.10 Inheritance
11.11 Protected Members and Class Access
11.12 Constructors, Destructors, and Inheritance
11.13 Overriding Base Class Functions
11.14 Case Studies
11.15 Review Questions and Exercises
CHAPTER 12 - More About Characters, Strings, and the string Class
12.1 C-strings
12.2 Library Functions for Working with C-Strings
12.3 String/Numeric Conversion Functions
12.4 Character Testing
12.5 Character Case Conversion
12.6 Writing Your Own C-String Handling Functions
12.7 More About the C++ string Class
12.8 Creating Your Own String Class
12.9 Advanced Software Enterprises Case Study
12.10 Additional Case Studies
12.11 Review Questions and Exercises
CHAPTER 13 - Advanced File and I/O Operations
13.1 Files
13.2 Output Formatting
13.3 Passing File Stream Objects to Functions
13.4 More Detailed Error Testing
13.5 Member Functions for Reading and Writing Files
13.6 Working with Multiple Files
13.7 Binary Files
13.8 Creating Records with Structures
13.9 Random-Access Files
13.10 Opening a File for Both Input and Output
13.11 Online Friendship Connections Case Study: Object Serialization
13.12 Additional Case Studies
13.13 Review Questions and Exercises
CHAPTER 14 - Recursion
14.1 Introduction to Recursion
14.2 The Recursive Factorial Function
14.3 The Recursive gcd Function
14.4 Solving Recursively Defined Problems
14.5 A Recursive Binary Search Function
14.6 Focus on Problem Solving and Program Design: The QuickSort Algorithm
14.7 Focus on Problem Solving: Exhaustive and Enumeration Algorithms
14.8 Focus on Software Engineering: Recursion Versus Iteration
14.9 Case Studies
14.10 Review Questions and Exercises
CHAPTER 15 - Polymorphism, Virtual Functions, and Multiple Inheritance
15.1 Type Compatibility in Inheritance Hierarchies
15.2 Polymorphism and Virtual Member Functions
15.3 Abstract Base Classes and Pure Virtual Functions
15.4 Multiple and Virtual Inheritance
15.5 Focus on Object-Oriented Programming: Composition Versus Inheritance
15.6 Secure Encryption Systems, Inc. Case Study
15.7 Review Questions and Exercises
CHAPTER 16 - Exceptions, Templates, and the Standard Template Library (STL)
16.1 Exceptions
16.2 Function Templates
16.3 Class Templates
16.4 Class Templates and Inheritance
16.5 Introduction to the Standard Template Library
16.6 Case Studies
16.7 Review Questions and Exercises
CHAPTER 17 - Linked Lists
17.1 Introduction to the Linked List ADT
17.2 Linked List Operations
17.3 A Linked List Template
17.4 Recursive Linked List Operations
17.5 Variations of the Linked List
17.6 The STL list Container
17.7 Reliable Software Systems, Inc. Case Study
17.8 Additional Case Studies
17.9 Review Questions and Exercises
CHAPTER 18 - Stacks and Queues
18.1 Introduction to the Stack ADT
18.2 Dynamic Stacks
18.3 The STL stack Container
18.4 Introduction to the Queue ADT
18.5 Dynamic Queues
18.6 The STL deque and queue Containers
18.7 Focus on Problem Solving and Program Design: Eliminating Recursion
18.8 Review Questions and Exercises
CHAPTER 19 - Binary Trees
19.1 Definition and Applications of Binary Trees
19.2 Binary Search Tree Operations
19.3 Template Considerations for Binary Search Trees
19.4 Case Studies
19.5 Review Questions and Exercises
Appendix A The ASCII Character Set
Appendix B Operator Precedence and Associativity
Index
Appendices on the accompanying student CD
Appendix C An Object-Oriented System Development Primer
Appendix D Using UML in Class Design (NEW)
Appendix E Namespaces
Appendix F Passing Command Line Arguments
Appendix G Header File and Library Function Reference
Appendix H Binary Numbers and Bitwise Operations
Appendix I C++ Casts and Run-Time Type Identification
Appendix J Multi-Source File Programs
Appendix K Introduction to Microsoft Visual C++ 6.0
Appendix L Introduction to Borland C++ Builder 5.0
Appendix M Introduction to Microsoft Visual C++ .NET
Appendix N .NET and Managed C++ (NEW)
Appendix O Introduction to Flowcharting
Appendix P Answers to Checkpoints
Appendix Q Answers to Odd-Numbered Review Questions
商品描述(中文翻譯)
**描述**
《Starting Out With C++: Early Objects》旨在用於一學期的傳統入門程式設計課程或兩學期的 C++ 程式設計序列,入門材料放在文本的前半部分,而更高級的主題,如遞迴和資料結構,則放在後半部分。物件在控制結構之後、陣列和指標之前就被引入。整本書中都使用 STL 字串類別。與所有 Gaddis 的書籍一樣,強調問題解決和程式設計,對每個新主題進行仔細的逐步介紹,提供清晰易讀的程式碼清單,簡潔且實用的現實世界範例,以及每章中大量的練習題。
**目錄**
**第 1 章 - 電腦與程式設計簡介**
1.1 為什麼要程式設計?
1.2 電腦系統:硬體與軟體
1.3 程式與程式語言
1.4 程式是由什麼組成的?
1.5 輸入、處理與輸出
1.6 程式設計過程
1.7 程序式與物件導向程式設計
1.8 案例研究
1.9 複習問題與練習
**第 2 章 - C++ 簡介**
2.1 C++ 程式的組成部分
2.2 cout 物件
2.3 #include 指令
2.4 標準與預標準 C++
2.5 變數、常數與賦值語句
2.6 識別符
2.7 整數資料類型
2.8 char 資料類型
2.9 C++ 字串類別
2.10 浮點數資料類型
2.11 bool 資料類型
2.12 確定資料類型的大小
2.13 變數賦值與初始化的更多內容
2.14 範圍
2.15 算術運算子
2.16 註解
2.17 專注於軟體工程:程式設計風格
2.18 案例研究
2.19 複習問題與練習
**第 3 章 - 表達式與互動性**
3.1 cin 物件
3.2 數學表達式
3.3 隱式型別轉換
3.4 顯式型別轉換
3.5 溢出與下溢
3.6 命名常數
3.7 多重與組合賦值
3.8 格式化輸出
3.9 處理字元與字串物件
3.10 使用 C 字串
3.11 更多數學函數庫函數
3.12 檔案簡介
3.13 專注於物件導向程式設計:成員函數
3.14 專注於除錯:手動追蹤程式
3.15 Green Fields Landscaping 案例研究 - 第 1 部分
3.16 其他案例研究
3.17 複習問題與練習
**第 4 章 - 做出決策**
4.1 關聯運算子
4.2 if 語句
4.3 if/else 語句
4.4 if/else if 語句
4.5 菜單
4.6 嵌套 if 語句
4.7 邏輯運算子
4.8 使用邏輯運算子檢查數值範圍
4.9 驗證使用者輸入
4.10 變數定義與範圍的更多內容
4.11 比較字元與字串
4.12 條件運算子
4.13 switch 語句
4.14 列舉資料類型
4.15 測試檔案開啟錯誤
4.16 專注於測試與除錯:驗證輸出結果
4.17 Green Fields Landscaping 案例研究 - 第 2 部分
4.18 其他案例研究
4.19 複習問題與練習
**第 5 章 - 迴圈**
5.1 增量與減量運算子
5.2 迴圈簡介:while 迴圈
5.3 計數器
5.4 讓使用者控制迴圈
5.5 保持累計總和
5.6 哨兵
5.7 使用迴圈從檔案讀取資料
5.8 do-while 與 for 迴圈
5.9 決定使用哪種迴圈
5.10 嵌套迴圈
5.11 跳出迴圈
5.12 continue 語句
5.13 專注於軟體工程:使用迴圈進行資料驗證
5.14 專注於測試與除錯:創建良好的測試資料
5.15 中央山脈信用合作社案例研究
5.16 其他案例研究