Bird
Raised Fist0
C Sharp (C#)programming~10 mins

Operator precedence and evaluation order in C Sharp (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 correctly add 3 and 4, then multiply by 2.

C Sharp (C#)
int result = (3 + 4) [1] 2;
Console.WriteLine(result);
Drag options to blanks, or click blank then click option'
A/
B*
C-
D+
Attempts:
3 left
💡 Hint
Common Mistakes
Using + instead of * causes the result to be 9 instead of 14.
2fill in blank
medium

Complete the code to check if 5 is greater than 3 and less than 10.

C Sharp (C#)
bool check = 5 [1] 3 && 5 < 10;
Console.WriteLine(check);
Drag options to blanks, or click blank then click option'
A>
B<
C==
D<=
Attempts:
3 left
💡 Hint
Common Mistakes
Using < instead of > reverses the logic and results in false.
3fill in blank
hard

Fix the error in the expression to correctly compute the value.

C Sharp (C#)
int value = 10 + 5 [1] 2;
Console.WriteLine(value);
Drag options to blanks, or click blank then click option'
A/
B+
C-
D*
Attempts:
3 left
💡 Hint
Common Mistakes
Using + instead of * causes the result to be 17 instead of 20.
4fill in blank
hard

Fill both blanks to create a dictionary with word lengths for words longer than 3 characters.

C Sharp (C#)
var lengths = new Dictionary<string, int> {
    {"apple", "apple".Length},
    {"bat", "bat".Length}
};
var filtered = lengths.Where(kv => kv.Value [1] 3).ToDictionary(kv => kv.Key, kv => kv.Value [2] 1);
foreach(var item in filtered) Console.WriteLine($"{item.Key}: {item.Value}");
Drag options to blanks, or click blank then click option'
A>
B+
C-
D<
Attempts:
3 left
💡 Hint
Common Mistakes
Using < instead of > filters wrong words.
Using - instead of + decreases lengths incorrectly.
5fill in blank
hard

Fill all three blanks to create a dictionary with uppercase keys and values greater than 0.

C Sharp (C#)
var data = new Dictionary<string, int> { {"a", 1}, {"b", 0}, {"c", 3} };
var result = data.Where(kv => kv.Value [1] 0).ToDictionary(kv => kv.Key.[2](), kv => kv.[3]);
foreach(var item in result) Console.WriteLine($"{item.Key}: {item.Value}");
Drag options to blanks, or click blank then click option'
A==
BValue
C>
DToUpper
Attempts:
3 left
💡 Hint
Common Mistakes
Using == filters only values equal to zero.
Using Key instead of Value for values causes errors.

Practice

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

Solution

  1. Step 1: Recall operator precedence rules

    Multiplication (*) has higher precedence than addition (+) in C#.
  2. Step 2: Apply precedence to the expression

    The multiplication 4 * 2 is evaluated first, then 3 is added.
  3. Final Answer:

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

    Multiplication before addition = Multiplication (*) [OK]
Hint: Multiplication and division come before addition and subtraction [OK]
Common Mistakes:
  • Thinking addition happens before multiplication
  • Ignoring operator precedence
  • Assuming left-to-right always applies
2. Which of the following expressions is correctly using parentheses to change the evaluation order in C#?
easy
A. int result = 3 + 4 * 2);
B. int result = (3 + 4 * 2;
C. int result = 3 + (4 * 2);
D. int result = 3 + 4 * 2;

Solution

  1. Step 1: Check parentheses balance and syntax

    int result = 3 + (4 * 2); has balanced parentheses around (4 * 2), which is correct syntax.
  2. Step 2: Verify other options for syntax errors

    Options A and C have unbalanced parentheses, and D has no parentheses to change order.
  3. Final Answer:

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

    Balanced parentheses change order correctly [OK]
Hint: Parentheses must be balanced and properly placed [OK]
Common Mistakes:
  • Leaving parentheses unbalanced
  • Placing parentheses incorrectly
  • Forgetting to close parentheses
3. What is the output of the following C# code?
int a = 5;
int b = 3;
int c = 2;
int result = a - b + c * 4;
Console.WriteLine(result);
medium
A. 10
B. 8
C. 6
D. 4

Solution

  1. Step 1: Identify operator precedence in the expression

    Multiplication (*) has higher precedence than addition (+) and subtraction (-), so c * 4 is evaluated first: 2 * 4 = 8.
  2. Step 2: Evaluate the remaining expression left to right

    Now compute a - b + 8: 5 - 3 = 2, then 2 + 8 = 10.
  3. Final Answer:

    10 -> Option A
  4. Quick Check:

    Multiplication before addition/subtraction [OK]
Hint: Multiply before add or subtract [OK]
Common Mistakes:
  • Adding before multiplying
  • Ignoring operator precedence
  • Calculating left to right without precedence
4. Identify the error in the following C# code snippet:
int x = 10;
int y = 5;
int z = x / y * 2 +;
Console.WriteLine(z);
medium
A. Division operator '/' is invalid here
B. Missing operand after '+' operator
C. Variables x and y are not declared
D. Console.WriteLine syntax is incorrect

Solution

  1. Step 1: Check the expression for syntax errors

    The expression ends with a '+' operator without a following operand, which is invalid syntax.
  2. Step 2: Verify other parts of the code

    Variables x and y are declared correctly, division operator is valid, and Console.WriteLine syntax is correct.
  3. Final Answer:

    Missing operand after '+' operator -> Option B
  4. Quick Check:

    Operator must have operands on both sides [OK]
Hint: Check for missing operands near operators [OK]
Common Mistakes:
  • Ignoring incomplete expressions
  • Assuming division operator is wrong
  • Overlooking missing semicolons
5. Given the code below, what is the value of result? Consider operator precedence and evaluation order.
int a = 2;
int b = 3;
int c = 4;
int result = a + b * c - (a + b) * c / b;
hard
A. 8
B. 4
C. 6
D. 2

Solution

  1. Step 1: Evaluate expressions inside parentheses first

    (a + b) = 2 + 3 = 5.
  2. Step 2: Calculate multiplication and division next

    b * c = 3 * 4 = 12.
    (a + b) * c / b = 5 * 4 / 3 = 20 / 3 = 6 (integer division truncates).
  3. Step 3: Calculate the full expression left to right

    a + b * c - (a + b) * c / b = 2 + 12 - 6 = 14 - 6 = 8.
  4. Step 4: Re-check integer division

    20 / 3 = 6 (integer division truncates decimals).
  5. Final Answer:

    8 -> Option A
  6. Quick Check:

    Parentheses first, then multiply/divide, then add/subtract [OK]
Hint: Parentheses first, then multiply/divide, then add/subtract [OK]
Common Mistakes:
  • Ignoring integer division truncation
  • Evaluating left to right without precedence
  • Calculating parentheses last
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