Bird
Raised Fist0
Cprogramming~5 mins

Assignment operators in C - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
What is the purpose of the assignment operator (=) in C?
The assignment operator (=) is used to store a value into a variable. It copies the value on the right side into the variable on the left side.
Click to reveal answer
beginner
Explain the shorthand assignment operator += with an example.
The operator += adds the right value to the left variable and then assigns the result back to the left variable. For example, x += 3; means x = x + 3;.
Click to reveal answer
beginner
List three common shorthand assignment operators in C.
Three common shorthand assignment operators are:
1. += (add and assign)
2. -= (subtract and assign)
3. *= (multiply and assign)
Click to reveal answer
intermediate
What happens if you write a = b = 5; in C?
This assigns the value 5 to variable b first, then assigns the value of b (which is 5) to variable a. Both a and b will have the value 5.
Click to reveal answer
intermediate
Can assignment operators be used with non-numeric types in C?
Yes, assignment operators can be used with any assignable type, such as characters, pointers, and structs (with some restrictions). The = operator copies the value from right to left.
Click to reveal answer
What does the expression x *= 4; do in C?
ADivides x by 4 and stores the result in x
BAssigns 4 to x
CMultiplies x by 4 and stores the result in x
DAdds 4 to x and stores the result in x
Which operator assigns the value on the right to the variable on the left?
A!=
B==
C+=
D=
What is the result of int a = 2; a += 3;?
Aa is 5
Ba is 6
Ca is 3
Da is 2
What does the statement c = a = 10; do?
AAssigns 10 to a only
BAssigns 10 to both a and c
CAssigns 10 to c only
DCauses a syntax error
Which operator subtracts and assigns in one step?
A-=
B+=
C*=
D/=
Explain how shorthand assignment operators work and give two examples.
Think about how operators combine math and assignment in one step.
You got /2 concepts.
    Describe what happens when assignment operators are chained in a statement.
    Remember that assignment returns a value that can be assigned again.
    You got /3 concepts.

      Practice

      (1/5)
      1. Which of the following assignment operators adds the right operand to the left operand and then assigns the result to the left operand?
      easy
      A. -=
      B. +=
      C. *=
      D. /=

      Solution

      1. Step 1: Understand the meaning of += operator

        The operator += adds the value on the right to the variable on the left and stores the result back in the left variable.
      2. Step 2: Compare with other operators

        Other operators like -= subtract, *= multiply, and /= divide, so they do not add.
      3. Final Answer:

        += -> Option B
      4. Quick Check:

        += means add and assign [OK]
      Hint: Remember '+=' means add then assign to left variable [OK]
      Common Mistakes:
      • Confusing '+=' with '=' which just assigns
      • Mixing '+=' with '-=' or '*='
      • Thinking '+=' only adds without assignment
      2. Which of the following is the correct syntax using the compound assignment operator to multiply variable x by 5 and assign the result back to x?
      easy
      A. x = x *5;
      B. x =* 5;
      C. x = *5;
      D. x *= 5;

      Solution

      1. Step 1: Identify correct compound assignment syntax

        The correct syntax for multiplying and assigning is 'x *= 5;'. It combines multiplication and assignment.
      2. Step 2: Check other options for syntax errors

        x =* 5; 'x =* 5;' is invalid syntax. x = *5; 'x = *5;' is invalid because '*5' is not a valid expression. x = x *5; 'x = x *5;' is correct but not a compound assignment operator.
      3. Final Answer:

        x *= 5; -> Option D
      4. Quick Check:

        '*=' is multiply and assign operator [OK]
      Hint: Use '*=' to multiply and assign in one step [OK]
      Common Mistakes:
      • Writing '=*' instead of '*='
      • Forgetting space or semicolon
      • Using 'x = *5;' which is invalid
      3. What is the output of the following code?
      int a = 10;
      a += 5;
      a -= 3;
      printf("%d", a);
      medium
      A. 8
      B. 15
      C. 12
      D. 10

      Solution

      1. Step 1: Calculate after first operation 'a += 5;'

        Starting with a = 10, adding 5 gives a = 15.
      2. Step 2: Calculate after second operation 'a -= 3;'

        Subtracting 3 from 15 gives a = 12.
      3. Final Answer:

        12 -> Option C
      4. Quick Check:

        10 + 5 - 3 = 12 [OK]
      Hint: Apply each operator step-by-step to track value [OK]
      Common Mistakes:
      • Adding and subtracting in wrong order
      • Confusing '+=' and '-=' effects
      • Ignoring initial value of variable
      4. Identify the error in the following code snippet:
      int x = 7;
      x +== 3;
      printf("%d", x);
      medium
      A. Syntax error due to '+==' operator
      B. Runtime error due to invalid operation
      C. No error, output is 10
      D. Logical error, output is wrong

      Solution

      1. Step 1: Check the operator '+==' in the code

        The operator '+==' does not exist in C. The correct operator for addition assignment is '+='.
      2. Step 2: Understand the effect of invalid operator

        Using '+==' causes a syntax error and the code will not compile.
      3. Final Answer:

        Syntax error due to '+==' operator -> Option A
      4. Quick Check:

        Invalid operator '+==' causes syntax error [OK]
      Hint: Use '+=' not '+==' for addition assignment [OK]
      Common Mistakes:
      • Typing '+==' instead of '+='
      • Assuming '+==' works like '=='
      • Ignoring compiler error messages
      5. Given the code below, what is the final value of result?
      int result = 20;
      result /= 4;
      result *= 3;
      result %= 5;
      result += 2;
      printf("%d", result);
      hard
      A. 2
      B. 3
      C. 4
      D. 1

      Solution

      1. Step 1: Perform division assignment 'result /= 4;'

        Starting with result = 20, dividing by 4 gives result = 5.
      2. Step 2: Perform multiplication assignment 'result *= 3;'

        Multiplying 5 by 3 gives result = 15.
      3. Step 3: Perform modulus assignment 'result %= 5;'

        15 modulo 5 is 0, so result = 0.
      4. Step 4: Perform addition assignment 'result += 2;'

        Adding 2 to 0 gives result = 2.
      5. Final Answer:

        2 -> Option A
      6. Quick Check:

        20/4=5, 5*3=15, 15%5=0, 0+2=2 [OK]
      Hint: Apply each operator in order carefully [OK]
      Common Mistakes:
      • Skipping modulus step or calculating it wrong
      • Mixing up order of operations
      • Forgetting that %= gives remainder
      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