Table of Contents
C++ Lecture Notes
Introduction
Objectives
Why Study Programming?
An Introduction to the Computer
Computer Programs
Complexity
Organization Chart of a Roman Legion—a Rigid Hierarchy
Hierarchy, Hierarchy, Everywhere
Hierarchy in Software
Programming Modules
First Program
The Teaching Machine
Language Elements
Some Language Elements
Alphabet
Words
Sentences are Statements
Paragraphs are Blocks
Some Specifics
Comments
Expressions
Literals
Arithmetic Expressions
Functions: A First Look
Functions with Arguments
Function Declaration
The Prototype
Function Call
Header Comments and Design-by-Contract
Pre-Conditions
The Programming Environment
Assignments
Assign0
Steps for Each Assignment
Variables
Type
The Bin Model of Data
Variable Attributes
Declaring Variables
Executable Statements
Identifiers
Constants
Expressions
Double Arithmetic
Integer Arithmetic
Conversions
Rounding
The Assignment Operator
Composite Assignment Operators
Order of Evaluation
Library Functions
Exercises
Logical Expressions
Logical Expressions
Table of Precedence
Bool Conversions
The Short Circuit Property
Exercises
If Statements
The If-Then Statement
The
A Complicated Example
Statement Blocks
Style Issues
Exercises
Loops
For Loops
Example: Poker Hand Combinations
A Design Problem: Fibonacci Numbers
While Loops
Loop Categories
Count-Controlled Loops
Event-Controlled Loops
Loop Design
Do While Loops
Exercises
Functions
Function Calling
Function Call Control Flow
Function Declaration
Function as a Contract
Exercises
Pass-By-Reference
Pass-by-Value
A Swap Function
Pass-by-Reference
Pass-by-Reference for Multiple "Returns"
Output Only
Functions Returning
Summary
Exercises
Arrays
Element Reference
Initialization of Arrays
Array Storage
Formal Syntax
Passing Arrays to Functions
Searching
Main and Program Output
Screen Output
Complete Programs
More on cout
The
Outputting Other Data
Scope
local scope
global scope
Scope Examples
Visibility
Scope Discussion
Qualified Names and Namespaces
Context
Design with Functions
Functional Decomposition
Delegation
Strings
Classes
String Assignment
String Output
Member Functions
string Parsing Example
Operators and Strings
Exercises
Sorting
Bubble Sort
Algorithm Efficiency
An Improved Bubble Sort
Selection Sort
Matrices
Mapping 1D to 2D
Streams and Files
Extracting Formatted Data from
Reading All Characters
Files
Calling Sequence
First Tutorial
Second Tutorial