Starting Out with C++: From Control Structures through Objects (Formerly "Standard Version"), 5/E
0321409396

Tony Gaddis, Haywood Community College

Publisher: Addison Wesley Higher Education
Copyright: 2007
Format: Paper Bound w/CD-ROM; 1200 pp

ISBN-10: 0321409396
ISBN-13:9780321409393

Our Price: $112.40
Status: Instock
Published: 02/10/2006



Description

Tony Gaddis's accessible, step-by-step framework defines Starting Out With C++: Control Structures through Objects (formerly called Standard Version), and has made this book the #1 choice with instructors who emphasize problem-solving and program design in their introduction to programming course.

In Control Structures through Objects, Gaddis takes a problem-solving approach, motivating students to understand the programming logic behind developing quality programs using the C++ language. Procedural programming is thoroughly covered before objects are introduced in the latter part of the book. As with all Gaddis texts, clear and easy-to-read code listings, concise and practical real-world examples, and an abundance of exercises appear in every 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

 

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 Variables and Literals

2.5 Identifiers

2.6 Integer Data Types

2.7 The char Data Type

2.8 Floating-Point Data Types

2.9 The bool Data Type

2.10 Determining the Size of a Data Type

2.11 Variable Assignments and Initialization

2.12 Scope

2.13 Arithmetic Operators

2.14 Comments

2.15 Focus on Software Engineering: Programming Style

2.16 If You Plan to Continue in Computer Science: Standard and Prestandard C++

 

CHAPTER 3 Expressions and Interactivity

3.1 The cin Object

3.2 Mathematical Expressions

3.3 When You Mix Apples and Oranges: Type Conversion

3.4 Overflow and Underflow

3.5 Type Casting

3.6 Named Constants

3.7 Multiple Assignment and Combined Assignment

3.8 Formatting Output

3.9 Formatted Input

3.10 Focus on Object-Oriented Programming: More About Member Functions

3.11 More Mathematical Library Functions

3.12 Focus on Debugging: Hand Tracing a Program

3.13 Focus on Problem Solving: A Case Study

3.14 Introduction to File Input and Output

 

CHAPTER 4 Making Decisions

4.1 Relational Operators

4.2 The if Statement

4.3 Flags

4.4 Expanding the if Statement

4.5 The if/else Statement

4.6 The if/else if Statement

4.7 Using a Trailing else

4.8 Menus

4.9 Focus on Software Engineering: Nested if Statements

4.10 Logical Operators

4.11 Checking Numeric Ranges with Logical Operators

4.12 Focus on Software Engineering: Validating User Input

4.13 More About Variable Definitions and Scope

4.14 Comparing Strings

4.15 The Conditional Operator

4.16 The switch Statement

4.17 Testing for File Open Errors

 

CHAPTER 5 Looping

5.1 The Increment and Decrement Operators

5.2 Introduction to Loops: The while Loop

5.3 Using the while Loop for Input Validation

5.4 Counters

5.5 The do-while Loop

5.6 The for Loop

5.7 Keeping a Running Total

5.8 Sentinels

5.9 Using a Loop to Read Data from a File

5.10 Focus on Software Engineering: Deciding Which Loop to Use

5.11 Nested Loops

5.12 Breaking Out of a Loop

5.13 The continue Statement

 

CHAPTER 6 Functions

6.1 Focus on Software Engineering: 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 Focus on Software Engineering: Using Functions in a Menu-Driven Program

6.7 The return Statement

6.8 Returning a Value from a Function

6.9 Returning a Boolean Value

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

 

CHAPTER 7 Arrays

7.1 Arrays Hold Multiple Values

7.2 Accessing Array Elements

7.3 No Bounds Checking in C++

7.4 Array Initialization

7.5 Processing Array Contents

7.6 Focus on Software Engineering: Using Parallel Arrays

7.7 Arrays as Function Arguments

7.8 Two-Dimensional Arrays

7.9 Arrays of Strings

7.10 Arrays with Three or More Dimensions

7.11 Focus on Problem Solving and Program Design: A Case Study

