250+ TOP MCQs on Data Types and Sizes and Answers

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

  1.     #include 
  2.     int main()
  3.     {
  4.         int a[5] = {1, 2, 3, 4, 5};
  5.         int i;
  6.         for (i = 0; i < 5; i++)
  7.             if ((char)a[i] == '5')
  8.                 printf("%dn", a[i]);
  9.             else
  10.                 printf("FAILn");
  11.     }

a) The compiler will flag an error
b) The program will compile and print the output 5
c) The program will compile and print the ASCII value of 5
d) The program will compile and print FAIL for 5 times
Answer: d
Clarification: The ASCII value of 5 is 53, the char type-casted integral value 5 is 5 only.
Output:
$ cc pgm1.c
$ a.out
FAIL
FAIL
FAIL
FAIL
FAIL

2. The format identifier ā€˜%iā€™ is also used for _____ data type.
a) char
b) int
c) float
d) double
Answer: b
Clarification: Both %d and %i can be used as a format identifier for int data type.

3. Which data type is most suitable for storing a number 65000 in a 32-bit system?
a) signed short
b) unsigned short
c) long
d) int
Answer: b
Clarification: 65000 comes in the range of short (16-bit) which occupies the least memory. Signed short ranges from -32768 to 32767 and hence we should use unsigned short.

4. Which of the following is a User-defined data type?
a) typedef int Boolean;
b) typedef enum {Mon, Tue, Wed, Thu, Fri} Workdays;
c) struct {char name[10], int age};
d) all of the mentioned
Answer: d
Clarification: typedef and struct are used to define user-defined data types.

5. What is the size of an int data type?
a) 4 Bytes
b) 8 Bytes
c) Depends on the system/compiler
d) Cannot be determined
Answer: c
Clarification: The size of the data types depend on the system.

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

  1.     #include  
  2.     int main()
  3.     {
  4.        signed char chr;
  5.        chr = 128;
  6.        printf("%dn", chr);
  7.        return 0;
  8.     }

a) 128
b) -128
c) Depends on the compiler
d) None of the mentioned
Answer: b
Clarification: signed char will be a negative number.
Output:
$ cc pgm2.c
$ a.out
-128

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

  1.     #include  
  2.     int main()
  3.     {
  4.         char c;
  5.         int i = 0;
  6.         FILE *file;
  7.         file = fopen("test.txt", "w+");
  8.         fprintf(file, "%c", 'a');
  9.         fprintf(file, "%c", -1);
  10.         fprintf(file, "%c", 'b');
  11.         fclose(file);
  12.         file = fopen("test.txt", "r");
  13.         while ((c = fgetc(file)) !=  -1)
  14.             printf("%c", c);
  15.         return 0;
  16.     }

a) a
b) Infinite loop
c) Depends on what fgetc returns
d) Depends on the compiler
Answer: a
Clarification: None.
Output:
$ cc pgm3.c
$ a.out
a

8. What is short int in C programming?
a) The basic data type of C
b) Qualifier
c) Short is the qualifier and int is the basic data type
d) All of the mentioned
Answer: c
Clarification: None.

Leave a Reply

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