Bird
Raised Fist0
Cprogramming~10 mins

Break statement in C - Step-by-Step Execution

Choose your learning style10 modes available
Concept Flow - Break statement
Start Loop
↓
Check Condition
Yes↓
Execute Loop Body
↓
Check Break Condition
↓
Break Loop
↓
Exit Loop
↓
End
The loop runs checking a condition each time. Inside, if the break condition is true, the loop stops immediately and exits.
Execution Sample
C
for (int i = 0; i < 5; i++) {
    if (i == 3) {
        break;
    }
    printf("%d ", i);
}
This loop prints numbers from 0 up to 2, then stops when i equals 3 because of the break.
Execution Table
IterationiCondition i<5Break Condition i==3ActionOutput
10TrueFalsePrint 00
21TrueFalsePrint 11
32TrueFalsePrint 22
43TrueTrueBreak loop
-3N/A-Exit loop-
💡 Loop exits at iteration 4 because break condition i==3 is True
Variable Tracker
VariableStartAfter 1After 2After 3Final
i0 (init)1233 (break)
Key Moments - 2 Insights
Why does the loop stop printing when i reaches 3?
Because at iteration 4 in the execution_table, the break condition i==3 is True, so the break statement stops the loop immediately.
Does the loop check the condition i<5 after break?
No, once break is executed (iteration 4), the loop exits immediately without checking i<5 again, as shown in the exit_note.
Visual Quiz - 3 Questions
Test your understanding
Look at the execution_table, what is the output after iteration 3?
A"0 1 2 3 "
B"0 1 2 "
C"1 2 3 "
D"0 1 "
💡 Hint
Check the Output column for iteration 3 in the execution_table.
At which iteration does the break statement stop the loop?
AIteration 2
BIteration 3
CIteration 4
DIteration 5
💡 Hint
Look at the Break Condition and Action columns in the execution_table.
If the break condition was changed to i == 4, when would the loop stop?
AAfter printing 3
BAfter printing 2
CAfter printing 4
DIt would never stop early
💡 Hint
Think about when i equals 4 and how break works from the variable_tracker.
Concept Snapshot
Break statement in C:
- Used inside loops to stop loop immediately
- Syntax: break;
- When break runs, loop exits without checking further
- Useful to stop loop early based on condition
- After break, code continues after loop
Full Transcript
This visual trace shows how the break statement works in a C for loop. The loop starts with i=0 and runs while i<5. Each iteration prints i. When i reaches 3, the break condition becomes true, so the break statement stops the loop immediately. The loop does not continue to i=4 or 5. The variable i changes from 0 to 3, then stops. The output is numbers 0 1 2 printed with spaces. Key points: break stops loop instantly, no further iterations run after break, and the loop condition is not checked again after break.

Practice

(1/5)
1.

What does the break statement do inside a loop in C?

easy
A. It immediately exits the loop and continues with the code after the loop.
B. It pauses the loop for a moment and then continues.
C. It restarts the loop from the beginning.
D. It skips the current iteration and moves to the next one.

Solution

  1. Step 1: Understand the role of break in loops

    The break statement is designed to stop the loop immediately when executed.
  2. Step 2: Identify what happens after break

    After breaking, the program continues with the first statement after the loop block.
  3. Final Answer:

    It immediately exits the loop and continues with the code after the loop. -> Option A
  4. Quick Check:

    Break stops loop immediately = A [OK]
Hint: Break exits loop immediately, no more iterations [OK]
Common Mistakes:
  • Confusing break with continue
  • Thinking break pauses the loop
  • Assuming break restarts the loop
2.

Which of the following is the correct syntax to use break inside a for loop in C?

for(int i = 0; i < 5; i++) {
    if(i == 3) {
        ?
    }    printf("%d ", i);
}
easy
A. exit;
B. continue;
C. break;
D. stop;

Solution

  1. Step 1: Recall the keyword to exit loops

    In C, break; is the correct statement to exit loops immediately.
  2. Step 2: Check syntax correctness

    Only break; is a valid C keyword; others like exit; or stop; are invalid here.
  3. Final Answer:

    break; -> Option C
  4. Quick Check:

    Correct break syntax = D [OK]
Hint: Use 'break;' to exit loops, not 'exit;' or 'stop;' [OK]
Common Mistakes:
  • Using 'exit;' instead of 'break;'
  • Confusing 'continue;' with 'break;'
  • Missing semicolon after break
3.

What will be the output of the following C code?

int i;
for(i = 0; i < 5; i++) {
    if(i == 2) {
        break;
    }
    printf("%d ", i);
}
medium
A. 0 1
B. 0 1 2
C. 2
D. 0 1 2 3 4

Solution

  1. Step 1: Trace loop iterations until break

    The loop starts i=0, prints 0; i=1, prints 1; when i=2, break triggers and loop stops.
  2. Step 2: Determine printed values

    Only 0 and 1 are printed before break stops the loop.
  3. Final Answer:

    0 1 -> Option A
  4. Quick Check:

    Break at i=2 stops loop, prints 0 1 [OK]
Hint: Break stops loop before printing i=2 [OK]
Common Mistakes:
  • Including value at break condition in output
  • Confusing break with continue
  • Assuming loop runs fully
4.

Identify the error in this C code snippet using break:

int i = 0;
if(i == 0) {
    break;
}
medium
A. Variable i not declared
B. Missing semicolon after break
C. No error, code is correct
D. break used outside loop or switch statement

Solution

  1. Step 1: Check where break is used

    The break statement is inside an if but not inside a loop or switch.
  2. Step 2: Recall break usage rules

    In C, break must be inside loops or switch; using it outside causes a compile error.
  3. Final Answer:

    break used outside loop or switch statement -> Option D
  4. Quick Check:

    Break outside loop/switch = error [OK]
Hint: Break only inside loops or switch [OK]
Common Mistakes:
  • Using break inside if without loop
  • Forgetting break requires semicolon (not the main error here)
  • Assuming break works anywhere
5.

Consider the nested loops below. What will be the output?

for(int i = 1; i <= 3; i++) {
    for(int j = 1; j <= 3; j++) {
        if(j == 2) {
            break;
        }
        printf("%d%d ", i, j);
    }
}
hard
A. 13 12 11
B. 11 21 31
C. 11 12 13 21 22 23 31 32 33
D. 11 12 21 22 31 32

Solution

  1. Step 1: Analyze inner loop behavior with break

    Inner loop runs j=1 to 3, but breaks when j==2, so only j=1 prints.
  2. Step 2: Trace all iterations

    For i=1, prints 11; i=2 prints 21; i=3 prints 31; each inner loop stops after j=1.
  3. Final Answer:

    11 21 31 -> Option B
  4. Quick Check:

    Break stops inner loop at j=2, prints only j=1 per i [OK]
Hint: Break stops inner loop early, only first inner print per outer loop [OK]
Common Mistakes:
  • Assuming inner loop prints all j values
  • Confusing break effect on outer loop
  • Including j=2 prints
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard