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 (*)
✗ Incorrect
Multiplication (*) has higher precedence than addition (+), so it is evaluated first.
What does parentheses do in an expression?
AForce evaluation order inside them first
BDecrease operator precedence
CIncrease operator precedence
DHave no effect
✗ Incorrect
Parentheses force the expression inside them to be evaluated first, regardless of other operators.
Which has higher precedence: logical AND (&&) or logical OR (||)?
ALogical OR (||)
BLogical AND (&&)
CThey have the same precedence
DDepends on the expression
✗ Incorrect
Logical AND (&&) has higher precedence than logical OR (||).
In the expression a = b == c + d, which operator is evaluated last?
AAssignment (=)
BEquality (==)
CAddition (+)
DAll evaluated simultaneously
✗ Incorrect
Assignment (=) has the lowest precedence and is evaluated last.
What is the result of 2 + 3 * 4?
A20
BUndefined
C14
D24
✗ Incorrect
Multiplication is done first: 3 * 4 = 12, then addition: 2 + 12 = 14.
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
Step 1: Identify operators in the expression
The expression has addition (+) and multiplication (*).
Step 2: Recall operator precedence rules
Multiplication (*) has higher precedence than addition (+), so it is evaluated first.
Final Answer:
Multiplication (*) -> Option C
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
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.
Step 2: Confirm correct syntax
int x = 5 + (3 * 2); uses parentheses correctly and has valid operators and operands.
Final Answer:
int x = 5 + (3 * 2); -> Option A
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
Step 1: Evaluate multiplication and division first
b * c = 3 * 4 = 12; then 12 / a = 12 / 2 = 6.
Step 2: Evaluate addition and subtraction left to right
a + 6 = 2 + 6 = 8; then 8 - b = 8 - 3 = 5.
Final Answer:
5 -> Option A
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
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.
Step 2: Confirm the error type
This causes a syntax error because the compiler cannot parse the expression correctly.
Final Answer:
Syntax error due to misplaced operator -> Option B
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
Step 1: Understand original precedence
Original expression evaluates multiplication and division before addition and subtraction.
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.
Final Answer:
int result = 10 - (3 * (2 + 4)) / 2; -> Option D
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 unknownstrongwhile earning +1 Grip toward your certificate.