Explore topic-wise MCQs in Engineering.

This section includes 564 Mcqs, each offering curated multiple-choice questions to sharpen your Engineering knowledge and support exam preparation. Choose a topic below to get started.

401.

Every C program will contain at least one preprocessor directive.

A. True
B. False
Answer» C.
402.

Preprocessor directive #ifdef .. #else ... #endif is used for conditional compilation.

A. True
B. False
Answer» B. False
403.

What will be the output of the program (sample.c) given below if it is executed from the command line?
cmd> sample Jan Feb Mar

/* sample.c */
#include<stdio.h>
#include<dos.h> int main(int arc, char *arv[])
{ int i; for(i=1; i<_argc; i++) printf("%s ", _argv[i]); return 0;
}

A. No output
B. sample Jan Feb Mar
C. Jan Feb Mar
D. Error
Answer» D. Error
404.

Macros with arguments are allowed

A. True
B. False
Answer» B. False
405.

Which of the following statements correctly assigns 12 to month using pointer variable pdt?

#include<stdio.h> 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.
406.

A union cannot be nested in a structure

A. True
B. False
Answer» C.
407.

Bit fields CANNOT be used in union.

A. True
B. False
Answer» C.
408.

one of elements of a structure can be a pointer to the same structure.

A. True
B. False
Answer» B. False
409.

A structure can be nested inside another structure.

A. True
B. False
Answer» B. False
410.

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
411.

Point out the error in the program?

#include<stdio.h> int main()
{ struct emp { char name[20]; float sal; }; struct emp e[10]; int i; for(i=0; i<=9; i++) scanf("%s %f", e[i].name, &e[i].sal); return 0;
}

A. Error: invalid structure member
B. Error: Floating point formats not linked
C. No error
D. None of above
Answer» C. No error
412.

What will be the output of the program ?

#include<stdio.h> 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
413.

What will be the output of the program ?

#include<stdio.h> 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
414.

What will be the output of the program ?

#include<stdio.h> 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.
415.

What will be the output of the program in 16 bit platform (Turbo C under DOS) ?

#include<stdio.h> 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
416.

What will be the output of the program (myprog.c) given below if it is executed from the command line?
cmd> myprog one two three

/* myprog.c */
#include<stdio.h> int main(int argc, char **argv)
{ printf("%c n", **++argv); return 0;
}

A. myprog one two three
B. myprog one
C. o
D. two
Answer» D. two
417.

What will be the output of the program (myprog.c) given below if it is executed from the command line?
cmd> myprog one two three

/* myprog.c */
#include<stdio.h>
#include<stdlib.h> int main(int argc, char **argv)
{ printf("%s n", *++argv); return 0;
}

A. myprog
B. one
C. two
D. three
Answer» C. two
418.

What will be the output of the program (sample.c) given below if it is executed from the command line (turbo c under DOS)?
cmd> sample Good Morning

/* sample.c */
#include<stdio.h> int main(int argc, char *argv[])
{ printf("%d %s", argc, argv[1]); return 0;
}

A. 3 Good
B. 2 Good
C. Good Morning
D. 3 Morning
Answer» B. 2 Good
419.

What will be the output of the program

#include<stdio.h>
void fun(int); int main(int argc)
{ printf("%d ", argc); fun(argc); return 0;
}
void fun(int i)
{ if(i!=4) main(++i);
}

A. 1 2 3
B. 1 2 3 4
C. 2 3 4
D. 1
Answer» C. 2 3 4
420.

What will be the output of the program ?

#include<stdio.h>
#include<string.h> int main()
{ int i, n; char *x="Alice"; n = strlen(x); *x = x[n]; for(i=0; i<=n; i++) { printf("%s ", x); x++; } printf(" n", x); return 0;
}

A. Alice
B. ecilA
C. Alice lice ice ce e
D. lice ice ce e
Answer» E.
421.

Macro calls and function calls work exactly similarly.

A. True
B. False
Answer» C.
422.

Every time we supply new set of values to the program at command prompt, we need to recompile the program.

A. True
B. False
Answer» C.
423.

If the size of integer is 4bytes, What will be the output of the program?

#include<stdio.h> int main()
{ int arr[] = {12, 13, 14, 15, 16}; printf("%d, %d, %d n", sizeof(arr), sizeof(*arr), sizeof(arr[0])); return 0;
}

