Bird
Raised Fist0
C++programming~10 mins

If–else statement in C++ - Step-by-Step Execution

Choose your learning style10 modes available
Concept Flow - If–else statement
Start
↓
Evaluate condition
↓
Execute if-block
↓
End
↓
Execute else-block
↓
End
The program checks a condition. If true, it runs the 'if' part; if false, it runs the 'else' part, then ends.
Execution Sample
C++
#include <iostream>
using namespace std;

int main() {
  int x = 10;
  if (x > 5) {
    cout << "Big";
  } else {
    cout << "Small";
  }
  return 0;
}
Checks if x is greater than 5; prints 'Big' if true, otherwise 'Small'.
Execution Table
StepCondition (x > 5)ResultBranch TakenOutput
110 > 5trueif-block"Big"
2--End-
💡 Condition true, executed if-block, then program ends.
Variable Tracker
VariableStartAfter Step 1Final
x101010
Key Moments - 2 Insights
Why does the program print "Big" and not "Small"?
Because the condition x > 5 is true at step 1, so the if-block runs and else-block is skipped.
What happens if the condition is false?
The else-block runs instead, printing "Small" as shown in the branch taken column if condition was false.
Visual Quiz - 3 Questions
Test your understanding
Look at the execution table, what is the output at step 1?
A"Small"
B"Big"
CNo output
DError
💡 Hint
Check the Output column at step 1 in the execution_table.
At which step does the program decide which branch to take?
AStep 2
BBefore Step 1
CStep 1
DAfter Step 2
💡 Hint
Look at the Condition and Branch Taken columns in the execution_table.
If x was 3 instead of 10, what would the output be?
A"Small"
B"Big"
CNo output
DError
💡 Hint
Refer to the key_moments explanation about condition false leading to else-block.
Concept Snapshot
if (condition) {
  // code if true
} else {
  // code if false
}

Checks condition once; runs if-block if true, else-block if false.
Full Transcript
This example shows how an if-else statement works in C++. The program starts by checking if x is greater than 5. Since x is 10, the condition is true, so it runs the code inside the if-block and prints "Big". If the condition were false, it would run the else-block and print "Small". The execution table shows each step: evaluating the condition, choosing the branch, and printing the output. The variable tracker shows that x stays 10 throughout. This helps beginners see how the program decides which code to run based on a condition.

Practice

(1/5)
1. What does an if-else statement do in C++?
easy
A. It defines a function.
B. It repeats a block of code multiple times.
C. It chooses between two paths based on a condition.
D. It declares a variable.

Solution

  1. Step 1: Understand the purpose of if-else

    An if-else statement lets the program decide which block of code to run based on a condition.
  2. Step 2: Compare with other options

    Repeating code is done by loops, functions define reusable code, and variables store data, so these are not correct.
  3. Final Answer:

    It chooses between two paths based on a condition. -> Option C
  4. Quick Check:

    If-else = choose path [OK]
Hint: If condition true, run if-block; else run else-block [OK]
Common Mistakes:
  • Confusing if-else with loops
  • Thinking if-else defines functions
  • Mixing variable declaration with control flow
2. Which of the following is the correct syntax for an if-else statement in C++?
easy
A. if (x > 0) { cout << "Positive"; } else { cout << "Non-positive"; }
B. if x > 0 then cout << "Positive" else cout << "Non-positive"
C. if (x > 0) cout << "Positive" else cout << "Non-positive";
D. if x > 0 { cout << "Positive" } else { cout << "Non-positive" }

Solution

  1. Step 1: Check C++ if-else syntax rules

    C++ requires parentheses around the condition and braces around blocks for multiple statements.
  2. Step 2: Analyze each option

    if (x > 0) { cout << "Positive"; } else { cout << "Non-positive"; } uses correct parentheses and braces. Options A and B miss parentheses or use incorrect keywords. if (x > 0) cout << "Positive" else cout << "Non-positive"; misses semicolon after else block.
  3. Final Answer:

    if (x > 0) { cout << "Positive"; } else { cout << "Non-positive"; } -> Option A
  4. Quick Check:

    Correct syntax uses parentheses and braces [OK]
Hint: Use parentheses for condition and braces for blocks [OK]
Common Mistakes:
  • Omitting parentheses around condition
  • Missing braces for multiple statements
  • Using 'then' keyword (not in C++)
3. What will be the output of this code?
int x = 5;
if (x < 3) {
  cout << "Less";
} else {
  cout << "More or equal";
}
medium
A. Less
B. More or equal
C. No output
D. Compilation error

Solution

  1. Step 1: Evaluate the condition x < 3

    Variable x is 5, so 5 < 3 is false.
  2. Step 2: Determine which block runs

    Since condition is false, the else block runs, printing "More or equal".
  3. Final Answer:

    More or equal -> Option B
  4. Quick Check:

    Condition false -> else block output [OK]
Hint: Check condition truth to pick if or else output [OK]
Common Mistakes:
  • Assuming if-block runs when condition is false
  • Confusing output strings
  • Ignoring else block
4. Find the error in this code snippet:
int n = 10;
if n > 5 {
  cout << "Big";
} else {
  cout << "Small";
}
medium
A. Missing parentheses around condition
B. Missing semicolon after cout statements
C. Incorrect else keyword
D. Variable n not declared

Solution

  1. Step 1: Check if statement syntax

    C++ requires parentheses around the condition in if statements.
  2. Step 2: Identify the error

    The code uses if n > 5 without parentheses, which is invalid syntax.
  3. Final Answer:

    Missing parentheses around condition -> Option A
  4. Quick Check:

    if condition needs parentheses [OK]
Hint: Always put condition inside parentheses in if [OK]
Common Mistakes:
  • Omitting parentheses in if condition
  • Forgetting semicolons (though not the main error here)
  • Misreading else keyword
5. You want to write a program that prints "Even" if a number is divisible by 2, otherwise prints "Odd". Which code correctly uses if-else to do this?
hard
A. if (num % 2 = 0) { cout << "Even"; } else { cout << "Odd"; }
B. if (num / 2 == 0) { cout << "Even"; } else { cout << "Odd"; }
C. if (num % 2 != 0) { cout << "Even"; } else { cout << "Odd"; }
D. if (num % 2 == 0) { cout << "Even"; } else { cout << "Odd"; }

Solution

  1. Step 1: Understand divisibility by 2

    A number is divisible by 2 if remainder when divided by 2 is zero, i.e., num % 2 == 0.
  2. Step 2: Check each option's condition

    if (num % 2 == 0) { cout << "Even"; } else { cout << "Odd"; } correctly uses num % 2 == 0. if (num / 2 == 0) { cout << "Even"; } else { cout << "Odd"; } uses division instead of modulo. if (num % 2 = 0) { cout << "Even"; } else { cout << "Odd"; } uses assignment (=) instead of comparison (==). if (num % 2 != 0) { cout << "Even"; } else { cout << "Odd"; } reverses the logic.
  3. Final Answer:

    if (num % 2 == 0) { cout << "Even"; } else { cout << "Odd"; } -> Option D
  4. Quick Check:

    Use modulo == 0 for even check [OK]
Hint: Use modulo (%) and == 0 to check even numbers [OK]
Common Mistakes:
  • Using assignment (=) instead of comparison (==)
  • Using division (/) instead of modulo (%)
  • Reversing if and else blocks
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