C Programming MCQ Questions and Answers on Arithmetic Operators 1

Image
C MCQ Questions and Answers

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. Easily attend Job interviews after reading these Multiple Choice Questions.

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) 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.

3) 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.

4) 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.

5) 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.

6) 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.

7) 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.



8) 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.

9) 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.

10) 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.

11) 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.

12) 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.

13) 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.

14) 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.



15) 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.

16) 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.

17) 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.

18) 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.

19) 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 %).

20) 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.