7.12 If You Plan to Continue in Computer Science: Introduction to the STL vector

 

CHAPTER 8 Searching and Sorting Arrays

8.1 Focus on Software Engineering: Introduction to Search Algorithms

8.2 Focus on Problem Solving and Program Design: A Case Study

8.3 Focus on Software Engineering: Introduction to Sorting Algorithms

8.4 Focus on Problem Solving and Program Design: A Case Study

8.5 If You Plan to Continue in Computer Science: Sorting and Searching vectors

 

CHAPTER 9 Pointers

9.1 Getting the Address of a Variable

9.2 Pointer Variables

9.3 The Relationship Between Arrays and Pointers

9.4 Pointer Arithmetic

9.5 Initializing Pointers

9.6 Comparing Pointers

9.7 Pointers as Function Parameters

9.8 Focus on Software Engineering: Dynamic Memory Allocation

9.9 Focus on Software Engineering: Returning Pointers from Functions

9.10 Focus on Problem Solving and Program Design: A Case Study

 

CHAPTER 10 Characters, Strings, and the string Class

10.1 Character Testing

10.2 Character Case Conversion

10.3 Review of the Internal Storage of C-Strings

10.4 Library Functions for Working with C-Strings

10.5 String/Numeric Conversion Functions

10.6 Focus on Software Engineering: Writing Your Own C-String-Handling Functions

10.7 The C++ string Class

10.8 Focus on Problem Solving and Program Design: A Case Study

 

CHAPTER 11 Structured Data

11.1 Abstract Data Types

11.2 Focus on Software Engineering: Combining Data into Structures

11.3 Accessing Structure Members

11.4 Initializing a Structure

11.5 Arrays of Structures

11.6 Focus on Software Engineering: Nested Structures

11.7 Structures as Function Arguments

11.8 Returning a Structure from a Function

11.9 Pointers to Structures

11.10 Focus on Software Engineering: When to Use.,When to Use ->, and When to Use *

11.11 Unions

11.12 Enumerated Data Types

 

CHAPTER 12 Advanced File Operations

12.1 File Operations

12.2 File Output Formatting

12.3 Passing File Stream Objects to Functions

12.4 More Detailed Error Testing

12.5 Member Functions for Reading and Writing Files

12.6 Focus on Software Engineering: Working with Multiple Files

12.7 Binary Files

12.8 Creating Records with Structures

12.9 Random-Access Files

12.10 Opening a File for Both Input and Output

 

CHAPTER 13 Introduction to Classes

13.1 Procedural and Object-Oriented Programming

13.2 Introduction to Classes

13.3 Defining an Instance of a Class

13.4 Why Have Private Members?

13.5 Focus on Software Engineering: Separating Class Specification from Implementation

13.6 Inline Member Functions

13.7 Constructors

13.8 Passing Arguments to Constructors

13.9 Destructors

13.10 Overloading Constructors

13.11 Private Member Functions

13.12 Arrays of Objects

13.13 Focus on Problem Solving and Program Design: An OOP Case Study

13.14 Focus on Object-Oriented Programming: Creating an Abstract Array Data Type

13.15 Focus on Object-Oriented Design: The Unified Modeling Language (UML)

13.16 Focus on Object-Oriented Design: Finding the Classes and Their Responsibilities

 

CHAPTER 14 More About Classes

14.1 Instance and Static Members

14.2 Friends of Classes

14.3 Memberwise Assignment

14.4 Copy Constructors

14.5 Operator Overloading

14.6 Object Conversion

14.7 Aggregation

14.8 Focus on Object-Oriented Design: Class Collaborations

 

CHAPTER 15 Inheritance, Polymorphism, and Virtual Functions

15.1 What Is Inheritance?

15.2 Protected Members and Class Access

15.3 Constructors and Destructors in Base and Derived Classes

15.4 Redefining Base Class Functions

15.5 Class Hierarchies

15.6 Polymorphism and Virtual Member Functions

15.7 Abstract Base Classes and Pure Virtual Functions

