Here is a listing of C questions on “Precedence and Order of Evaluation” along with answers, explanations and/or solutions:
1. Which of the following are unary operators?
a) sizeof
b) –
c) ++
d) all of the mentioned
Answer: d
Clarification: None.
2. Where in C the order of precedence of operators do not exist?
a) Within conditional statements, if, else
b) Within while, do-while
c) Within a macro definition
d) None of the mentioned
Answer: d
Clarification: None.
3. Associativity of an operator is ___________
a) Right to Left
b) Left to Right
c) Random fashion
d) Both Right to Left and Left to Right
Answer: d
Clarification: None.
4. Which of the following method is accepted for assignment?
a) 5 = a = b = c = d;
b) a = b = c = d = 5;
c) a = b = 5 = c = d;
d) None of the mentioned
Answer: b
Clarification: None.
5. Which of the following is NOT possible with any 2 operators in C?
a) Different precedence, same associativity
b) Different precedence, different associativity
c) Same precedence, different associativity
d) All of the mentioned
Answer: c
Clarification: None.
6. Which of the following is possible with any 2 operators in C?
a) Same associativity, different precedence
b) Same associativity, same precedence
c) Different associativity, different precedence
d) All of the mentioned
Answer: d
Clarification: None.
7. Which of the following operators has the lowest precedence?
a) !=
b) &&
c) ?:
d) ,
Answer: d
Clarification: None.
8. What will be the output of the following C code?
-
#include
-
int main()
-
{
-
int x = 3, i = 0;
-
do {
-
x = x++;
-
i++;
-
} while (i != 3);
-
printf("%dn", x);
-
}
a) Undefined behaviour
b) Output will be 3
c) Output will be 6
d) Output will be 5
Answer: c
Clarification: None.
9. What will be the output of the following C code?
-
#include
-
int main()
-
{
-
int a = -1, b = 4, c = 1, d;
-
d = ++a && ++b || ++c;
-
printf("%d, %d, %d, %dn", a, b, c, d);
-
return 0;
-
}
a) 0, 4, 2, 1
b) 0, 5, 2, 1
c) -1, 4, 1, 1
d) 0, 5, 1, 0
Answer: a
Clarification: None.
10. What will be the output of the following C code?
-
#include
-
int main()
-
{
-
int p = 10, q = 20, r;
-
if (r = p = 5 || q > 20)
-
printf("%d", r);
-
else
-
printf("No Outputn");
-
}
a) 1
b) 10
c) 20
d) No Output
Answer: a
Clarification: None.