Bird
Raised Fist0
C++programming~10 mins

Logical operators in C++ - Interactive Code Practice

Choose your learning style10 modes available
Practice - 5 Tasks
Answer the questions below
1fill in blank
easy

Complete the code to check if both conditions are true.

C++
bool result = (a > 5) [1] (b < 10);
Drag options to blanks, or click blank then click option'
A!
B&&
C||
D&
Attempts:
3 left
💡 Hint
Common Mistakes
Using bitwise AND (&) instead of logical AND (&&).
Using logical OR (||) when both conditions must be true.
2fill in blank
medium

Complete the code to check if either condition is true.

C++
bool result = (x == 0) [1] (y != 0);
Drag options to blanks, or click blank then click option'
A&&
B&
C!
D||
Attempts:
3 left
💡 Hint
Common Mistakes
Using logical AND (&&) when only one condition needs to be true.
Using bitwise OR (|) instead of logical OR (||).
3fill in blank
hard

Fix the error in the condition to correctly negate the expression.

C++
if ([1]) {
    // do something
}
Drag options to blanks, or click blank then click option'
A!flag
B~flag
C!!flag
Dflag
Attempts:
3 left
💡 Hint
Common Mistakes
Using bitwise NOT (~) instead of logical NOT (!).
Not negating the flag when needed.
4fill in blank
hard

Fill both blanks to create a condition that is true only if a is positive and b is not zero.

C++
if ((a [1] 0) [2] (b != 0)) {
    // code here
}
Drag options to blanks, or click blank then click option'
A>
B&&
C||
D<
Attempts:
3 left
💡 Hint
Common Mistakes
Using logical OR (||) instead of AND (&&) when both conditions must be true.
Using less than (<) instead of greater than (>) for positive check.
5fill in blank
hard

Fill all three blanks to create a condition that is true if x is zero or y is positive and z is false.

C++
if ((x [1] 0) [2] (y [3] 0 && !z)) {
    // action
}
Drag options to blanks, or click blank then click option'
A==
B||
C>
D<
Attempts:
3 left
💡 Hint
Common Mistakes
Using logical AND (&&) instead of OR (||) between x and y conditions.
Using less than (<) instead of greater than (>) for y check.

Practice

(1/5)
1. Which logical operator in C++ means "both conditions must be true"?
easy
A. &&
B. ||
C. !
D. &

Solution

  1. Step 1: Understand the meaning of logical AND

    The operator that requires both conditions to be true is called logical AND.
  2. Step 2: Identify the C++ symbol for logical AND

    In C++, logical AND is represented by &&.
  3. Final Answer:

    && -> Option A
  4. Quick Check:

    Both true = true means && [OK]
Hint: && means both true; || means one true [OK]
Common Mistakes:
  • Confusing & (bitwise AND) with && (logical AND)
  • Thinking || means both true
  • Mixing ! with AND or OR
2. Which of the following is the correct syntax to negate a boolean variable flag in C++?
easy
A. !flag = flag;
B. flag = flag!;
C. flag != flag;
D. flag = !flag;

Solution

  1. Step 1: Recall the negation operator syntax

    The negation operator ! is placed before the variable to flip its value.
  2. Step 2: Check correct assignment syntax

    To update flag to its negation, write flag = !flag; which is valid C++ syntax.
  3. Final Answer:

    flag = !flag; -> Option D
  4. Quick Check:

    Negate with ! before variable [OK]
Hint: Put ! before variable to negate [OK]
Common Mistakes:
  • Placing ! after variable (invalid syntax)
  • Using != which means not equal
  • Trying to assign to !flag (not a variable)
3. What is the output of this C++ code?
bool a = true;
bool b = false;
if (a || b) {
std::cout << "Yes";
} else {
std::cout << "No";
}
medium
A. Yes
B. No
C. true
D. false

Solution

  1. Step 1: Evaluate the logical OR condition

    a is true, b is false, so a || b is true because at least one is true.
  2. Step 2: Determine which branch runs

    Since the condition is true, the if block runs and prints "Yes".
  3. Final Answer:

    Yes -> Option A
  4. Quick Check:

    true || false = true [OK]
Hint: || is true if any side is true [OK]
Common Mistakes:
  • Thinking both must be true for ||
  • Confusing output with boolean literals
  • Ignoring that std::cout prints strings
4. Find the error in this C++ code snippet:
bool x = true;
bool y = false;
if (x & y) {
std::cout << "True";
} else {
std::cout << "False";
}
medium
A. Incorrect use of std::cout
B. Missing semicolon after bool declarations
C. Using & instead of && in if condition
D. Variables x and y not initialized

Solution

  1. Step 1: Identify the operator used in condition

    The code uses & which is bitwise AND, not logical AND.
  2. Step 2: Explain why && is needed

    For boolean logic in conditions, && should be used to combine true/false values.
  3. Final Answer:

    Using & instead of && in if condition -> Option C
  4. Quick Check:

    Logical AND needs && not & [OK]
Hint: Use && for logic, & is bitwise [OK]
Common Mistakes:
  • Confusing bitwise & with logical &&
  • Assuming & works like && in conditions
  • Ignoring operator precedence differences
5. Given int a = 5; and int b = 10;, which condition correctly checks if a is less than 10 AND b is greater than 5?
hard
A. if (a < 10 || b > 5)
B. if (a < 10 && b > 5)
C. if (!(a < 10) && !(b > 5))
D. if (a > 10 && b < 5)

Solution

  1. Step 1: Understand the condition requirements

    We want both: a less than 10 AND b greater than 5.
  2. Step 2: Match condition with logical AND

    Logical AND (&&) combines both conditions to be true simultaneously.
  3. Final Answer:

    if (a < 10 && b > 5) -> Option B
  4. Quick Check:

    Both true means && [OK]
Hint: Use && to require both conditions true [OK]
Common Mistakes:
  • Using || which means either condition true
  • Negating conditions incorrectly
  • Swapping comparison operators
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