ExamTray App is now Available on Google Play EXAMTRAY android app link

 

C Programming MCQ Questions and Answers on Arithmetic Operators 1

Learn C Programming MCQ Questions and Answers on C Arithmetic Operators like Modulo Division Operator, Plus, Minus, Star and Division Operators. Operator Precedence and Priority is also explained.

Go through C Theory Notes on Arithmetic Operators before studying questions.


1) Choose a correct statement. int a = 12 + 3 * 5 / 4 - 10
A) 12, 3, 5, 4 and 10 are Operators.  +, -, * and / are Operands.  = is an increment operator.
B) 12, 3, 5, 4 and 10 are Operands.  +, -, * and / are Operators.  = is decrement operator.
C) 12, 3, 5, 4 and 10 are Operands.  +, -, * and / are Operators.  = is an assignment operator.
D) 12, 3, 5, 4 and 10 are Operands.  +, -, * and / are Logical Operators.  = is an assignment operator.
Answer [=]
C
2) Choose a right statement. float a = 5/2; float b = 5/2.0; float c = 5.0/2; float d = 5.0/2.0;
A) a=2.5, b=2.5, c=2.5, d=2.5
B) a=2, b=2.5, c=2.5, d=2.5
C) a=2.0, b=2.5, c=2.5, d=2.5
D) a=2.0, b=2.0, c=2.0, d=2.0
Answer [=]
C
Explanation:

In division, to get the actual real value, you should specify at least one real number.

Variable a holds only 2. But variables b,c and d contain real numbers as either numerator or denominator is a real number.

3) If both numerator and denominator of a division operation in C language are integers, then we get.?
A) Expected algebraic real value
B) Unexpected integer value
C) Compiler error.
D) None of the above
Answer [=]
B
Explanation:

int a = 5/2 stores only 2.

4) Choose a right statement. int var = 3.5;
A) a = 3.5
B) a = 3
C) a = 0
D) Compiler error
Answer [=]
B
Explanation:

a stores only integer value. So, 3.5 is truncated to 3.

5) Choose a right statement. int main() { int var = 3.5;; printf("%f", var); return 0; }
A) 3.500000
B) 3
C) 3.5
D) 0.000000
Answer [=]
D
Explanation:

As the variable type is an integer, you have to use %d as a format specifier. If you specify wrong format specifier, you will not get expected output.

6) What is the output of the program.? int main() { int a = 25%10; printf("%d", a); return 0; }
A) 2.5
B) 2
C) 5
D) Compiler error.
Answer [=]
C
Explanation:

Modulo division operator returns the reminder of division of 25 by 10. 10x2 + 5 = 25. So reminder is 5.

7) Can you use C Modulo Division operator % with float and int?
A) Only int variables = Okay
B) Only float variables = Okay
C) int or float combination = Okay
D) Numerator int variable, Denominator any variable = Okay
Answer [=]
A
Explanation:

Modulo Division operator % in C language can be used only with integer variables or constants.

8) What is the output of the C program with Modulo Division operator with - or Negative numbers.? int main() { int a = -25%-10; int b = -25%10; int c = 25%-10; printf("%d %d %d", a, b, c); return 0; }
A) 5 -5  -5
B) 5 -5 5
C) -5 -5 5
D) 5 5 5
Answer [=]
C
Explanation:

Sign of a modulo division operation is same as the sign of Numerator. So sign of 25 is taken always.

9) What is the output of the program.? int main() { float a = 45; printf("%f", a); return 0; }
A) 45
B) 45.0
C) 45.000000
D) 0.000000
Answer [=]
C
Explanation:

Integer value 45 is promoted to float i.e 45.0 and printed with all 6 decimal numbers.

10) What is the priority of operators *, / and % in C language.?
A) * > / > %
B) % > * > /
C) Both % = / ,  *  are same
D) All three operators *, / and % are same.
Answer [=]
D
Explanation:

