Basic Concepts and Definitions
What is a Program?
"Hello, world!"
The Programming Process
Program Files and Program Execution
System Programs vs. Application Programs
Input - Process - Output
Programming Languages
Compiler Errors vs. Runtime Errors
Development Environments
Writing Simple Programs
Reading Input
Performing Numeric Calculations
Formatting Output
Decision Making
Iteration
Commenting Your Source Code
Good Programming Style
Data Types, Constants, and Variables
A Program's Purpose is to Process Data
Computer Memory
Data Can Be of Different Types
Named Data: Variables
Literal Data
Assignment
Printing Variables
Screen Output and Keyboard Input
Writing to the Screen
Characters That Have Special Meaning
Some Simple Formatting
Reading from the Keyboard
Prompting and Validating
Expressions
Expressions: Where the Work Gets Done
Expression Evaluation: The Result
Arithmetic Expressions
Relational Expressions
Where are Relational Expressions Used?
And? . . . Or?
Precedence and Associativity
Decision Making
Sequential Execution
What is Decision Making?
Simple Decisions: if
Two-Way Decisions: else
Code Blocks
Nesting Control Statements
Multi-Way Decisions: switch
Looping
Kinds of Loops
Iterative Loops
Code Blocks and Loops
Nested Loops
Conditional Loops
Infinite Loops
Spaghetti Code: The goto Statement
Subroutines
Programming Without Subroutines
Reusable Code in a Subroutine
The Starting Point
Variable Visibility: Scope
Parameters
Returning a Value
Declaring a Function
Function Stubs
Libraries
Debugging
What is Debugging?
Commenting Out Code
Simple Debugging with Print Statements
Making Debugging Print Statements Conditional
Programs that Help You Debug Programs
Data Collections - Arrays
Scalar Data vs. Data Collections
What is an Array?
Accessing Array Elements
Null-Terminated Strings
Multidimensional Arrays
Array Initialization
Data Collections - Structures
What is a Structure?
Accessing Structure Members
Using Arrays with Structures
Working with Files
Terminal I/O and File I/O
Opening Files
Opening a File for Writing
Opening a File for Reading
Checking for File Open Errors
Closing a File
Text Files vs. Binary Files