Here is a listing of online C test questions on “Precedence and Order of Evaluation” along with answers, explanations and/or solutions:
1. What will be the output of the following C code?
-
#include -
int main()
-
{ -
int x = 2, y = 2;
-
float f = y + x /= x / y;
-
printf("%d %fn", x, f);
-
return 0;
-
}
a) 2 4.000000
b) Compile time error
c) 2 3.500000
d) Undefined behaviour
Answer: b
Clarification: None.
2. What will be the output of the following C code?
-
#include -
int main()
-
{ -
int x = 1, y = 2;
-
if (x && y == 1)
-
printf("truen");
-
else -
printf("falsen");
-
}
a) true
b) false
c) compile time error
d) undefined behaviour
Answer: b
Clarification: None.
3. What will be the output of the following C code?
-
#include -
int main()
-
{ -
int x = 1, y = 2;
-
int z = x & y == 2;
-
printf("%dn", z);
-
}
a) 0
b) 1
c) Compile time error
d) Undefined behaviour
Answer: b
Clarification: None.
4. What will be the output of the following C code?
-
#include -
int main()
-
{ -
int x = 3, y = 2;
-
int z = x /= y %= 2;
-
printf("%dn", z);
-
}
a) 1
b) Compile time error
c) Floating point exception
d) Segmentation fault
Answer: c
Clarification: None.
5. What will be the output of the following C code?
-
#include -
int main()
-
{ -
int x = 3, y = 2;
-
int z = x << 1 > 5;
-
printf("%dn", z);
-
}
a) 1
b) 0
c) 3
d) Compile time error
Answer: a
Clarification: None.
6. What will be the output of the following C code?
-
#include -
int main()
-
{ -
int x = 3; //, y = 2;
-
const int *p = &x;
-
*p++;
-
printf("%dn", *p);
-
}
a) Increment of read-only location compile error
b) 4
c) Some garbage value
d) Undefined behaviour
Answer: c
Clarification: None.
7. What will be the output of the following C code?
-
#include -
int main()
-
{ -
int x = 2, y = 2;
-
int z = x ^ y & 1;
-
printf("%dn", z);
-
}
a) 1
b) 2
c) 0
d) 1 or 2
Answer: b
Clarification: None.
8. What will be the output of the following C code?
-
#include -
int main()
-
{ -
int x = 2, y = 0;
-
int z = x && y = 1;
-
printf("%dn", z);
-
}
a) 0
b) 1
c) Compile time error
d) 2
Answer: c
Clarification: None.
9. What will be the output of the following C code?
-
#include -
int main()
-
{ -
int x = 0, y = 2;
-
if (!x && y)
-
printf("truen");
-
else -
printf("falsen");
-
}
a) True
b) False
c) Compile time error
d) Undefined behaviour
Answer: a
Clarification: None.
10. What will be the output of the following C code?
-
#include -
int main()
-
{ -
int x = 0, y = 2;
-
int z = ~x & y;
-
printf("%dn", z);
-
}
a) -1
b) 2
c) 0
d) Compile time error
Answer: b
Clarification: None.