15.8 Multiple Inheritance

 

CHAPTER 16 Exceptions, Templates, and the Standard Template Library (STL)

16.1 Exceptions

16.2 Function Templates

16.3 Focus on Software Engineering: Where to Start When Defining Templates

16.4 Class Templates

16.5 Introduction to the Standard Template Library (STL)

 

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 Variations of the Linked List

17.5 The STL list Container

 

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

 

CHAPTER 19 Recursion

19.1 Introduction to Recursion

19.2 Solving Problems with Recursion

19.3 Focus on Problem Solving and Program Design: The Recursive gcd Function

19.4 Focus on Problem Solving and Program Design: Solving Recursively Defined Problems

19.5 Focus on Problem Solving and Program Design: Recursive Linked List Operations

19.6 Focus on Problem Solving and Program Design: A Recursive Binary Search Function

19.7 The Towers of Hanoi

19.8 Focus on Problem Solving and Program Design: The QuickSort Algorithm

19.9 Exhaustive Algorithms

19.10 Focus on Software Engineering: Recursion vs. Iteration

 

CHAPTER 20 Binary Trees

20.1 Definition and Applications of Binary Trees

20.2 Binary Search Tree Operations

20.3 Template Considerations for Binary Search Trees

 

Appendix A: The ASCII Character Set

Appendix B: Operator Precedence and Associativity

Index

 

Student CD

The following appendices are on the accompanying Student CD.

Appendix C: Introduction to Flowcharting

Appendix D: Using UML in Class Design

Appendix E: Namespaces

Appendix F: Writing Managed C++ Code for the .NET Framework

Appendix G: Passing Command Line Arguments

Appendix H: Header File and Library Function Reference

Appendix I: Binary Numbers and Bitwise Operations

Appendix J: Multi-Source File Programs

Appendix K: Stream Member Functions for Formatting

Appendix L: Installing and Using Borland C++ Builder 6

Appendix M: Introduction to Microsoft Visual C++ 2005 Express Edition

Appendix N: Answers to Checkpoints

Appendix O: Answers to Odd-Numbered Review Questions


Features
  • Gaddis' trademark style of clear, student-friendly writing, and stepped-out explanations make this text accessible and appropriate for beginning programmers.
  • Control structures, functions, arrays, and pointers are covered before objects.
  • The STL string class is used throughout.
  • Chapter on exceptions, templates, and the Standard Template Library.
  • Concise, practical examples place programming concepts into a real-world context, making them more tangible for students.
  • Clear code listings are easy for students to read and understand.
  • A wealth of exercises in each chapter offers students the chance to put the concepts they are learning to work. MyCodeMate enabled programming projects allow instructors to assign and track their students' programming projects online.
  • All programs are written to be ANSI/ISO compliant, comments add clarity to programs, and each chapter now has a set of 'Short Answer' questions, and 'Algorithm Workbench' problems.

 

  • All new copies come with a CD that includes Borland C++ Builder 6.0, Personal Edition, answers to all checkpoint questions, answers to all odd-numbered review questions and exercises, source code, additional case studies, complete with source code and a full set of appendices (including several tutorials) that accompany the book.
  • For sale lab manual includes pre-labs activities, lab assignments, and post lab activities.

New To This Edition
  • Earlier and increased coverage of for loop with more added explanation of how to decide which loop to use.
  • Added material on using functions to divide and conquer a problem.
  • Increased discussion of pointers including pointers to const and constant pointers.
  • Expanded coverage on object-oriented problem solving.
  • Refined and increased coverage of inheritance, polymorphism, virtual functions, and recursion.
  • Enhanced pedagogy such as more programming exercises, additional pseudocode and mini-flowchart diagrams, and “line numbers” added to all programs.

All Valuepacks
STARTG OUT WITH C++&VISUAL C++ 6.0 COMP PKG
GADDIS
© 2007 | Addison Wesley Higher Education | Kit/Package/ShrinkWrap | Instock
*Note: (Additional assembly time required)
ISBN-10: 0321458443 | ISBN-13: 9780321458445
Our Price: $135.00
Package consists of:
Visual C++ 6.0 Companion, Finished Good, 4/E
Starting Out with C++: From Control Structures through Objects (Formerly "Standard Version"), 5/E

