

MCQOPTIONS
Saved Bookmarks
This section includes 50 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. |
Point out the error in the program? #include int main() { union a { int i; char ch[2]; }; union a z1 = {512}; union a z2 = {0, 2}; return 0; } |
A. | Error: invalid union declaration |
B. | Error: in Initializing z2 |
C. | No error |
D. | None of above |
Answer» C. No error | |
2. |
Point out the error in the program? #include int main() { struct emp { char n[20]; int age; }; struct emp e1 = {"Dravid", 23}; struct emp e2 = e1; if(e1 == e2) printf("The structure are equal"); return 0; } |
A. | Prints: The structure are equal |
B. | Error: Structure cannot be compared using '==' |
C. | No output |
D. | None of above |
Answer» C. No output | |
3. |
Point out the error in the program? #include int main() { struct bits { float f:2; }bit; printf("%d\n", sizeof(bit)); return 0; } |
A. | 4 |
B. | 2 |
C. | Error: cannot set bit field for float |
D. | Error: Invalid member access in structure |
Answer» D. Error: Invalid member access in structure | |
4. |
Is it necessary that the size of all elements in a union should be same? |
A. | Yes |
B. | No |
Answer» C. | |
5. |
What will be the output of the program in Turbo C (under DOS)? #include int main() { struct emp { char *n; int age; }; struct emp e1 = {"Dravid", 23}; struct emp e2 = e1; strupr(e2.n); printf("%s\n", e1.n); return 0; } |
A. | Error: Invalid structure assignment |
B. | DRAVID |
C. | Dravid |
D. | No output |
Answer» C. Dravid | |
6. |
The '.' operator can be used access structure elements using a structure variable. |
A. | 1 |
B. | |
Answer» B. | |
7. |
Will the following declaration work? typedef struct s { int a; float b; }s; |
A. | Yes |
B. | No |
Answer» B. No | |
8. |
If a char is 1 byte wide, an integer is 2 bytes wide and a long integer is 4 bytes wide then will the following structure always occupy 7 bytes? struct ex { char ch; int i; long int a; }; |
A. | Yes |
B. | No |
Answer» C. | |
9. |
What will be the output of the program given below in 16-bit platform ? #include int main() { enum value{VAL1=0, VAL2, VAL3, VAL4, VAL5} var; printf("%d\n", sizeof(var)); return 0; } |
A. | 1 |
B. | 2 |
C. | 4 |
D. | 10 |
Answer» C. 4 | |
10. |
A structure can contain similar or dissimilar elements |
A. | 1 |
B. | |
Answer» B. | |
11. |
Can we have an array of bit fields? |
A. | Yes |
B. | No |
Answer» C. | |
12. |
What will be the output of the program in 16-bit platform (under DOS)? #include int main() { struct node { int data; struct node *link; }; struct node *p, *q; p = (struct node *) malloc(sizeof(struct node)); q = (struct node *) malloc(sizeof(struct node)); printf("%d, %d\n", sizeof(p), sizeof(q)); return 0; } |
A. | 2, 2 |
B. | 8, 8 |
C. | 5, 5 |
D. | 4, 4 |
Answer» B. 8, 8 | |
13. |
What will be the output of the program ? #include int main() { struct byte { int one:1; }; struct byte var = {1}; printf("%d\n", var.one); return 0; } |
A. | 1 |
B. | -1 |
C. | 0 |
D. | Error |
Answer» C. 0 | |
14. |
Union elements can be of different sizes. |
A. | 1 |
B. | |
Answer» B. | |
15. |
What will be the output of the program ? #include struct course { int courseno; char coursename[25]; }; int main() { struct course c[] = { {102, "Java"}, {103, "PHP"}, {104, "DotNet"} }; printf("%d ", c[1].courseno); printf("%s\n", (*(c+2)).coursename); return 0; } |
A. | 103 DotNet |
B. | 102 Java |
C. | 103 PHP |
D. | 104 DotNet |
Answer» B. 102 Java | |
16. |
What will be the output of the program ? #include int main() { int i=4, j=8; printf("%d, %d, %d\n", i|j&j|i, i|j&j|i, i^j); return 0; } |
A. | 12, 12, 12 |
B. | 112, 1, 12 |
C. | 32, 1, 12 |
D. | -64, 1, 12 |
Answer» B. 112, 1, 12 | |
17. |
By default structure variable will be of auto storage class |
A. | Yes |
B. | No |
Answer» B. No | |
18. |
The '->' operator can be used to access structures elements using a pointer to a structure variable only |
A. | 1 |
B. | |
Answer» B. | |
19. |
Point out the error in the program in 16-bit platform? #include int main() { struct bits { int i:40; }bit; printf("%d\n", sizeof(bit)); return 0; } |
A. | 4 |
B. | 2 |
C. | Error: Bit field too large |
D. | Error: Invalid member access in structure |
Answer» D. Error: Invalid member access in structure | |
20. |
The elements of union are always accessed using & operator |
A. | Yes |
B. | No |
Answer» C. | |
21. |
A structure can be nested inside another structure. |
A. | 1 |
B. | |
Answer» B. | |
22. |
What will be the output of the program ? #include int main() { enum status {pass, fail, absent}; enum status stud1, stud2, stud3; stud1 = pass; stud2 = absent; stud3 = fail; printf("%d %d %d\n", stud1, stud2, stud3); return 0; } |
A. | 0, 1, 2 |
B. | 1, 2, 3 |
C. | 0, 2, 1 |
D. | 1, 3, 2 |
Answer» D. 1, 3, 2 | |
23. |
Point out the error in the program? typedef struct data mystruct; struct data { int x; mystruct *b; }; |
A. | Error: in structure declaration |
B. | Linker Error |
C. | No Error |
D. | None of above |
Answer» D. None of above | |
24. |
A pointer union CANNOT be created |
A. | Yes |
B. | No |
Answer» C. | |
25. |
Which of the following statements correct about the below program? #include int main() { union a { int i; char ch[2]; }; union a u1 = {512}; union a u2 = {0, 2}; return 0; } 1: u2 CANNOT be initialized as shown. 2: u1 can be initialized as shown. 3: To initialize char ch[] of u2 '.' operator should be used. 4: The code causes an error 'Declaration syntax error' |
A. | 1, 2 |
B. | 2, 3 |
C. | 1, 2, 3 |
D. | 1, 3, 4 |
Answer» D. 1, 3, 4 | |
26. |
What will be the output of the program ? #include int main() { union var { int a, b; }; union var v; v.a=10; v.b=20; printf("%d\n", v.a); return 0; } |
A. | 10 |
B. | 20 |
C. | 30 |
D. | 0 |
Answer» C. 30 | |
27. |
Point out the error in the program? #include int main() { struct emp { char name[25]; int age; float bs; }; struct emp e; e.name = "Suresh"; e.age = 25; printf("%s %d\n", e.name, e.age); return 0; } |
A. | Error: Lvalue required/incompatible types in assignment |
B. | Error: invalid constant expression |
C. | Error: Rvalue required |
D. | No error, Output: Suresh 25 |
Answer» B. Error: invalid constant expression | |
28. |
Which of the following statements correctly assigns 12 to month using pointer variable pdt? #include struct date { int day; int month; int year; }; int main() { struct date d; struct date *pdt; pdt = &d; return 0; } |
A. | pdt.month = 12 |
B. | &pdt.month = 12 |
C. | d.month = 12 |
D. | pdt->month = 12 |
Answer» E. | |
29. |
Point out the error in the program? #include int main() { struct a { float category:5; char scheme:4; }; printf("size=%d", sizeof(struct a)); return 0; } |
A. | Error: invalid structure member in printf |
B. | Error in this float category:5; statement |
C. | No error |
D. | None of above |
Answer» C. No error | |
30. |
size of union is size of the longest element in the union |
A. | Yes |
B. | No |
Answer» B. No | |
31. |
It is not possible to create an array of pointer to structures. |
A. | 1 |
B. | |
Answer» C. | |
32. |
one of elements of a structure can be a pointer to the same structure. |
A. | 1 |
B. | |
Answer» B. | |
33. |
Point out the error in the program? struct emp { int ecode; struct emp e; }; |
A. | Error: in structure declaration |
B. | Linker Error |
C. | No Error |
D. | None of above |
Answer» B. Linker Error | |
34. |
Can a structure can point to itself? |
A. | Yes |
B. | No |
C. | Yes |
D. | No |
Answer» B. No | |
35. |
Nested unions are allowed |
A. | 1 |
B. | |
Answer» B. | |
36. |
Point out the error in the program? #include #include void modify(struct emp*); struct emp { char name[20]; int age; }; int main() { struct emp e = {"Sanjay", 35}; modify(&e); printf("%s %d", e.name, e.age); return 0; } void modify(struct emp *p) { p ->age=p->age+2; } |
A. | Error: in structure |
B. | Error: in prototype declaration unknown struct emp |
C. | No error |
D. | None of above |
Answer» C. No error | |
37. |
Point out the error in the program? #include int main() { struct emp { char name[20]; float sal; }; struct emp e[10]; int i; for(i=0; i |
A. | Error: invalid structure member |
B. | Error: Floating point formats not linked |
C. | No error |
D. | None of above |
Answer» C. No error | |
38. |
What will be the output of the program ? #include int main() { struct value { int bit1:1; int bit3:4; int bit4:4; }bit={1, 2, 13}; printf("%d, %d, %d\n", bit.bit1, bit.bit3, bit.bit4); return 0; } |
A. | 1, 2, 13 |
B. | 1, 4, 4 |
C. | -1, 2, -3 |
D. | -1, -2, -13 |
Answer» D. -1, -2, -13 | |
39. |
What will be the output of the program ? #include int main() { enum days {MON=-1, TUE, WED=6, THU, FRI, SAT}; printf("%d, %d, %d, %d, %d, %d\n", MON, TUE, WED, THU, FRI, SAT); return 0; } |
A. | -1, 0, 1, 2, 3, 4 |
B. | -1, 2, 6, 3, 4, 5 |
C. | -1, 0, 6, 2, 3, 4 |
D. | -1, 0, 6, 7, 8, 9 |
Answer» E. | |
40. |
What will be the output of the program ? #include int main() { enum days {MON=-1, TUE, WED=6, THU, FRI, SAT}; printf("%d, %d, %d, %d, %d, %d\n", ++MON, TUE, WED, THU, FRI, SAT); return 0; } |
A. | -1, 0, 1, 2, 3, 4 |
B. | Error |
C. | 0, 1, 6, 3, 4, 5 |
D. | 0, 0, 6, 7, 8, 9 |
Answer» C. 0, 1, 6, 3, 4, 5 | |
41. |
Is there easy way to print enumeration values symbolically? |
A. | Yes |
B. | No |
C. | Yes |
D. | No |
Answer» C. Yes | |
42. |
Will the following code work? #include #include struct emp { int len; char name[1]; }; int main() { char newname[] = "Rahul"; struct emp *p = (struct emp *) malloc(sizeof(struct emp) -1 + strlen(newname)+1); p->len = strlen(newname); strcpy(p -> name, newname); printf("%d %s\n", p->len, p->name); return 0; } |
A. | Yes |
B. | No |
Answer» B. No | |
43. |
Which of the following statements correct about the below code? maruti.engine.bolts=25; |
A. | Structure bolts is nested within structure engine. |
B. | Structure engine is nested within structure maruti. |
C. | Structure maruti is nested within structure engine. |
D. | Structure maruti is nested within structure bolts. |
Answer» C. Structure maruti is nested within structure engine. | |
44. |
Bit fields CANNOT be used in union. |
A. | 1 |
B. | |
Answer» C. | |
45. |
What will be the output of the program in 16 bit platform (Turbo C under DOS) ? #include int main() { struct value { int bit1:1; int bit3:4; int bit4:4; }bit; printf("%d\n", sizeof(bit)); return 0; } |
A. | 1 |
B. | 2 |
C. | 4 |
D. | 9 |
Answer» C. 4 | |
46. |
A union cannot be nested in a structure |
A. | 1 |
B. | |
C. | 1 |
D. | |
Answer» C. 1 | |
47. |
If the following structure is written to a file using fwrite(), can fread() read it back successfully? struct emp { char *n; int age; }; struct emp e={"IndiaBIX", 15}; FILE *fp; fwrite(&e, sizeof(e), 1, fp); |
A. | Yes |
B. | No |
C. | Yes |
D. | No |
Answer» C. Yes | |
48. |
What will be the output of the program ? #include int main() { union a { int i; char ch[2]; }; union a u; u.ch[0]=3; u.ch[1]=2; printf("%d, %d, %d\n", u.ch[0], u.ch[1], u.i); return 0; } |
A. | 3, 2, 515 |
B. | 515, 2, 3 |
C. | 3, 2, 5 |
D. | 515, 515, 4 |
Answer» B. 515, 2, 3 | |
49. |
Which of the following statements correct about the below program? #include int main() { struct emp { char name[25]; int age; float sal; }; struct emp e[2]; int i=0; for(i=0; i |
A. | Error: scanf() function cannot be used for structures elements. |
B. | The code runs successfully. |
C. | Error: Floating point formats not linked Abnormal program termination. |
D. | Error: structure variable must be initialized. |
Answer» D. Error: structure variable must be initialized. | |
50. |
Point out the error in the program? struct emp { int ecode; struct emp *e; }; |
A. | Error: in structure declaration |
B. | Linker Error |
C. | No Error |
D. | None of above |
Answer» D. None of above | |