250+ TOP MCQs on Bit-fields and Answers

C helps anyone preparing for LSI and other companies C interviews. One should practice these Objective Questions and answers continuously for 2-3 months to clear LSI interviews on C Programming language.

Here is a listing of C programming questions on “Bit-Fields” along with answers, explanations and/or solutions:

1. What will be the output of the following C code?

  1.     #include 
  2.     struct p
  3.     {
  4.         char x : 2;
  5.         int y : 2;
  6.     };
  7.     int main()
  8.     {
  9.         struct p p;
  10.         p.x = 2;
  11.         p.y = 1;
  12.         p.x = p.x & p.y;
  13.         printf("%dn", p.x);
  14.     }

a) 0
b) Compile time error
c) Undefined behaviour
d) Depends on the standard
Answer: a
Clarification: None.

2. What will be the output of the following C code?

  1.     #include 
  2.     union u
  3.     {
  4.         struct p
  5.         {
  6.             unsigned char x : 2;
  7.             unsigned int y : 2;
  8.         };
  9.         int x;
  10.     };
  11.     int main()
  12.     {
  13.         union u u;
  14.         u.p.x = 2;
  15.         printf("%dn", u.p.x);
  16.     }

a) Compile time error
b) Undefined behaviour
c) Depends on the standard
d) 2
Answer: a
Clarification: None.

3. What will be the output of the following C code?

  1.     #include 
  2.     union u
  3.     {
  4.         struct
  5.         {
  6.             unsigned char x : 2;
  7.             unsigned int y : 2;
  8.         }p;
  9.         int x;
  10.     };
  11.     int main()
  12.     {
  13.         union u u;
  14.         u.p.x = 2;
  15.         printf("%dn", u.p.x);
  16.     }

a) Compile time error
b) 2
c) Undefined behaviour
d) Depends on the standard
Answer: b
Clarification: None.

4. What will be the output of the following C code?

  1.     #include 
  2.     union u
  3.     {
  4.         struct
  5.         {
  6.             unsigned char x : 2;
  7.             unsigned int y : 2;
  8.         }p;
  9.         int x;
  10.     };
  11.     int main()
  12.     {
  13.         union u u.p.x = 2;
  14.         printf("%dn", u.p.x);
  15.     }

a) Compile time error
b) 2
c) Depends on the compiler
d) Depends on the standard
Answer: a
Clarification: None.

5. What will be the output of the following C code?

  1.     #include 
  2.     union u
  3.     {
  4.         struct
  5.         {
  6.             unsigned char x : 2;
  7.             unsigned int y : 2;
  8.         }p;
  9.         int x;
  10.     };
  11.     int main()
  12.     {
  13.         union u u = {2};
  14.         printf("%dn", u.p.x);
  15.     }

a) Compile time error
b) 2
c) Depends on the standard
d) None of the mentioned
Answer: b
Clarification: None.

6. What will be the output of the following C code?

  1.     #include 
  2.     union u
  3.     {
  4.         struct
  5.         {
  6.             unsigned char x : 2;
  7.             unsigned int y : 2;
  8.         }p;
  9.         int x;
  10.     };
  11.     int main()
  12.     {
  13.         union u u.p = {2};
  14.         printf("%dn", u.p.x);
  15.     }

a) Compile time error
b) 2
c) Undefined behaviour
d) None of the mentioned
Answer: a
Clarification: None.

7. What will be the output of the following C code?

  1.     #include 
  2.     struct p
  3.     {
  4.         unsigned int x : 2;
  5.         unsigned int y : 2;
  6.     };
  7.     int main()
  8.     {
  9.         struct p p;
  10.         p.x = 3;
  11.         p.y = 1;
  12.         printf("%dn", sizeof(p));
  13.     }

a) Compile time error
b) Depends on the compiler
c) 2
d) 4
Answer: d
Clarification: None.

8. What will be the output of the following C code?

  1.     #include 
  2.     struct p
  3.     {
  4.         unsigned int x : 2;
  5.         unsigned int y : 2;
  6.     };
  7.     int main()
  8.     {
  9.         struct p p;
  10.         p.x = 3;
  11.         p.y = 4;
  12.         printf("%dn", p.y);
  13.     }

a) 0
b) 4
c) Depends on the compiler
d) 2
Answer: a
Clarification: None.

9. What will be the output of the following C code?

  1.     #include 
  2.     struct p
  3.     {
  4.         unsigned int x : 7;
  5.         unsigned int y : 2;
  6.     };
  7.     int main()
  8.     {
  9.         struct p p;
  10.         p.x = 110;
  11.         p.y = 2;
  12.         printf("%dn", p.x);
  13.     }

a) Compile time error
b) 110
c) Depends on the standard
d) None of the mentioned
Answer: b
Clarification: None.

10. What will be the output of the following C code?

  1.     #include 
  2.     struct p
  3.     {
  4.         unsigned int x : 1;
  5.         unsigned int y : 1;
  6.     };
  7.     int main()
  8.     {
  9.         struct p p;
  10.         p.x = 1;
  11.         p.y = 2;
  12.         printf("%dn", p.y);
  13.     }

a) 1
b) 2
c) 0
d) Depends on the compiler
Answer: c
Clarification: None.

Leave a Reply

Your email address will not be published. Required fields are marked *