Bird
Raised Fist0
Cprogramming~10 mins

Arithmetic operators - Interactive Code Practice

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

Complete the code to add two numbers and store the result.

C
int a = 5, b = 3;
int sum = a [1] b;
printf("%d", sum);
Drag options to blanks, or click blank then click option'
A-
B/
C*
D+
Attempts:
3 left
💡 Hint
Common Mistakes
Using '-' subtracts instead of adding.
Using '*' multiplies instead of adding.
2fill in blank
medium

Complete the code to find the remainder when dividing two numbers.

C
int x = 10, y = 3;
int remainder = x [1] y;
printf("%d", remainder);
Drag options to blanks, or click blank then click option'
A%
B*
C/
D+
Attempts:
3 left
💡 Hint
Common Mistakes
Using '/' gives the quotient, not the remainder.
Using '*' multiplies instead of dividing.
3fill in blank
hard

Fix the error in the code to multiply two numbers correctly.

C
int a = 4, b = 7;
int product = a [1] b;
printf("%d", product);
Drag options to blanks, or click blank then click option'
A+
B*
C-
D/
Attempts:
3 left
💡 Hint
Common Mistakes
Using '+' adds instead of multiplying.
Using '/' divides instead of multiplying.
4fill in blank
hard

Fill in the blank to calculate the quotient of two numbers as an integer division.

C
int a = 15, b = 4;
int quotient = a [1] b;
printf("%d", quotient);
Drag options to blanks, or click blank then click option'
A*
B%
C/
D+
Attempts:
3 left
💡 Hint
Common Mistakes
Using '%' gives the remainder, not the quotient.
Using '*' multiplies instead of dividing.
5fill in blank
hard

Fill both blanks to compute the expression: (a + b) * c.

C
int a = 2, b = 3, c = 4;
int result = (a [1] b) [2] c;
printf("%d", result);
Drag options to blanks, or click blank then click option'
A+
B-
C*
D/
Attempts:
3 left
💡 Hint
Common Mistakes
Using '-' instead of '+' inside parentheses.
Using '/' instead of '*' for multiplication.

Practice

(1/5)
1. Which arithmetic operator in C gives the remainder of a division?
easy
A. The multiplication operator (*)
B. The division operator (/)
C. The modulus operator (%)
D. The subtraction operator (-)

Solution

  1. Step 1: Understand the modulus operator

    The modulus operator (%) returns the remainder after division of two integers.
  2. Step 2: Compare with other operators

    Division (/) returns the quotient, multiplication (*) multiplies, subtraction (-) subtracts.
  3. Final Answer:

    The modulus operator (%) -> Option C
  4. Quick Check:

    Remainder = % operator [OK]
Hint: Remainder means modulus (%) operator [OK]
Common Mistakes:
  • Confusing division (/) with modulus (%)
  • Thinking multiplication (*) gives remainder
  • Using subtraction (-) for remainder
2. Which of the following is the correct syntax to multiply two integers a and b in C?
easy
A. a x b;
B. a * b;
C. a . b;
D. a & b;

Solution

  1. Step 1: Recall multiplication operator in C

    The multiplication operator in C is the asterisk symbol (*).
  2. Step 2: Check each option

    a * b; uses '*', which is correct. Options B, C, D use invalid symbols for multiplication.
  3. Final Answer:

    a * b; -> Option B
  4. Quick Check:

    Multiply with * operator [OK]
Hint: Use * for multiplication in C [OK]
Common Mistakes:
  • Using 'x' instead of '*' for multiplication
  • Using '.' or '&' mistakenly
  • Missing semicolon at end
3. What is the output of this C code?
int a = 7, b = 3;
printf("%d", a / b);
medium
A. 1
B. 2.333333
C. 3
D. 2

Solution

  1. Step 1: Understand integer division in C

    Both a and b are integers, so a / b performs integer division, which discards the decimal part.
  2. Step 2: Calculate 7 / 3 using integer division

    7 divided by 3 is 2.333..., but integer division returns 2.
  3. Final Answer:

    2 -> Option D
  4. Quick Check:

    Integer division truncates decimals [OK]
Hint: Integer division drops decimals, result is integer [OK]
Common Mistakes:
  • Expecting floating-point result
  • Confusing remainder with division result
  • Using wrong format specifier in printf
4. Find the error in this C code snippet:
int x = 10;
int y = 3;
int z = x / y.0;
printf("%d", z);
medium
A. Using a floating-point number in integer division
B. Incorrect format specifier in printf
C. Missing semicolon after variable declaration
D. Division by zero error

Solution

  1. Step 1: Analyze the division expression

    The expression x / y.0 uses y.0 which attempts a floating-point literal but causes invalid syntax, as x and y are integers.
  2. Step 2: Understand the syntax error

    Using y.0 causes a compilation error due to invalid syntax in the integer division context.
  3. Final Answer:

    Using a floating-point number in integer division -> Option A
  4. Quick Check:

    Integer division must use integers only [OK]
Hint: Integer division needs integer operands only [OK]
Common Mistakes:
  • Thinking printf format is wrong
  • Ignoring the decimal in y.0
  • Assuming division by zero
5. You want to calculate the average of two integers a and b in C and get a floating-point result. Which code snippet correctly does this?
hard
A. float avg = (a + b) / 2.0;
B. float avg = (a + b) / 2;
C. int avg = (a + b) / 2.0;
D. float avg = a / b + 2;

Solution

  1. Step 1: Understand integer vs floating-point division

    Dividing by 2 (integer) causes integer division, losing decimals. Dividing by 2.0 (double) forces floating-point division.
  2. Step 2: Check each option for correct average calculation

    float avg = (a + b) / 2; does integer division then converts to float, losing decimals. float avg = (a + b) / 2.0; divides by 2.0, giving float result. int avg = (a + b) / 2.0; stores float result in int, losing decimals. float avg = a / b + 2; is incorrect formula.
  3. Final Answer:

    float avg = (a + b) / 2.0; -> Option A
  4. Quick Check:

    Divide by 2.0 for float average [OK]
Hint: Divide by 2.0 to get float average [OK]
Common Mistakes:
  • Dividing by integer 2 causing integer division
  • Storing float result in int variable
  • Wrong formula for average
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