Since you're working through your 4th semester, you’ve likely seen how programs can get
messy without a clear path. Control structures are the "traffic signals" of your code—they
decide which lines run, which are skipped, and which are repeated.
In C++, control structures are divided into three main categories.
1. Sequence Structure
This is the simplest form. The computer executes instructions line by line, from top to bottom, in
the exact order they are written.
● Logic: Start $\rightarrow$ Step A $\rightarrow$ Step B $\rightarrow$ End.
● Example: Declaring a variable and then printing it. Every C++ program uses this as its
base.
2. Selection (Decision) Structures
These allow the program to branch in different directions based on a condition (True or False).
A. The if / else if / else Statement
Used when you have a specific condition to check.
● Single-way: if (condition) — Runs code only if true.
● Two-way: if-else — Runs one block if true, another if false.
● Multi-way: if-else if-else — Checks multiple conditions in order.
B. The switch Statement
Instead of many if-else blocks, switch is cleaner when comparing a single variable against
multiple constant values (like a menu).
● It uses case labels and a default catch-all.
● Note: Don't forget the break; statement, or the code will "fall through" to the next case!
3. Repetition (Loop) Structures
Loops are used to execute a block of code multiple times. This is essential for handling lists of
data or keeping a program running.
A. for Loop (Counter-controlled)
Best used when you know exactly how many times the loop should run.
● Structure: for(initialization; condition; increment)
● Example: Printing "Hello" 10 times.
B. while Loop (Pre-test)
The condition is checked before the code block runs. If the condition is false at the start, the
code inside never executes.
● Best when the number of iterations is unknown (e.g., waiting for a user to press 'Q').
C. do-while Loop (Post-test)
The condition is checked after the code block runs.
● The Key Difference: The code is guaranteed to run at least once, even if the condition is
false.
● Example: Displaying a menu and then checking if the user wants to exit.
Comparison Table for Quick Review
Structure Best Use Case Logic
if-else Range-based logic (e.g., If $X$ is true, do $Y$.
score > 90)
switch Fixed values (e.g., Jump to the matching case.
pressed_key == 'A')
for Known iterations (e.g., 1 to Repeat $N$ times.
100)
while Unknown iterations Repeat while true.
do-while Menus / Input validation Do once, then repeat while
true.
4. Jump Statements (The "Rule Breakers")
Inside these structures, you can use special commands to alter the flow further:
● break: Immediately exits the loop or switch.
● continue: Skips the rest of the current loop iteration and moves to the next one.
● goto: Jumps to a labeled part of the program (generally avoided in modern coding as it
makes "spaghetti code").
Are you practicing these by building specific logic, like a calculator or a grading system?