STARTING OUT WITH C++&AW VIS C++05 PROG PKG

© 2007 | Addison Wesley Higher Education | Kit/Package/ShrinkWrap | Out of Stock
ISBN-10: 0321487354 | ISBN-13: 9780321487353
Our Price: $119.07
Package consists of:
Starting Out with C++: From Control Structures through Objects (Formerly "Standard Version"), 5/E
Addison-Wesley's Visual C++ 2005 Programming Companion, 2/E

STARTG OUT WITH C++&CODEMATE ACC CRD PKG

© 2007 | Addison Wesley Higher Education | Kit/Package/ShrinkWrap | Instock
ISBN-10: 0321497791 | ISBN-13: 9780321497796
Our Price: $112.40
Package consists of:
MyCodemate Student Access Kit, 3/E
Starting Out with C++: From Control Structures through Objects (Formerly "Standard Version"), 5/E
MyCodeMate Sticker

STARTG OUT WITH C++& C++ BACKPACK REF GD PK

© 2007 | Addison Wesley Higher Education | Kit/Package/ShrinkWrap | Instock
*Note: (Additional assembly time required)
ISBN-10: 0321499239 | ISBN-13: 9780321499233
Our Price: $112.40
Package consists of:
Addison-Wesley's C++ Backpack Reference Guide
Starting Out with C++: From Control Structures through Objects (Formerly "Standard Version"), 5/E

STARTING OUT WITH C++& STARTING OUT L/M PKG

© 2007 | Addison Wesley Higher Education | Kit/Package/ShrinkWrap | Instock
*Note: (Additional assembly time required)
ISBN-10: 0321512812 | ISBN-13: 9780321512819
Our Price: $119.07
Package consists of:
Starting Out with C++: From Control Structures through Objects (Formerly "Standard Version"), 5/E
Lab Manual Sticker
Starting Out with C++ Lab Manual, 5/E

STARTG OUT WITH C++&LM&C++BKPK&CODE A/C PKG

© 2007 | Addison Wesley Higher Education | Kit/Package/ShrinkWrap | Out of Stock
ISBN-10: 0321517210 | ISBN-13: 9780321517210
Our Price: $119.07
Package consists of:
Addison-Wesley's C++ Backpack Reference Guide
MyCodemate Student Access Kit, 3/E
Starting Out with C++: From Control Structures through Objects (Formerly "Standard Version"), 5/E
MyCodeMate Sticker
Lab Manual Sticker
Starting Out with C++ Lab Manual, 5/E

STARTG OUT WITH C++&C++BCKPCK REF&LAB M&AW&

© 2007 | Addison Wesley Higher Education | Kit/Package/ShrinkWrap | Instock
ISBN-10: 0321518462 | ISBN-13: 9780321518460
Our Price: $125.73
Package consists of:
Addison-Wesley's C++ Backpack Reference Guide
MyCodemate Student Access Kit, 3/E
Starting Out with C++: From Control Structures through Objects (Formerly "Standard Version"), 5/E
MyCodeMate Sticker
Starting Out with C++ Lab Manual, 5/E
Addison-Wesley's Visual C++ 2005 Programming Companion, 2/E

START OUT WITH C++&VIS C++ PROGR COMP&BCKPK

© 2007 | Addison Wesley Higher Education | Kit/Package/ShrinkWrap | Out of Stock
ISBN-10: 0321522036 | ISBN-13: 9780321522030
Our Price: $119.07
Package consists of:
Addison-Wesley's C++ Backpack Reference Guide
Starting Out with C++: From Control Structures through Objects (Formerly "Standard Version"), 5/E
Addison-Wesley's Visual C++ 2005 Programming Companion, 2/E

STARTG OUT WITH C++&CODEMATE A/CRD&REF GD

