

MCQOPTIONS
Saved Bookmarks
This section includes 47 Mcqs, each offering curated multiple-choice questions to sharpen your C Programming knowledge and support exam preparation. Choose a topic below to get started.
1. |
Assume integer is 2 bytes wide. What will be the output of the following code? |
A. | 2, 8 |
B. | 4, 16 |
C. | 8, 24 |
D. | 16, 32 |
Answer» B. 4, 16 | |
2. |
How many bytes of memory will the following code reserve? |
A. | 65536 |
B. | Allocation failed |
C. | Error |
D. | No output |
Answer» C. Error | |
3. |
returns a pointer if memory is allocated for storing 's and a if memory is allocated for storing 's. |
A. | True |
B. | False |
Answer» C. | |
4. |
allocates memory from the heap and not from the stack. |
A. | True |
B. | False |
Answer» B. False | |
5. |
returns a if it fails to allocate the requested memory. |
A. | True |
B. | False |
Answer» B. False | |
6. |
If successfully allocates memory it returns the number of bytes it has allocated. |
A. | True |
B. | False |
Answer» C. | |
7. |
Which of the following statement is correct prototype of the function in c ? |
A. | int* malloc(int); |
B. | char* malloc(char); |
C. | unsigned int* malloc(unsigned int); |
D. | void* malloc(size_t); |
Answer» E. | |
8. |
Point out the correct statement which correctly free the memory pointed to by 's' and 'p' in the following program? |
A. | free(p); , free(p->s); |
B. | free(p->s); , free(p); |
C. | free(p->s); |
D. | free(p); |
Answer» C. free(p->s); | |
9. |
What will be the output of the program (16-bit platform)? |
A. | 4 |
B. | 2 |
C. | 8 |
D. | Garbage value |
Answer» C. 8 | |
10. |
Assume integer is 2 bytes wide. How many bytes will be allocated for the following code? |
A. | 56 bytes |
B. | 128 bytes |
C. | 24 bytes |
D. | 12 bytes |
Answer» D. 12 bytes | |
11. |
Point out the correct statement which correctly allocates memory dynamically for 2D array following program? |
A. | p = (int*) malloc(3, 4); |
B. | p = (int*) malloc(3*sizeof(int)); |
C. | p = malloc(3*4*sizeof(int)); |
D. | p = (int*) malloc(3*4*sizeof(int)); |
Answer» E. | |
12. |
Which header file should be included to use functions like and ? |
A. | memory.h |
B. | stdlib.h |
C. | string.h |
D. | dos.h |
Answer» C. string.h | |
13. |
What function should be used to free the memory allocated by ? |
A. | dealloc(); |
B. | malloc(variable_name, 0) |
C. | free(); |
D. | memalloc(variable_name, 0) |
Answer» D. memalloc(variable_name, 0) | |
14. |
How will you free the memory allocated by the following program? |
A. | memfree(int p); |
B. | dealloc(p); |
C. | malloc(p, 0); |
D. | free(p); |
Answer» E. | |
15. |
Point out the correct statement which correctly free the memory pointed to by 's' and 'p' in the following program?_x000D_
#include
|
A. | free(p); , free(p->s); |
B. | free(p->s); , free(p); |
C. | free(p->s); |
D. | free(p); |
Answer» C. free(p->s); | |
16. |
Point out the error in the following program._x000D_
#include
|
A. | Error: unable to allocate memory |
B. | Error: We cannot store address of allocated memory in a |
C. | Error: unable to free memory |
D. | No error |
Answer» C. Error: unable to free memory | |
17. |
Assume integer is 2 bytes wide. How many bytes will be allocated for the following code?_x000D_
#include
|
A. | 56 bytes |
B. | 128 bytes |
C. | 24 bytes |
D. | 12 bytes |
Answer» D. 12 bytes | |
18. |
The advantage of using linked lists over arrays is that ________ |
A. | Linked list is an example of linear data structure |
B. | Insertion and deletion of an element can be done at any position in a linked list |
C. | Linked list can be used to store a collection of homogenous and heterogeneous data types |
D. | The size of a linked list is fixed |
Answer» C. Linked list can be used to store a collection of homogenous and heterogeneous data types | |
19. |
Array is preferred over linked list for the implementation of ________ |
A. | Radix sort |
B. | Insertion sort |
C. | Binary search |
D. | Polynomial evaluation |
Answer» D. Polynomial evaluation | |
20. |
The free() function frees the memory state pointed to by a pointer and returns ___________ |
A. | the same pointer |
B. | the memory address |
C. | no value |
D. | an integer value |
Answer» D. an integer value | |
21. |
Garbage collector frees the programmer from worrying about ___________ |
A. | Dangling pointers |
B. | Creating new objects |
C. | Memory leak |
D. | Segmentation errors |
Answer» D. Segmentation errors | |
22. |
In the function realloc(), if the new size of the memory block is larger than the old size, then the added memory ___________ |
A. | is initialized to junk values |
B. | is initialized to zero |
C. | results in an error |
D. | is not initialized |
Answer» E. | |
23. |
When the pointer is NULL, then the function realloc is equivalent to the function ___________ |
A. | malloc |
B. | calloc |
C. | free |
D. | alloc |
Answer» B. calloc | |
24. |
In the function malloc(), each byte of allocated space is initialized to zero. |
A. | True |
B. | False |
Answer» C. | |
25. |
Suppose we have a one dimensional array, named 'x', which contains 10 integers. Which of the following is the correct way to allocate memory dynamically to the array 'x' using malloc()? |
A. | x=(int*)malloc(10); |
B. | x=(int*)malloc(10,sizeof(int)); |
C. | x=malloc(int 10,sizeof(int)); |
D. | x=(int*)malloc(10*sizeof(int)); |
Answer» E. | |
26. |
If the space in memory allocated by malloc is not sufficient, then an allocation fails and returns ___________ |
A. | NULL pointer |
B. | Zero |
C. | Garbage value |
D. | The number of bytes available |
Answer» B. Zero | |
27. |
How many bytes of memory will the following code reserve?
#include
|
A. | 65536 |
B. | Allocation failed |
C. | Error |
D. | No output |
Answer» C. Error | |
28. |
Point out the correct statement which correctly allocates memory dynamically for 2D array following program?
#include
|
A. | p = (int*) malloc(3, 4); |
B. | p = (int*) malloc(3*sizeof(int)); |
C. | p = malloc(3*4*sizeof(int)); |
D. | p = (int*) malloc(3*4*sizeof(int)); |
Answer» E. | |
29. |
What will be the output of the program (16-bit platform)?
#include
|
A. | 4 |
B. | 2 |
C. | 8 |
D. | Garbage value |
Answer» C. 8 | |
30. |
malloc() returns a NULL if it fails to allocate the requested memory. |
A. | 1 |
B. | |
Answer» B. | |
31. |
Assume integer is 2 bytes wide. How many bytes will be allocated for the following code?
#include
|
A. | 56 bytes |
B. | 128 bytes |
C. | 24 bytes |
D. | 12 bytes |
Answer» D. 12 bytes | |
32. |
What will be the output of the program?
#include
|
A. | 10 |
B. | Garbage value |
C. | 10.1 |
D. | Error |
Answer» D. Error | |
33. |
Point out the error in the following program.
#include
|
A. | Error: in strcpy() statement. |
B. | Error: in *ptr = (char)malloc(30); |
C. | Error: in free(ptr); |
D. | No error |
Answer» C. Error: in free(ptr); | |
34. |
What will be the output of the program?
#include
|
A. | 0xffff |
B. | Garbage value |
C. | 0xffee |
D. | Error |
Answer» C. 0xffee | |
35. |
Point out the correct statement which correctly free the memory pointed to by 's' and 'p' in the following program?
#include
|
A. | free(p); , free(p->s); |
B. | free(p->s); , free(p); |
C. | free(p->s); |
D. | free(p); |
Answer» C. free(p->s); | |
36. |
If malloc() successfully allocates memory it returns the number of bytes it has allocated. |
A. | 1 |
B. | |
Answer» C. | |
37. |
malloc() allocates memory from the heap and not from the stack. |
A. | 1 |
B. | |
Answer» B. | |
38. |
When we dynamically allocate memory is there any way to free memory during run time? |
A. | Yes |
B. | No |
Answer» B. No | |
39. |
Can I increase the size of statically allocated array? |
A. | Yes |
B. | No |
Answer» C. | |
40. |
Assume integer is 2 bytes wide. What will be the output of the following code?
#include
|
A. | 2, 8 |
B. | 4, 16 |
C. | 8, 24 |
D. | 16, 32 |
Answer» B. 4, 16 | |
41. |
Which of the following statement is correct prototype of the malloc() function in c ? |
A. | int* malloc(int); |
B. | char* malloc(char); |
C. | unsigned int* malloc(unsigned int); |
D. | void* malloc(size_t); |
Answer» E. | |
42. |
What will be the output of the program?
#include
|
A. | 1314 |
B. | Garbage value |
C. | 1316 |
D. | Random address |
Answer» B. Garbage value | |
43. |
Point out the correct statement will let you access the elements of the array using 'p' in the following program?
#include
|
A. | for(i=0; i<3; i++) { for(j=0; j<3; j++) printf("%d", p[i+j]); } |
B. | for(i=0; i<3; i++) printf("%d", p[i]); |
C. | for(i=0; i<3; i++) { for(j=0; j<3; j++) printf("%d", p[i][j]); } |
D. | for(j=0; j<3; j++) printf("%d", p[i][j]); |
Answer» D. for(j=0; j<3; j++) printf("%d", p[i][j]); | |
44. |
Can I increase the size of dynamically allocated array? |
A. | Yes |
B. | No |
C. | Yes |
D. | No |
Answer» B. No | |
45. |
How will you free the memory allocated by the following program?
#include
|
A. | memfree(int p); |
B. | dealloc(p); |
C. | malloc(p, 0); |
D. | free(p); |
Answer» E. | |
46. |
Point out the error in the following program.
#include
|
A. | Error: unable to allocate memory |
B. | Error: We cannot store address of allocated memory in a |
C. | Error: unable to free memory |
D. | No error |
Answer» C. Error: unable to free memory | |
47. |
malloc() returns a float pointer if memory is allocated for storing float's and a double pointer if memory is allocated for storing double's. |
A. | 1 |
B. | |
C. | 1 |
D. | |
Answer» C. 1 | |