Bird
Raised Fist0
C++programming~10 mins

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

Choose your learning style10 modes available
Concept Flow - If statement
Start
↓
Evaluate condition
↓
Execute if-block
↓
Continue
↓
Skip if-block
↓
Continue
The program checks a condition. If true, it runs the code inside the if-block; if false, it skips it and continues.
Execution Sample
C++
#include <iostream>
using namespace std;

int main() {
    int x = 5;
    if (x > 3) {
        cout << "x is greater than 3" << endl;
    }
    cout << "Done" << endl;
    return 0;
}
Checks if x is greater than 3, prints a message if true, then prints "Done".
Execution Table
StepCondition (x > 3)ResultBranch TakenOutput
15 > 3TrueExecute if-blockx is greater than 3
2N/AN/AContinue after ifDone
💡 After executing the if-block, program continues to print "Done" and ends.
Variable Tracker
VariableStartAfter Step 1After Step 2
x555
Key Moments - 2 Insights
Why does the program print "x is greater than 3"?
Because the condition x > 3 is true at step 1, so the if-block runs and prints the message.
What happens if the condition is false?
The program skips the if-block and directly continues to the next statement, as shown in step 2.
Visual Quiz - 3 Questions
Test your understanding
Look at the execution table, what is the condition result at step 1?
AFalse
BTrue
CUndefined
DZero
💡 Hint
Check the 'Condition (x > 3)' column at step 1 in the execution table.
At which step does the program print "Done"?
AStep 1
BBefore step 1
CStep 2
DNever
💡 Hint
Look at the 'Output' column in the execution table for when "Done" is printed.
If x was 2 instead of 5, what would happen at step 1?
ACondition false, if-block skipped
BProgram crashes
CCondition true, if-block runs
DOutput prints twice
💡 Hint
Refer to the condition x > 3 and what happens when it is false in the key moments.
Concept Snapshot
If statement syntax:
if (condition) {
    // code runs if condition true
}

Checks condition once.
Runs block only if true.
Skips block if false.
Then continues program.
Full Transcript
This visual trace shows how an if statement works in C++. The program starts by evaluating the condition x > 3. Since x is 5, the condition is true, so the code inside the if-block runs and prints "x is greater than 3". Then the program continues and prints "Done". If the condition were false, the if-block would be skipped and only "Done" would print. Variables remain unchanged during this process.

Practice

(1/5)
1. What does an if statement do in C++?
easy
A. Defines a new variable
B. Repeats code multiple times
C. Runs code only if a condition is true
D. Ends the program immediately

Solution

  1. Step 1: Understand the purpose of if statement

    An if statement checks a condition and runs code only when that condition is true.
  2. Step 2: Compare with other options

    Repeating code is done by loops, defining variables is done by declarations, and ending the program is done by return or exit.
  3. Final Answer:

    Runs code only if a condition is true -> Option C
  4. Quick Check:

    If statement = runs code if true [OK]
Hint: If checks true condition to run code [OK]
Common Mistakes:
  • Confusing if with loops
  • Thinking if defines variables
  • Believing if ends program
2. Which of the following is the correct syntax for an if statement in C++?
easy
A. if condition { cout << "Yes"; }
B. if condition: cout << "Yes";
C. if (condition) cout << "Yes"
D. if (condition) { cout << "Yes"; }

Solution

  1. Step 1: Recall correct if syntax

    In C++, the condition must be inside parentheses and the code block inside curly braces.
  2. Step 2: Check each option

    if (condition) { cout << "Yes"; } uses parentheses and curly braces correctly. if condition { cout << "Yes"; } misses parentheses. if condition: cout << "Yes"; uses colon which is invalid in C++. if (condition) cout << "Yes" misses curly braces which is allowed only for single statements but here it is incomplete.
  3. Final Answer:

    if (condition) { cout << "Yes"; } -> Option D
  4. Quick Check:

    Parentheses + braces = correct if syntax [OK]
Hint: Use parentheses for condition and braces for code [OK]
Common Mistakes:
  • Missing parentheses
  • Using colon instead of braces
  • Omitting braces for multiple statements
3. What will be the output of this code?
int x = 10;
if (x > 5) {
  cout << "Hello";
} else {
  cout << "Bye";
}
medium
A. Hello
B. Bye
C. HelloBye
D. No output

Solution

  1. Step 1: Evaluate the condition x > 5

    Since x is 10, which is greater than 5, the condition is true.
  2. Step 2: Determine which block runs

    Because the condition is true, the code inside the if block runs, printing "Hello".
  3. Final Answer:

    Hello -> Option A
  4. Quick Check:

    10 > 5 is true, prints Hello [OK]
Hint: Check condition true or false to pick output [OK]
Common Mistakes:
  • Confusing else output
  • Ignoring condition result
  • Assuming both blocks run
4. Find the error in this code snippet:
int a = 3;
if a > 0 {
  cout << "Positive";
}
medium
A. Missing semicolon after if
B. Condition must be inside parentheses
C. Missing curly braces
D. Variable a is not declared

Solution

  1. Step 1: Check the if statement syntax

    The condition in an if statement must be inside parentheses.
  2. Step 2: Identify the error

    The code writes if a > 0 { without parentheses, which is invalid syntax.
  3. Final Answer:

    Condition must be inside parentheses -> Option B
  4. Quick Check:

    If condition needs parentheses [OK]
Hint: Always put condition inside parentheses [OK]
Common Mistakes:
  • Omitting parentheses
  • Thinking semicolon needed after if
  • Assuming braces optional always
5. You want to print "Even" if a number is even, and "Odd" if it is odd. Which code correctly uses an if statement to do this?
int num = 7;
// Your code here
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 how to check even numbers

    A number is even if dividing by 2 leaves remainder 0, checked by num % 2 == 0.
  2. Step 2: Analyze each option

    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, which is wrong. 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 A
  4. Quick Check:

    Modulo 2 equals 0 means even [OK]
Hint: Use modulo (%) to check evenness [OK]
Common Mistakes:
  • Using division instead of modulo
  • Using = instead of ==
  • Reversing condition logic
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