Product Cover Image

Starting Out with C++ from Control Structures to Objects, 8th Edition

By Tony Gaddis

Published by Pearson

Published Date: Feb 26, 2014


Note: You are purchasing a standalone product; MyProgrammingLab does not come packaged with this content. If you would like to purchase both the physical text and MyProgrammingLab  search for ISBN-10: 0133796337/ISBN-13: 9780133796339. That package includes ISBN-10: 0133769399/ISBN-13: 9780133769395  and ISBN-10: 0133780619 /ISBN-13: 9780133780611.

MyProgrammingLab is not a self-paced technology and should only be purchased when required by an instructor.

This text is intended for either a one-semester accelerated introductory course or a traditional two-semester sequence covering C++ programming. It is also suitable for readers interested in a comprehensive introduction to C++ programming.


Tony Gaddis’s accessible, step-by-step presentation helps beginning students understand the important details necessary to become skilled programmers at an introductory level. Gaddis motivates the study of both programming skills and the C++ programming language by presenting all the details needed to understand the “how” and the “why”–but never losing sight of the fact that most beginners struggle with this material. His approach is both gradual and highly accessible, ensuring that students understand the logic behind developing high-quality programs.


In Starting Out with C++: From Control Structures through Objects, Gaddis covers control structures, functions, arrays, and pointers before objects and classes. 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.


MyProgrammingLab for Starting Out with C++ is a total learning package. MyProgrammingLab is an online homework, tutorial, and assessment program that truly engages students in learning. It helps students better prepare for class, quizzes, and exams—resulting in better performance in the course—and provides educators a dynamic set of tools for gauging individual and class progress.


Teaching and Learning Experience

This program presents a better teaching and learning experience–for you and your students. It will help:

  • Personalize Learning with MyProgrammingLab: Through the power of practice and immediate personalized feedback, MyProgrammingLab helps students fully grasp the logic, semantics, and syntax of programming.
  • Enhance Learning with the Gaddis Approach: Gaddis’s accessible approach features clear and easy-to-read code listings, concise real-world examples, and exercises in every chapter.
  • Keep Your Course Current: This edition introduces many of the new C++11 language features.
  • Support Instructors and Students: Student and instructor resources are available to expand on the topics presented in the text.

Table of Contents

Introduction to Computers and Programming 1
CHAPTER 2 Introduction to C++ 27
CHAPTER 3 Expressions and Interactivity 85
CHAPTER 4 Making Decisions 149
CHAPTER 5 Loops and Files 227
CHAPTER 6 Functions 301
CHAPTER 7 Arrays 377
CHAPTER 8 Searching and Sorting Arrays 451
CHAPTER 9 Pointers 491
CHAPTER 10 Characters, C-Strings, and More About the String Class 541
CHAPTER 11 Structured Data 593
CHAPTER 12 Advanced File Operations 651
CHAPTER 13 Introduction to Classes 705
CHAPTER 14 More About Classes 799
CHAPTER 15 Inheritance, Polymorphism, and Virtual Functions 869
CHAPTER 16 Exceptions, Templates, and the Standard Template Library (STL) 947
CHAPTER 17 Linked Lists 1003
CHAPTER 18 Stacks and Queues 1043
CHAPTER 19 Recursion 1101
CHAPTER 20 Binary Trees 1137
Appendix A: Getting Started with Alice 1167
Appendix B: The ASCII Character Set 1195
Appendix C: Operator Precedence and Associativity 1197
Quick References 1199
Index 1201

The following appendices are available at
Appendix D: Introduction to Flowcharting
Appendix E: Using UML in Class Design
Appendix F: Namespaces
Appendix G: Writing Managed C++ Code for the .NET Framework
Appendix H: Passing Command Line Arguments
Appendix I: Header File and Library Function Reference
Appendix J: Binary Numbers and Bitwise Operations
Appendix K: Multi-Source File Programs
Appendix L: Stream Member Functions for Formatting
Appendix M: Introduction to Microsoft Visual C++ 2010 Express Edition
Appendix N: Answers to Checkpoints
Appendix O: Solutions to Odd-Numbered Review Questions