© 2007 | Addison Wesley Higher Education | Kit/Package/ShrinkWrap | Instock
ISBN-10: 0321547012 | ISBN-13: 9780321547019
Our Price: $112.40
Package consists of:
Addison-Wesley's C++ Backpack Reference Guide
MyCodemate Student Access Kit, 3/E
Starting Out with C++: From Control Structures through Objects (Formerly "Standard Version"), 5/E
MyCodeMate Sticker


Student Supplements
MyCodemate Student Access Kit, 3/E
MyCodeMate
© 2005 | Addison Wesley Higher Education | Paper Bound with PIN | Instock
ISBN-10: 0321356977 | ISBN-13: 9780321356970
Our Price: $44.00

Starting Out with C++ Lab Manual, 5/E
DeFino & Bardzell
© 2007 | Addison Wesley Higher Education | Paper;296 pages | Instock
ISBN-10: 0321433130 | ISBN-13: 9780321433138
Our Price: $33.00

Providing hands-on experience with programming concepts presented in the introductory programming course, this lab manual accompanies Starting Out with C++: From Control Structures to Objects. Pre-developed code and guided steps, for using the code successfully, prepare students to create programs and experiment with different ways to use the code.  Each lesson set contains a pre-lab reading assignment, pre-lab writing assignment, and lesson A and B assignments as the learning activities.



CS Support-Student Support Material
Addison-Wesley
© 2008 | Addison Wesley Higher Education | On-line Supplement | Instock
ISBN-10: 0321446852 | ISBN-13: 9780321446855
The "CS Support" Website is a central repository for additional supplemental items that students and general reader will find useful when working with this textbook. The material for each book varies, but may include such items as: Source Code files, Figures from the book, Answers to some review questions, etc.. To see what items are available for this textbook, visit http://www.aw.com/cssupport.


Instructor Supplements
Powerpoint Slides, 5/E
Gaddis
© 2007 | Addison Wesley Higher Education | On-line Supplement | Instock
ISBN-10: 0321397193 | ISBN-13: 9780321397195

Test Bank, 5/E
Gaddis
© 2007 | Addison Wesley Higher Education | On-line Supplement | Instock
ISBN-10: 0321409566 | ISBN-13: 9780321409560

Solutions, 5/E
Gaddis
© 2007 | Addison Wesley Higher Education | On-line Supplement | Instock
ISBN-10: 0321408861 | ISBN-13: 9780321408860

Instructor's Manual for Lab Manual, 5/E
DeFino & Bardzell
© 2007 | Addison Wesley Higher Education | On-line Supplement | Instock
ISBN-10: 0321431154 | ISBN-13: 9780321431158

TestGen Test Bank, 5/E
Gaddis
© 2007 | Addison Wesley Higher Education | On-line Supplement | Instock
ISBN-10: 0321411455 | ISBN-13: 9780321411457

MyCodeMate Companion Website, 5/E
Gaddis
© 2007 | Addison Wesley Higher Education | On-line Supplement | Instock
ISBN-10: 0321395964 | ISBN-13: 9780321395962

WebCT, 5/E
Gaddis
© 2007 | Addison Wesley Higher Education | On-line Supplement | Instock
ISBN-10: 0321410874 | ISBN-13: 9780321410870

Blackboard, 5/E
Gaddis
© 2007 | Addison Wesley Higher Education | On-line Supplement | Instock
ISBN-10: 0321414098 | ISBN-13: 9780321414090

Source Code, 5/E
Gaddis
© 2007 | Addison Wesley Higher Education | On-line Supplement | Instock
ISBN-10: 032140887X | ISBN-13: 9780321408877

Solutions for Lab Manual that Accompanies Starting Out with C++, 5/E
DeFino & Bardzell
© 2007 | Addison Wesley Higher Education | On-line Supplement | Instock
ISBN-10: 0321431219 | ISBN-13: 9780321431219

Source Code for Lab Manual, 5/E
DeFino & Bardzell
© 2007 | Addison Wesley Higher Education | On-line Supplement | Instock
ISBN-10: 0321433599 | ISBN-13: 9780321433596