Bird
Raised Fist0
C++programming~20 mins

If statement in C++ - Practice Problems & Coding Challenges

Choose your learning style10 modes available
Challenge - 5 Problems
🎖️
If Statement Master
Get all challenges correct to earn this badge!
Test your skills under time pressure!
❓ Predict Output
intermediate
2:00remaining
Output of nested if statements
What is the output of this C++ code snippet?
C++
int x = 5;
int y = 10;
if (x > 3) {
    if (y < 15) {
        std::cout << "A";
    } else {
        std::cout << "B";
    }
} else {
    std::cout << "C";
}
AA
BB
CC
DNo output
Attempts:
2 left
💡 Hint
Check both conditions in the nested if statements carefully.
❓ Predict Output
intermediate
2:00remaining
If-else with logical operators
What will this C++ code print?
C++
int a = 7;
int b = 3;
if (a > 5 && b < 5) {
    std::cout << "X";
} else {
    std::cout << "Y";
}
ANo output
BY
CX
DCompilation error
Attempts:
2 left
💡 Hint
Both conditions in the if must be true for the if block to run.
❓ Predict Output
advanced
2:00remaining
If statement with assignment inside condition
What is the output of this C++ code?
C++
int x = 0;
if (x = 5) {
    std::cout << x;
} else {
    std::cout << 0;
}
A5
B0
CCompilation error
DUndefined behavior
Attempts:
2 left
💡 Hint
Remember that assignment inside if condition returns the assigned value.
❓ Predict Output
advanced
2:00remaining
If statement with multiple else if branches
What will this C++ code print?
C++
int n = 15;
if (n < 10) {
    std::cout << "Low";
} else if (n < 20) {
    std::cout << "Medium";
} else {
    std::cout << "High";
}
ANo output
BLow
CHigh
DMedium
Attempts:
2 left
💡 Hint
Check which condition matches the value of n first.
❓ Predict Output
expert
2:00remaining
If statement with complex boolean expression
What is the output of this C++ code?
C++
bool a = true;
bool b = false;
bool c = true;
if ((a && b) || (b || c)) {
    std::cout << "Yes";
} else {
    std::cout << "No";
}
ANo
BYes
CCompilation error
DNo output
Attempts:
2 left
💡 Hint
Evaluate the boolean expression step by step.

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