A. 10, 2, 4
B. 20, 4, 4
C. 16, 2, 2
D. 20, 2, 2
Answer» C. 16, 2, 2
424.

What will be the output of the program?

#include<stdio.h> #define SWAP(a, b) int t; t=a, a=b, b=t; int main() { int a=10, b=12; SWAP(a, b); printf("a = %d, b = %d n", a, b); return 0; } 

A. a = 10, b = 12
B. a = 12, b = 10
C. Error: Declaration not allowed in macro
D. Error: Undefined symbol 't'
Answer» C. Error: Declaration not allowed in macro
425.

What will be the output of the program?

#include<stdio.h>
#define PRINT(int) printf("int=%d, ", int); int main()
{ int x=2, y=3, z=4; PRINT(x); PRINT(y); PRINT(z); return 0;
}

A. int=2, int=3, int=4
B. int=2, int=2, int=2
C. int=3, int=3, int=3
D. int=4, int=4, int=4
Answer» B. int=2, int=2, int=2
426.

What will be the output of the program?

#include<stdio.h>
#define FUN(i, j) i##j int main()
{ int va1=10; int va12=20; printf("%d n", FUN(va1, 2)); return 0;
}

A. 10
B. 20
C. 1020
D. 12
Answer» C. 1020
427.

What will be the output of the program?

#include<stdio.h>
#define MAX(a, b) (a > b ? a : b) int main()
{ int x; x = MAX(3+2, 2+7); printf("%d n", x); return 0;
}

A. 8
B. 9
C. 6
D. 5
Answer» C. 6
428.

What will be the output of the program ?

#include<stdio.h> int main()
{ char str1[] = "India"; char str2[] = "BIX"; char *s1 = str1, *s2=str2; while(*s1++ = *s2++) printf("%s", str1); printf(" n"); return 0;
}

A. IndiaBIX
B. BndiaBIdiaBIXia
C. India
D. (null)
Answer» C. India
429.

What will be the output of the program assuming that the array begins at location 1002?

#include<stdio.h> int main() { int a[2][3][4] = { {1, 2, 3, 4, 5, 6, 7, 8, 9, 1, 1, 2}, {2, 1, 4, 7, 6, 7, 8, 9, 0, 0, 0, 0} }; printf("%u, %u, %u, %d n", a, *a, **a, ***a); return 0; } 

A. 1002, 2004, 4008, 2
B. 2004, 4008, 8016, 1
C. 1002, 1002, 1002, 1
D. Error
Answer» D. Error
430.

What will be the output of the program ?

#include<stdio.h> int main()
{ char str[] = "peace"; char *s = str; printf("%s n", s++ +3); return 0;
}

A. peace
B. eace
C. ace
D. ce
Answer» E.
431.

What will be the output of the program ?

#include<stdio.h>
power(int**);
int main()
{ int a=5, *aa; /* Address of 'a' is 1000 */ aa = &a; a = power(&aa); printf("%d n", a); return 0;
}
power(int **ptr)
{ int b; b = **ptr***ptr; return (b);
}

A. 5
B. 25
C. 125
D. Garbage value
Answer» C. 125
432.

What will be the output of the program ?

#include<stdio.h> int main()
{ printf("%c n", 7["IndiaBIX"]); return 0;
}

A. Error: in printf
B. Nothing will print
C. print "X" of IndiaBIX
D. print "7"
Answer» D. print "7"
433.

What will be the output of the program ?

#include<stdio.h>
int *check(static int, static int); int main()
{ int *c; c = check(10, 20); printf("%d n", c); return 0;
}
int *check(static int i, static int j)
{ int *p, *q; p = &i; q = &j; if(i >= 45) return (p); else return (q);
}

A. 10
B. 20
C. Error: Non portable pointer conversion
D. Error: cannot use static for function parameters
Answer» E.
434.

What will be the output of the program ?

#include<stdio.h> int main()
{ char *str; str = "%s"; printf(str, "K n"); return 0;
}

A. Error
B. No output
C. K
D. %s
Answer» D. %s
435.

Will the following program print the message infinite number of times?

#include<stdio.h> #define INFINITELOOP while(1) int main() { INFINITELOOP printf("IndiaBIX"); return 0; } 

A. Yes
B. No
Answer» B. No
436.

Will it result in to an error if a header file is included twice?

