A for loop helps you repeat a set of instructions many times without writing them again and again.
For loop in C++
for (initialization; condition; update) { // code to repeat }
initialization runs once at the start.
condition is checked before each loop; if false, loop stops.
update runs after each loop to change the loop variable.
for (int i = 0; i < 5; i++) { // repeat 5 times }
for (int count = 10; count > 0; count--) { // count down from 10 to 1 }
for (int i = 1; i <= 10; i += 2) { // i goes 1, 3, 5, 7, 9 }
This program prints "Hello" followed by numbers 1 to 5, each on a new line.
#include <iostream> int main() { for (int i = 1; i <= 5; i++) { std::cout << "Hello " << i << "\n"; } return 0; }
Make sure the loop condition eventually becomes false, or the loop will run forever.
You can use any variable name for the loop counter, not just i.
The update step can add, subtract, or do other changes to the loop variable.
For loops repeat code a set number of times.
They have three parts: start, condition, and update.
Use for loops when you know how many times to repeat something.
Practice
What does a for loop in C++ do?
Solution
Step 1: Understand the purpose of a for loop
A for loop is designed to repeat code multiple times based on a condition.Step 2: Identify the correct description
Among the options, only repeating code a fixed number of times matches the for loop's behavior.Final Answer:
Repeats a block of code a fixed number of times -> Option DQuick Check:
For loop = repeat fixed times [OK]
- Thinking for loops run only once
- Confusing for loops with if statements
- Believing for loops stop the program
Which of the following is the correct syntax for a for loop in C++?
for (___; i < 5; i++) {
// code
}Solution
Step 1: Check initialization syntax in for loop
The initialization part must declare and initialize the loop variable, e.g.,int i = 0.Step 2: Compare options for correctness
Onlyint i = 0correctly declares and initializes the variable.Final Answer:
int i = 0 -> Option AQuick Check:
Initialization needs declaration and assignment [OK]
- Using 'int i' without initialization
- Using 'int i == 0' which is a comparison
- Omitting the type declaration
What is the output of this code?
for (int i = 1; i <= 3; i++) {
std::cout << i * 2 << " ";
}Solution
Step 1: Identify loop iterations
The loop runs with i = 1, 2, 3 because condition is i <= 3.Step 2: Calculate output for each iteration
Outputs are i*2: 2, 4, 6 printed with spaces.Final Answer:
2 4 6 -> Option BQuick Check:
Multiply i by 2 each loop [OK]
- Confusing loop range (off by one)
- Printing i instead of i*2
- Missing spaces in output
Find the error in this for loop:
for (int i = 0; i > 5; i++) {
std::cout << i << " ";
}Solution
Step 1: Analyze the loop condition
The condition isi > 5but i starts at 0, so it is false immediately.Step 2: Understand loop execution
Since condition is false at start, loop body never executes.Final Answer:
The condition 'i > 5' is incorrect, loop never runs -> Option CQuick Check:
Condition false at start means no loop runs [OK]
- Assuming loop runs despite false condition
- Thinking missing semicolon causes error here
- Confusing variable declaration errors
How can you use a for loop to print all even numbers from 2 to 10 inclusive?
Choose the correct code snippet:
Solution
Step 1: Understand the goal
We want to print even numbers 2,4,6,8,10 inclusive.Step 2: Check each option
for (int i = 2; i <= 10; i += 2) { std::cout << i << ' '; } increments by 2 starting at 2, printing 2,4,6,8,10 correctly.
for (int i = 1; i < 10; i++) { if (i % 2 == 0) std::cout << i << ' '; } prints 2,4,6,8 but misses 10.
for (int i = 2; i < 10; i++) { std::cout << i * 2 << ' '; } prints 4,6,8,10,12,14,16,18 (wrong range).
for (int i = 0; i <= 10; i += 3) { std::cout << i << ' '; } increments by 3, not even numbers.Final Answer:
for (int i = 2; i <= 10; i += 2) { std::cout << i << ' '; } -> Option AQuick Check:
Increment by 2 from 2 to 10 [OK]
- Using wrong increment step
- Forgetting to include 10
- Using condition inside loop unnecessarily
Ready to prove it?
Pass the test and this pattern moves unknown
