Here is a listing of C Objective Questions on “Precedence and Order of Evaluation” along with answers, explanations and/or solutions:
1. Which of the following operators has an associativity from Right to Left?
a) <=
b) <<
c) ==
d) +=
Answer: d
Clarification: None.
2. Which operators of the following have same precedence?
P. "!=", Q. "+=", R. "<<="
a) P and Q
b) Q and R
c) P and R
d) P, Q and R
Answer: b
Clarification: None.
3. Comment on the following statement.
n = 1; printf("%d, %dn", 3*n, n++);
a) Output will be 3, 2
b) Output will be 3, 1
c) Output will be 6, 1
d) Output is compiler dependent
Answer: d
Clarification: None.
4. Which of the following option is the correct representation of the following C statement?
a) e = (a * (b +(c /(d * f))));
b) e = ((a * b) + (c / (d * f)));
c) e = ((a * b) + ((c / d)* f));
d) Both e = ((a * b) + (c / (d * f))); and e = ((a * b) + ((c / d)* f));
Answer: d
Clarification: Verified by e = 1 * 2 + 3 / 4 * 5; and then using respective braces according to the option.
5. While swapping 2 numbers what precautions to be taken care?
b = (b / a); a = a * b; b = a / b;
a) Data type should be either of short, int and long
b) Data type should be either of float and double
c) All data types are accepted except for (char *)
d) This code doesn’t swap 2 numbers
Answer: b
Clarification: None.
6. What will be the output of the following C code?
-
#include
-
int main()
-
{
-
int a = 1, b = 2, c = 3, d = 4, e;
-
e = c + d = b * a;
-
printf("%d, %dn", e, d);
-
}
a) 7, 4
b) 7, 2
c) 5, 2
d) Syntax error
Answer: d
Clarification: None.
7. Which of the following is the correct order of evaluation for the given expression?
a) % / * =
b) / * % =
c) = % * /
d) * % / =
Answer: a
Clarification: None.
8. Which function in the following expression will be called first?
a = func3(6) - func2(4, 5) / func1(1, 2, 3);
a) func1();
b) func2();
c) func3();
d) Cannot be predicted
Answer: d
Clarification: None.
9. Which of the following operator has the highest precedence in the following?
a) ()
b) sizeof
c) *
d) +
Answer: a
Clarification: None.
10. Which of the following is a ternary operator?
a) &&
b) >>=
c) ?:
d) ->
Answer: c
Clarification: None.