Arithmetic operators are symbols used to perform basic math operations like addition (+), subtraction (-), multiplication (*), division (/), and modulus (%).
Click to reveal answer
beginner
What does the modulus operator (%) do in C?
The modulus operator (%) gives the remainder after dividing one number by another. For example, 7 % 3 equals 1 because 7 divided by 3 leaves a remainder of 1.
Click to reveal answer
intermediate
How does integer division behave in C when using the division operator (/)?
When dividing two integers, C performs integer division, which means it divides and then drops any decimal part, returning only the whole number part.
Click to reveal answer
beginner
What is the result of the expression: 5 + 3 * 2 in C?
The result is 11 because multiplication (*) has higher priority than addition (+). So, 3 * 2 = 6, then 5 + 6 = 11.
Click to reveal answer
beginner
Can arithmetic operators be used with floating-point numbers in C?
Yes, arithmetic operators like +, -, *, and / can be used with floating-point numbers (like float or double) to perform math with decimals.
Click to reveal answer
What is the output of the expression 10 / 4 in C when both numbers are integers?
A2
B2.5
C3
D4
✗ Incorrect
Integer division drops the decimal part, so 10 / 4 equals 2.
Which operator gives the remainder of a division in C?
A%
B-
C*
D+
✗ Incorrect
The modulus operator (%) returns the remainder after division.
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
Step 1: Recall multiplication operator in C
The multiplication operator in C is the asterisk symbol (*).
Step 2: Check each option
a * b; uses '*', which is correct. Options B, C, D use invalid symbols for multiplication.
Final Answer:
a * b; -> Option B
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
Step 1: Understand integer division in C
Both a and b are integers, so a / b performs integer division, which discards the decimal part.
Step 2: Calculate 7 / 3 using integer division
7 divided by 3 is 2.333..., but integer division returns 2.
Final Answer:
2 -> Option D
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
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.
Step 2: Understand the syntax error
Using y.0 causes a compilation error due to invalid syntax in the integer division context.
Final Answer:
Using a floating-point number in integer division -> Option A
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
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.
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.
Final Answer:
float avg = (a + b) / 2.0; -> Option A
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 unknownstrongwhile earning +1 Grip toward your certificate.