Loops help us repeat tasks easily without writing the same code many times. They save time and make programs shorter and clearer.
When you want to print numbers from 1 to 10.
When you need to add up all items in a list.
When you want to keep asking a user for input until they give a valid answer.
When you want to repeat a game action multiple times.
When you want to process each item in a collection one by one.
Syntax
C++
for (initialization; condition; update) {
// code to repeat
}
while (condition) {
// code to repeat
}
do {
// code to repeat
} while (condition);
The for loop is good when you know how many times to repeat.
The while loop repeats as long as a condition is true.
Examples
This prints numbers 1 to 5 using a for loop.
C++
for (int i = 1; i <= 5; i++) {
std::cout << i << " ";
}
This prints "Hello" three times using a while loop.
C++
int count = 1;
while (count <= 3) {
std::cout << "Hello\n";
count++;
}
This prints numbers 0 and 1 using a do-while loop, which runs the code at least once.
C++
int n = 0;
do {
std::cout << "Number: " << n << "\n";
n++;
} while (n < 2);
Sample Program
This program shows two loops: a for loop counting numbers and a while loop printing a message multiple times.
C++
#include <iostream>
int main() {
std::cout << "Counting from 1 to 5:\n";
for (int i = 1; i <= 5; i++) {
std::cout << i << " ";
}
std::cout << "\n";
std::cout << "\nRepeating message 3 times:\n";
int count = 1;
while (count <= 3) {
std::cout << "Hello!\n";
count++;
}
return0;
}
OutputSuccess
Important Notes
Loops help avoid repeating the same code many times.
Be careful to make sure loops eventually stop, or the program will run forever.
Summary
Loops repeat actions to save time and code.
Use loops when you want to do something many times.
There are different loops for different situations: for, while, and do-while.
Practice
(1/5)
1. Why do we use loops in C++ programming?
easy
A. To repeat a set of instructions multiple times without writing them again
B. To store multiple values in a single variable
C. To make the program run faster by skipping code
D. To create new variables automatically
Solution
Step 1: Understand the purpose of loops
Loops allow repeating the same instructions many times without rewriting the code.
Step 2: Compare other options
Options A, C, and D describe other programming concepts, not loops.
Final Answer:
To repeat a set of instructions multiple times without writing them again -> Option A
Quick Check:
Loops repeat actions [OK]
Hint: Loops repeat code to save writing it many times [OK]
Common Mistakes:
Confusing loops with variables
Thinking loops speed up code by skipping
Mixing loops with data storage
2. Which of the following is the correct syntax for a for loop in C++?
easy
A. for (int i < 5; i = 0; i++) { /* code */ }
B. for i = 0 to 5 { /* code */ }
C. for (int i = 0; i < 5; i++) { /* code */ }
D. loop (int i = 0; i < 5; i++) { /* code */ }
Solution
Step 1: Recall correct for loop syntax
The correct syntax uses: for (initialization; condition; update) { code }
Step 2: Check each option
for (int i = 0; i < 5; i++) { /* code */ } matches the correct syntax. Options A, B, and C have syntax errors.
Final Answer:
for (int i = 0; i < 5; i++) { /* code */ } -> Option C
Quick Check:
Standard for loop syntax [OK]
Hint: For loops use three parts inside parentheses separated by semicolons [OK]
Common Mistakes:
Using 'for i = 0 to 5' like other languages
Writing 'loop' instead of 'for'
Mixing order of initialization and condition
3. What will be the output of this C++ code?
for (int i = 1; i <= 3; i++) {
std::cout << i << " ";
}
medium
A. 0 1 2
B. 1 2 3
C. 1 2 3 4
D. 3 2 1
Solution
Step 1: Analyze loop range and output
The loop starts at i=1 and runs while i <= 3, printing i each time.
Step 2: List printed values
Values printed are 1, 2, and 3, each followed by a space.
Final Answer:
1 2 3 -> Option B
Quick Check:
Loop prints 1 to 3 [OK]
Hint: Check loop start, end, and print inside loop [OK]
Common Mistakes:
Starting loop at 0 instead of 1
Including extra number beyond 3
Printing in reverse order
4. Identify the error in this C++ loop code:
int i = 0;
while (i < 3) {
std::cout << i << " ";
}
medium
A. Missing semicolon after std::cout
B. Variable i is not declared
C. Incorrect while loop syntax
D. No update to i inside the loop causing infinite loop
Solution
Step 1: Check loop structure
The while loop condition is correct and variable i is declared.
Step 2: Look for loop update
There is no statement changing i inside the loop, so i stays 0 forever, causing infinite loop.
Final Answer:
No update to i inside the loop causing infinite loop -> Option D
Quick Check:
Loops need variable update to end [OK]
Hint: Always update loop variable inside while loops [OK]
Common Mistakes:
Forgetting to increment loop variable
Assuming loop ends automatically
Misreading syntax errors
5. You want to print all even numbers from 2 to 10 using a loop in C++. Which loop is best and why?
hard
A. Use a for loop with i starting at 2, incrementing by 2 until 10
B. Use a while loop starting at 1, incrementing by 1, and print if even
C. Use a do-while loop starting at 10, decrementing by 2 until 2
D. Use a for loop starting at 0, incrementing by 1, and print if even
Solution
Step 1: Consider loop control and efficiency
Starting at 2 and incrementing by 2 prints only even numbers directly.
Step 2: Compare other options
Use a while loop starting at 1, incrementing by 1, and print if even checks each number if even, less efficient. Use a do-while loop starting at 10, decrementing by 2 until 2 counts backward, which is okay but less natural here. Use a for loop starting at 0, incrementing by 1, and print if even starts at 0 and prints even numbers but includes 0 and extra checks.
Final Answer:
Use a for loop with i starting at 2, incrementing by 2 until 10 -> Option A
Quick Check:
Directly loop over even numbers [OK]
Hint: Increment by 2 to print even numbers efficiently [OK]
Common Mistakes:
Using loops that check every number unnecessarily
Starting loop at wrong number
Confusing increment direction
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.