A. Yes
B. No
C. It is compiler dependent.
Answer» D.
437.

What will be the output of the program?

#include<stdio.h> int main() { int arr[3] = {2, 3, 4}; char *p; p = arr; p = (char*)((int*)(p)); printf("%d, ", *p); p = (int*)(p+1); printf("%d", *p); return 0; } 

A. 2, 3
B. 2, 0
C. 2, Garbage value
D. 0, 0
Answer» C. 2, Garbage value
438.

What will be the output of the program if the size of pointer is 4-bytes?

#include<stdio.h> int main()
{ printf("%d, %d n", sizeof(NULL), sizeof("")); return 0;
}

A. 2, 1
B. 2, 2
C. 4, 1
D. 4, 2
Answer» D. 4, 2
439.

What will be the output of the program ?

#include<stdio.h> int main()
{ char *p; p="hello"; printf("%s n", *&amp*&p); return 0;
}

A. llo
B. hello
C. ello
D. h
Answer» C. ello
440.

What will be the output of the program?

#include<stdio.h> int main() { int arr[2][2][2] = {10, 2, 3, 4, 5, 6, 7, 8}; int *p, *q; p = &arr[1][1][1]; q = (int*) arr; printf("%d, %d n", *p, *q); return 0; } 

A. 8, 10
B. 10, 2
C. 8, 1
D. Garbage values
Answer» B. 10, 2
441.

What will be the output of the program assuming that the array begins at the location 1002 and size of an integer is 4 bytes?

#include<stdio.h> int main() { int a[3][4] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12 }; printf("%u, %u, %u n", a[0]+1, *(a[0]+1), *(*(a+0)+1)); return 0; } 

A. 448, 4, 4
B. 520, 2, 2
C. 1006, 2, 2
D. Error
Answer» D. Error
442.

Even if integer/float arguments are supplied at command prompt they are treated as strings.

A. True
B. False
Answer» B. False
443.

The first argument to be supplied at command-line must always be count of total arguments.

A. True
B. False
Answer» C.
444.

Which of the following is TRUE about argv?

A. It is an array of character pointers
B. It is a pointer to an array of character pointers
C. It is an array of strings
D. None of above
Answer» B. It is a pointer to an array of character pointers
445.

What will be the output of the program?

#include<stdio.h>
#define CUBE(x) (x*x*x) int main()
{ int a, b=3; a = CUBE(b++); printf("%d, %d n", a, b); return 0;
}

A. 9, 4
B. 27, 4
C. 27, 6
D. Error
Answer» D. Error
446.

Point out the error in the program

#include<stdio.h>
#define SI(p, n, r) float si; si=p*n*r/100;
int main()
{ float p=2500, r=3.5; int n=3; SI(p, n, r); SI(1500, 2, 2.5); return 0;
}

A. 26250.00 7500.00
B. Nothing will print
C. Error: Multiple declaration of
D. <i class="C-code">si</i>
E. Garbage values
Answer» D. <i class="C-code">si</i>
447.

What will be the output of the program?

#include<stdio.h> #define MAN(x, y) ((x)>(y)) ? (x):(y); int main() { int i=10, j=5, k=0; k = MAN(++i, j++); printf("%d, %d, %d n", i, j, k); return 0; } 

A. 12, 6, 12
B. 11, 5, 11
C. 11, 5, Garbage
D. 12, 6, Garbage
Answer» B. 11, 5, 11
448.

What will be the output of the program?

#include<stdio.h>
#define SQR(x)(x*x) int main()
{ int a, b=3; a = SQR(b+2); printf("%d n", a); return 0;
}

A. 25
B. 11
C. Error
D. Garbage value
Answer» C. Error
449.

What will be the output of the program?

#include<stdio.h>
#define JOIN(s1, s2) printf("%s=%s %s=%s  n", #s1, s1, #s2, s2);
int main()
{ char *str1="India"; char *str2="BIX"; JOIN(str1, str2); return 0;
}

A. str1=IndiaBIX str2=BIX
B. str1=India str2=BIX
C. str1=India str2=IndiaBIX
D. Error: in macro substitution
Answer» C. str1=India str2=IndiaBIX
450.

A text stream is an ordered sequence of characters composed into lines, each line consisting of zero or more characters plus a terminating new-line character.

A. True
B. False
Answer» B. False