Operators Multiplication *, Division / and Modulo Division % are all having the same Priority.

11) In C language, which Operator group has more priority between (*, / and %) and (+, -) groups.?
A) Both groups share equal priority.
B) (+, -) > (*, / and %)
C) (+, -) < (*, / and %)
D) None of the above.
Answer [=]
C
Explanation:

+ and - has same priority. *, / and % has equal priority. But (+, -) has less priority than (*, / and %).

12) Operator % in C Language is called.?
A) Percentage Operator
B) Quotient Operator
C) Modulus
D) Division
Answer [=]
C
Explanation:

Operator % is called Modulus or Modular or Modulo Division operator in C. It gives the reminder of the division.

int a = 11%4;

Now a holds only 3 which is the reminder.

13) Associativity of C Operators *, /, %, +, - and = is.?
A) Operators *, / and % have Left to Right Associativity. Operators + and - have Left to Right Associativity. Operator = has Right to Left Associativitiy.
B) Operators *, / and % have Right to Left Associativity. Operators + and - have Left to Right Associativity. Operator = has Right to Left Associativitiy.
C) Operators *, / and % have Right to Left Associativity. Operators + and - have Right to Left Associativity. Operator = has Right to Left Associativitiy.
D) Operators *, / and % have Right to Left Associativity. Operators + and - have Right to Left Associativity. Operator = has Left to Right Associativitiy.
Answer [=]
A
Explanation:

Operators *, / and % have Left to Right Associativity. Operators + and - have Left to Right Associativity. Operator = has Right to Left Associativitiy.

14) Output of an arithmetic expression with integers and real numbers is ___ by default.?
A) Integer
B) Real number
C) Depends on the numbers used in the expression.
D) None of the above
Answer [=]
B
Explanation:

Any arithmetic operation with both integers and real numbers yield output as Real number only.

5 + 10.56 = 15.560000 which is a real number.

5 + 10.0 = 15.000000 is also a real number.

15) Choose a right statement. int a = 10 + 4.867;
A) a = 10
B) a = 14.867
C) a = 14
D) compiler error.
Answer [=]
C
Explanation:

a is an int variable. So 10+4.867 = 14.867 is truncated to 14 and assigned to a.

16) Choose a right statement. int a = 3.5 + 4.5;
A) a = 0
B) a = 7
C) a = 8
D) a = 8.0
Answer [=]
C
Explanation:

3.5 + 4.5 = 8.0 is a real number. So it is converted to downgraded to int value. So a = 8.

17) Choose a right statement. float var = 3.5 + 4.5;
A) var = 8.0
B) var = 8
C) var = 7
D) var = 0.0
Answer [=]
A
Explanation:

A float variable can hold a real number.

18) Choose right statement. int main() { float c = 3.5 + 4.5; printf("%f", c); return 0; }
A) 8.0
B) 8.000000
C) 8
D) 7
Answer [=]
B
Explanation:

Float can print precision up to 6 digits. So 6 zeros will be shown if there are no digits after decimal point.

19) Choose a right statement. int main() { float c = 3.5 + 4.5; printf("%d", (int)c); return 0; }
A) 8.0
B) 8.000000
C) 7
D) 8
Answer [=]
D
Explanation:

You are printing a float variable by type casting to int. So integer is printed. 

int c = 3.5 + 4.5 also holds and prints 8.

20) Choose a right statement. int a = 5/2; int b = 5.0/2; int c = 5 / 2.0; int d = 5.0/2.0;
A) a = 2, b = 2, c = 2, d= 2
B) a = 2, b = 2.0, c = 2, d= 2.0
C) a = 2, b = 2.5, c = 2.5, d= 2.5
D) a = 2.5, b = 2.5, c = 2.5, d= 2.5
Answer [=]
A
Explanation:

Irrespective of numbers after decimal point, an int variable holds only integer value i.e 2.