Bird
Raised Fist0
C++programming~5 mins

Operator precedence in C++ - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
What is operator precedence in C++?
Operator precedence determines the order in which operators are evaluated in an expression. Operators with higher precedence are evaluated before those with lower precedence.
Click to reveal answer
beginner
Which operator has higher precedence: multiplication (*) or addition (+)?
Multiplication (*) has higher precedence than addition (+), so it is evaluated first in an expression without parentheses.
Click to reveal answer
beginner
How does parentheses affect operator precedence?
Parentheses have the highest precedence and force the expression inside them to be evaluated first, regardless of other operators.
Click to reveal answer
intermediate
What is the precedence order between logical AND (&&) and logical OR (||)?
Logical AND (&&) has higher precedence than logical OR (||), so && operations are evaluated before || in expressions.
Click to reveal answer
intermediate
In the expression 3 + 4 * 2 / (1 - 5), which operation is performed first?
The operation inside parentheses (1 - 5) is performed first because parentheses have the highest precedence.
Click to reveal answer
Which operator is evaluated first in the expression 5 + 3 * 2?
ADepends on compiler
BAddition (+)
CBoth at the same time
DMultiplication (*)
What does parentheses do in an expression?
AForce evaluation order inside them first
BDecrease operator precedence
CIncrease operator precedence
DHave no effect
Which has higher precedence: logical AND (&&) or logical OR (||)?
ALogical OR (||)
BLogical AND (&&)
CThey have the same precedence
DDepends on the expression
In the expression a = b == c + d, which operator is evaluated last?
AAssignment (=)
BEquality (==)
CAddition (+)
DAll evaluated simultaneously
What is the result of 2 + 3 * 4?
A20
BUndefined
C14
D24
Explain how operator precedence affects the evaluation of the expression 4 + 5 * 6.
Think about which operator is stronger.
You got /3 concepts.
    Describe the role of parentheses in changing the order of operations in expressions.
    Parentheses act like a priority sign.
    You got /3 concepts.

      Practice

      (1/5)
      1. Which operator has the highest precedence in the expression 3 + 4 * 5?
      easy
      A. Addition (+)
      B. Subtraction (-)
      C. Multiplication (*)
      D. Division (/)

      Solution

      1. Step 1: Identify operators in the expression

        The expression has addition (+) and multiplication (*).
      2. Step 2: Recall operator precedence rules

        Multiplication (*) has higher precedence than addition (+), so it is evaluated first.
      3. Final Answer:

        Multiplication (*) -> Option C
      4. Quick Check:

        Multiplication before addition = Multiplication (*) [OK]
      Hint: Multiplication and division come before addition and subtraction [OK]
      Common Mistakes:
      • Thinking addition runs before multiplication
      • Ignoring operator precedence rules
      • Assuming left-to-right always applies
      2. Which of the following expressions is syntactically correct in C++?
      easy
      A. int x = 5 + (3 * 2);
      B. int x = 5 + 3 *;
      C. int x = 5 + *3;
      D. int x = 5 + 3 * 2);

      Solution

      1. Step 1: Check each expression for syntax errors

        int x = 5 + *3; has an invalid use of * before 3. int x = 5 + 3 *; ends with * which is incomplete. int x = 5 + 3 * 2); has an unmatched closing parenthesis.
      2. Step 2: Confirm correct syntax

        int x = 5 + (3 * 2); uses parentheses correctly and has valid operators and operands.
      3. Final Answer:

        int x = 5 + (3 * 2); -> Option A
      4. Quick Check:

        Valid syntax with parentheses and operators = int x = 5 + (3 * 2); [OK]
      Hint: Check for balanced parentheses and proper operator placement [OK]
      Common Mistakes:
      • Misplacing operators without operands
      • Unbalanced parentheses
      • Using operators incorrectly
      3. What is the output of the following code?
      int a = 2, b = 3, c = 4;
      int result = a + b * c / a - b;
      std::cout << result;
      medium
      A. 5
      B. 2
      C. 4
      D. 3

      Solution

      1. Step 1: Evaluate multiplication and division first

        b * c = 3 * 4 = 12; then 12 / a = 12 / 2 = 6.
      2. Step 2: Evaluate addition and subtraction left to right

        a + 6 = 2 + 6 = 8; then 8 - b = 8 - 3 = 5.
      3. Final Answer:

        5 -> Option A
      4. Quick Check:

        Multiplication/division before addition/subtraction = 5 [OK]
      Hint: Do * and / before + and -, left to right [OK]
      Common Mistakes:
      • Adding before multiplying
      • Ignoring division precedence
      • Calculating subtraction before addition
      4. Find the error in the following code snippet:
      int x = 10;
      int y = 5;
      int z = x + y * / 2;
      std::cout << z;
      medium
      A. Division by zero error
      B. Syntax error due to misplaced operator
      C. Logical error in calculation
      D. No error, code runs fine

      Solution

      1. Step 1: Analyze the expression for syntax correctness

        The expression x + y * / 2 has two operators (*) and (/) together without an operand, which is invalid syntax.
      2. Step 2: Confirm the error type

        This causes a syntax error because the compiler cannot parse the expression correctly.
      3. Final Answer:

        Syntax error due to misplaced operator -> Option B
      4. Quick Check:

        Invalid operator sequence causes syntax error [OK]
      Hint: Check operator placement for missing operands [OK]
      Common Mistakes:
      • Assuming code runs despite syntax errors
      • Confusing syntax error with runtime error
      • Ignoring operator adjacency rules
      5. Consider the expression int result = 10 - 3 * 2 + 4 / 2;. How can you change it using parentheses to make addition happen before multiplication and division?
      hard
      A. int result = 10 - ((3 * 2) + 4) / 2;
      B. int result = ((10 - 3) * 2 + 4) / 2;
      C. int result = 10 - ((3 * 2) + (4 / 2));
      D. int result = 10 - (3 * (2 + 4)) / 2;

      Solution

      1. Step 1: Understand original precedence

        Original expression evaluates multiplication and division before addition and subtraction.
      2. Step 2: Use parentheses to force addition before multiplication/division

        int result = 10 - (3 * (2 + 4)) / 2; groups (2 + 4) first, so addition happens before multiplication and division.
      3. Final Answer:

        int result = 10 - (3 * (2 + 4)) / 2; -> Option D
      4. Quick Check:

        Parentheses change order to add before multiply/divide [OK]
      Hint: Use parentheses to group additions before other ops [OK]
      Common Mistakes:
      • Misplacing parentheses changing meaning
      • Not grouping addition properly
      • Assuming left-to-right overrides precedence
      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