Download Programming and Problem Solving with C++, Fifth Edition

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts
no text concepts found
Transcript
Programming and Problem Solving with C++, Fifth Edition
Comprehensive Edition
Table of Contents
1 Overview of Programming and Problem Solving
1.1
Overview of Programming
1.2
How Does a Computer Run a Program?
1.3 What’s Inside the Computer?
1.4
Ethics and Responsibilities in the Computing Profession
1.5
Problem-Solving Techniques
2 C++ Syntax and Semantics and the Program Development Process
2.1
The Elements of C++ Programs
2.2
Program Construction
2.3
More about Output
2.4
Program Entry, Correction, and Execution
3 Numeric Types, Expressions, and Output
3.1 Overview of C++ Data Types
3.2
Numeric Data Types
3.3
Declarations for Numeric Types
3.4
Simple Arithmetic Expressions
3.5
Compound Arithmetic Expressions
3.6
Function Calls and Library Functions
3.7
Formatting Output
3.8
Additional string Operations
4 Program
4.1
4.2
4.3
4.4
4.5
4.6
4.7
Input and the Software Design Process
Getting Data into Programs
Interactive Input/Output
Noninteractive Input/Output
File Input and Output
Input Failure
Software Design Methodologies
Functional Decomposition
5 Conditions, Logical Expressions, and Selection Control Structures
5.1
Flow of Control
5.2
Conditions and Logical Expressions
5.3
The If Statement
5.4
Nested If Statements
5.5
Logical Operators
5.6
Testing the State of an I/O Stream
6 Looping
6.1
6.2
6.3
6.4
6.5
The While Statement
Phases of Loop Execution
Loops Using the While Statement
How to Design Loops
Nested Logic
7 Additional Control Structures
7.1
The Switch Statement
7.2
The Do-While Statement
7.3
The For Statement
7.4
The Break and Continue Statements
7.5
Guidelines for Choosing a Looping Statement
7.6
Additional C++ Operators
8 Functions
8.1
Functional Decomposition with Void Functions
8.2
An Overview of User-Defined Functions
8.3
Syntax and Semantics of Void Functions
8.4
Parameters
Testing and Debugging
9
Scope, Lifetime, and More on Functions
9.1
Scope of Identifiers
9.2
Lifetime of a Variable
9.3
Interface Design
9.4
Value-Returning Functions
9.5
Type Coercion in Assignments, Argument Passing, and Return of a Function
Value
10 User-Defined Data Types
10.1 Built-In Simple Types
10.2 User-Defined Simple Types
10.3 Simple Versus Structured Data Types
10.4 Records (Structs)
10.5 Hierarchical Records
10.6 Unions
11 Arrays
11.1
11.2
11.3
11.4
11.5
11.6
11.7
11.8
One-Dimensional Arrays
Arrays of Records
Special Kinds of Array Processing
Two-Dimensional Arrays
Passing Two-Dimensional Arrays as Arguments
Processing Two-Dimensional Arrays
Another Way of Defining Two-Dimensional Arrays
Multidimensional Arrays
12 Classes and Abstraction
12.1 Abstract Data Types
12.2 C++ Classes
12.3 Information Hiding
12.4 What Is an Object?
12.5 Class Design Principles
12.6 The Name ADT
12.7 Composition
12.8 UML Diagrams
13 Array-Based Lists
13.1 What Is a List?
13.2
13.3
13.4
13.5
13.6
14 Pointers
14.1
14.2
14.3
14.4
14.5
14.6
14.7
14.8
The List as an Abstract Data Type
Implementation of List ADT
Sorted Lists
Sorted List of Classes
More on UML Diagrams
and Linked Lists
Pointers
Reference Types
Dynamic Data
Sequential Versus Linked Structures
Creating a Dynamic Linked List: A Walkthrough Example
Dynamic Implementation of ADT List
Destructors and Copy Constructors
Sorted Linked List
15 Inheritance, Polymorphism, and Object-Oriented Design
15.1 Object-Oriented Programming
15.2 Inheritance
15.3 Dynamic Binding and Virtual Functions
15.4 Object-Oriented Design
15.5 Implementing a Design
16 Templates, Operator Overloading, and Exceptions
16.1 Template Classes
16.2 Generic Functions
16.3 Operator Overloading
16.4 Exceptions
17 Introduction to Data Structures Using the Standard Template Library
17.1 Abstract Data Structures versus Implementations
17.2 Additional Linear Structures
17.3 Bidirectional Linear Structures
17.4 An Introduction to the STL
17.5 Nonlinear Structures
17.6 Associative Containers
18 Recursion
18.1 What Is Recursion?
18.2 Recursive Algorithms with Simple Variables
18.3 Towers of Hanoi
18.4 Recursive Algorithms with Structured Variables
18.5 Recursion Using Pointer Variables
18.6 Recursion or Iteration?
Related documents