Basic C Programming MCQquestions For Engineering Student
Basic C Programming MCQquestions For Engineering Student
Basic C Programming MCQquestions For Engineering Student
flow chart
11
Preprocessor feature that supply line numbers and file names to compiler is called?
A. Selective inclusion
B. macro substitution
C. Concatenation
D. Line control
Ans D
12
A preprocessor is a program.
A. That processes its input data to produce output that is used as input to another
program
B. That is nothing but a loader
C. That links various source files
D. All of the mentioned
Ans A
13
#include statement must be written.
A. Before main()
B. Before any scanf/printf
C. After main()
D. It can be written anywhere
Ans B
14
The C-preprocessors are specified with _________symbol.
A. #
B. $
C. " "
D. None of the mentioned.
Ans A
15
The preprocessor provides the ability for _______________.
A. The inclusion of header files
B. The inclusion of macro expansions
C. Conditional compilation and line control.
D. All of the mentioned
Ans D
The preprocessor provides the ability for the inclusion of header files, macro
expansions, conditional compilation, and line control.
//The C character set, Identifiers and keywords, Data Types, Constants and
variables, Expressions
ANSWER:C
ANSWER: A
ANSWER: C
ANSWER: D
6. Which of the following input formatting statements would input the following
data?
13 y 14.10
a. scanf("%d%c%f", i, c, f);
b. scanf("%i%c%f", i, c, f);
c. scanf("%d%c%f", &i, &c, &f);
d. scanf("%d %c %f", &i, &c, &f);
ANSWER:C
ANSWER: D
ANSWER: D
ANSWER: A
a. L1
b. L2
c: L3
d. L6
Answer: C
11. What would be printed on the output device if the character input is '1' :
int main(){
char c;
c=getche();
printf("%c",c);
getch();
return 0;}
a. 11
b. 1
c. 65
d. c
Answer: A
#include <stdio.h>
int main()
int c = 10 ^ 9;
printf("%d\n", c);
a) 3
b) 8
c) 9
d) 0
ans-a
#include <stdio.h>
int main()
int a = 2;
b= a >> 1;
printf("%d\n", b);
a) 0
b) 1
c) 2
d) No Output.
Ans b
3 Suppose that count is an int variable
and count = 1.
After the statement count++; executes,
the value of count is ____.
a. 1
b. 3
c. 2
d. 4
ans=c
4 What will be the output of the
following program code?
void main()
{
int a=3, b=4;
switch(b%a)
{
case 1 : printf(A);
break;
case 3 : printf(B);
break;
default: printf(Wrong choice);
}
}
a) A
b) B
c) Wrong choice
d) Error
ANSWER-A
5 What will be the output of the following program code?
void main()
{
int a=3, b=4;
switch(a!=b)
{
case 1 : printf(A);
break;
case 0 : printf(B);
break;
default: printf(Wrong choice);
}
}
a) A
b) B
c) Wrong choice
d) Error
ANSWER-A
6 What will be the value of d in the following
program?
#include <stdio.h>
int main()
int a = 10, b = 5, c = 5;
int d;
d = b + c == a;
printf("%d", d);
}
a) Syntax error
b) 1
c) 5
d) 10
ans-b
7 What is the output of this C code?
#include <stdio.h>
int main()
int i = -3;
int k = i % 2;
printf("%d\n", k);
#include <stdio.h>
void main()
{
int y = 3;
int x = 5 % 2 * 3 / 2;
printf("Value of x is %d", x);
}
a) Value of x is 1
b) Value of x is 2
c) Value of x is 3
d) Compile time error
ans=a
9 What is the output of this C code?
#include <stdio.h>
int main()
{
int x = 1, y = 0, z = 3;
x >y ?printf("%d", z) :printf("hello");
}
a) 3
b) 1
c) Compile time error
d) Run time error
ans=a
10 What is the output of this C code?
#include <stdio.h>
void main()
{
int x = 1, z = 3;
int y = x << 3;
printf(" %d\n", y);
}
a) -2147483648
b) -1
c) Run time error
d) 8
ans=d
11 What is the output of this C code?
#include <stdio.h>
void main()
int x = 97;
int y = sizeof(x);
a) y is 97
b) y is 4
c) y is 8
d) Run time error
12 What is the output of this C code?
#include <stdio.h>
int main()
int x = 2, y = 1;
x *= x + y;
printf("%d\n", x);
return 0;
a) 5
b) 6
c) Undefined behaviour
d) Compile time error
ans-b
//Memory Based
13. Which of the following is not a logical
operator?
a.if
b.and
c. not
d. or
Ans: A
ANSWER: A
16 The bitwise ____ operator that
sets a bit
to 1 only if both
operands are 1.
a. and
b. inclusive or
c. exclusive or
d. complement
ANSWER: A
17 The bitwise ____ operator reverses bits.
a. and
b. inclusive or
c. exclusive or
d. complement
ans d
18Which of the following is not a relational operator?
a. =
b. >=
c. <
d. >
ANSWER: A
a. explicit
b. garbage
c. bool
d. static
Ans-c
#include <stdio.h>
int main()
{
int a |=10;
printf("%d\n", a);
}
Answer:b
Q:3 Comment on the following code below
1. #include <stdio.h>
2. void main()
3. {
4. int x = 5;
5. if (true);
6. printf("hello");
7. }
a) It will display hello
b) It will throw an error
c) Nothing will be displayed
d) Compiler dependent
Answer:b
Answer:d
Answer:c
Answer:a
Answer:c
Answer:c
Answer:d
Answer:b
Q: 13
What is the output of this C code?
1. #include <stdio.h>
2. int main()
3. {
4. int x = 0;
5. if (x == 0)
6. printf("true, ");
7. else if (x = 10)
8. printf("false, ");
9. printf("%d\n", x);
10. }
a) false, 0
b) true, 0
c) true, 10
d) Compile time error
Answer:b
Q: 14
What is the output of this C code?
1. #include <stdio.h>
2. int main()
3. {
4. int x = 0;
5. if (x == 1)
6. if (x >= 0)
7. printf("true\n");
8. else
9. printf("false\n");
10. }
a) true
b) false
c) Depends on the compiler
d) No print statement
Answer:d
Answer:a
Q:16
Comment on the output of this C code?
1. #include <stdio.h>
2. int main()
3. {
4. int a = 1;
5. if (a)
6. printf("All is Well ");
7. printf("I am Well\n");
8. else
9. printf("I am not a River\n");
10. }
a) Output will be All is Well I am Well
b) Output will be I am Well I am not a River
c) Output will be I am Well
d) Compile time errors during compilation
Answer:d
Q: 17
What is the output of this C code?
1. #include <stdio.h>
2. int main()
3. {
4. int a = 1, b = 1;
5. switch (a)
6. {
7. case a*b:
8. printf("yes ");
9. case a-b:
10. printf("no\n");
11. break;
12. }
13. }
a) yes
b) no
c) Compile time error
d) yes no
Answer:c
Answer:c
Q:19
What is the output of this C code?
1. #include <stdio.h>
2. int main()
3. {
4. float f = 1;
5. switch (f)
6. {
7. case 1.0:
8. printf("yes\n");
9. break;
10. default:
11. printf("default\n");
12. }
13. }
a) yes
b) yes default
c) Undefined behaviour
d) Compile time error
Answer:d
Answer:d
a. * b. * c. ***** d. *****
** ** **** ****
*** *** *** ***
**** **** ** **
***** ***** * *
Ans: a
Ans:a
19.Guess the output of the code
#include <stdio.h>
int main ()
{
/* local variable definition */
int i, j;
for(i =5; i>=1; i--)
{
for(j = 1; j <=i; j++)
{
printf("*");
}
}
return 0;
}
a. *
**
***
****
*****
b. *
**
***
****
*****
c. *****
****
***
**
*
d. *****
****
***
**
*
Ans: d
20.Guess the output of the code
#include<stdio.h>
#include<conio.h>
int main(){
int n,i,j,k;
printf("Enter the no of lines: ");
scanf("%d",&n);
for(i=0;i<n;i++){
for(j=0;j<n-i-1;j++){
printf(" ");
}
for(k=0;k<i;k++){
printf("*");
}
printf("\n");
}
getch();
return 0;
}
a. *
**
***
****
*****
b. *
**
***
****
*****
c. *****
****
***
**
*
d. *****
****
***
**
*
Ans: b
//Break and continue statements, Goto, Return, Type conversion and type
modifiers, Designing structured programs in C, Top down design and
stepwise refinement, Formatted and unformatted Input/Output, functions
like printf(), Scanf(), Puts(), Gets() etc. (By Sukhbir )
Q1. The set of functions that are used for formatted input and output
a. getchar() and putchar()
b. getch() and putch()
c. scanf() and printf()
d. all of the above
Ans: c
Q6. To print out a and b given below, which of the following printf() statement
will you use?
#include<stdio.h>
float a=3.14;
double b=3.14;
a. printf("%f %lf", a, b);
b. printf("%Lf %f", a, b);
c. printf("%Lf %Lf", a, b);
d. printf("%f %Lf", a, b);
Ans: a
int main()
{
char ch;
int i;
scanf("%c", &i);
scanf("%d", &ch);
printf("%c %d", ch, i);
return 0;
}
a. Error: suspicious char to in conversion in scanf()
b. Error: we may not get input for second scanf() statement
c. No error
d. None of above
Ans: b
#include <stdio.h>
int main()
{
void abc();
printf("1 ");
abc();
}
void abc()
{
printf("2 ");
}
Ans: B
Q4. What will be output when you will execute following c code?
#include <stdio.h>
int sum(int);
int main()
{
printf("%d",sum(2));
}
int sum(int n)
{
if (n==0)
return n;
else
return n + sum(n-1);
}
Choose the correct answer:
A. 3
B. 2
C. 0
D. 4
Ans: A
Q6. What will be output when you will execute following c code?
#include <stdio.h>
int main()
{
void func();
printf("work");
func();
}
void func()
{
printf("hard");
}
Ans: B
//Syntax Based
Q7. Fill in the blank
#include <stdio.h>
int sum(int n);
int main()
{
int number, result;
printf("Enter a positive integer: ");
scanf("%d", &number);
result = ________ (number); //function call
printf("sum=%d", result);
}
int sum(float num)
{
if (num!=0)
return num + sum(num-1);
else
return num;
}
A. int
B. result
C. sum
D. None of the above
Ans: C
Q8. Fill in the blank
#include <stdio.h>
int factorial(________)
{
if(i <= 1)
return 1;
else
return i * factorial(i - 1);
}
int main()
{
int i;
scanf("%d",&i);
printf("Factorial of %d is %d\n", i, factorial(i));
return 0;
}
A. int i, int j
B. int i
C. int,int
D. float i
Ans: B
//Memory Based
Q9. What is the use of functions?
A. Helps to avoid repeating a set of statements many times
B. Helps to avoid repeated programming across programs.
C. Makes the debugging task easier.
D. All of the above
Ans: D
Q13. Which of the following returns largest whole number not greater than x?
A. Ceil()
B. Floor()
C. Fmod()
D. Fabs()
Ans:- B
Q14. Which of the following returns the smallest whole number that is not less
than x?
A. Ceil()
B. Floor()
C. Fmod()
D. Fabs()
Ans:- A
//Scope rules (local and global scope), Storage classes in C namely auto,
Extern, Register, Static storage classes, Declaring and initializing arrays in
C
Ques: What will be printed after execution of the following code?
void main()
{
int arr[10] = {1,2,3,4,5};
printf("%d", arr[5]);
}
(a) Garbage Value (b) 0
(C) 6 (d) None of these
Ans: (b)
Ques: What will be the output of the program ?
#include<stdio.h>
int main()
{
int a[5] = {51, 1, 5, 20, 25};
int x, y, z;
x = ++a[1];
y = a[1]++;
z = a[x++];
printf("%d, %d, %d", x, y, z);
return 0;
}
(a) 2, 3, 20 (b) 2, 1, 5
(c) 1, 2, 5 (d) 3, 2, 5
Ans: ( d)
Ques: What will the output for this program?
#include <stdio.h>
int fun()
{
static int num = 16;
return num--;
}
int main()
{
for(fun(); fun(); fun())
printf("%d ", fun());
return 0;
}
(a) Infinite loop (b) 13 10 7 4 1
(c) 14 11 8 5 2 (d) 15 12 8 5 2
Ans : (c)
Ques: What will be the output of the program ?
#includestdio.h
void main()
{
float arr[] = {12.4, 2.3, 4.5, 6.7};
printf(%d, sizeof(arr)/sizeof(arr[0]));
}
(a) 5 (b)4
(c) 6 (d) 7
Ans: 4
Ques: What is the output of the following program snippet?
#include<stdio.h>
void main()
{
static num = 4;
printf("%d ",--num);
if(num)
main();
}
(a) 4 3 2 1 0 (b) 3 2 1 0
(c) Infinite Times 4 (d) Compile or Run Time Error
Ans: (b)
Ques: What will the output this code?
#include<stdio.h>
void fn()
{
static int i=5;
printf("%d\t",++i);
}
int main()
{
fn();
fn();
return 0;
}
(a) 5 5 (b) 6 6
(c) 6 7 (d) 7 7
Ans: (c)
Ques: What will be the output?
int main()
{
int x = 032;
printf("%d", x);
return 0;
}
(a) 32 (b) 0
(c) 26 (d) 5
Ans: (c)
Ques: What will be the output for following code snippet?
#include <stdio.h>
int main()
{
int x = 1, y = 2, z = 3;
printf(" x = %d, y = %d, z = %d \n", x, y, z);
{
int x = 10;
float y = 20;
printf(" x = %d, y = %f, z = %d \n", x, y, z);
{
int z = 100;
printf(" x = %d, y = %f, z = %d \n", x, y, z);
}
}
return 0;
}
(a) x = 1, y = 2, z = 3
x = 10, y = 20.000000, z = 3
x = 1, y = 2, z = 100
(b) Compiler Error
(c) x = 1, y = 2, z = 3
x = 10, y = 20.000000, z = 3
x = 10, y = 20.000000, z = 100
(d) x = 1, y = 2, z = 3
x = 1, y = 2, z = 3
x = 1, y = 2, z = 3
Ans: (c)
// SYNTAX BASED
Ques: An array elements are always stored in ________ memory locations.
(a) Sequential (b)Random
(c) Sequential and Random (d) None of the above
Ans: (a)
Ques: What is the maximum number of dimensions an array in C may
have?
(a) 2 (b) 8
(c) 20 (d) Theoretically no limit. The only practical limits are
memory size and compilers
Ques : Regarding the scope of the variables identify the incorrect
statement:
(a) Automatic variables are automatically initialized to 0
(b)Static variables are automatically initialized to 0
(c) The address of a register variable is not accessible
(d)Static variables cannot be initialized with any expression
Ans: a
Ques: Due to variable scope in c
(a) Variables created in a function cannot be used another function
(b) Variables created in a function can be used in another function
(c) Variables created in a function can only be used in the main function
(d) None of above
Answer: (a)
Ques: Which is not a storage class?
(a)Auto (b) Struct
(c) Extern (d) Static
Ans: (b)
Ques: Which of s, t and u are available to a function present in another
file?
extern int s;
int t;
static int u;
main()
{
}
(a) Only s (b) S & u
(c) S, t, u (d) None
Ans: (a)
Ques: Size of the array need not be specified, when
(a) Initialization is a part of definition
(b)It is a declaratrion
(c)It is a formal parameter
(d) All of these
Ans: (d)
Ques: Variables inside parenthesis of functions declarations have _____
level access.
(a) Local (b) Global
(c) Module (d) Universal
Ans: (a)
Ques: Consider the following C program, which variable has the longest
scope?
int a;
int main()
{
int b;
// ..
// ..
}
int c;
(A) a (B) b
(C) c (D) All have same scope
Ans: (a)
// Error finding
Ques: Find the error in below code snippet:
int main()
{
{
int x = 10;
}
{
printf("%d", x);
}
return 0;
}
(a) X undeclared
(b) No error
(c) Should use void main
(d) Return 0 is optional
// Memory Based
Ques: Set of consecutive memory locations is called as ________.
(a) Function (b) Loop
(c) Array (d) Pointer
Ans: (c)
Ques: Array can be considered as set of elements stored in consecutive
memory locations but having __________.
(a) Different Data Type (b) None of these
(c) Same Data Type (d) Same Scope
Ans: (c)
Ques: Array is an example of _______ type memory allocation.
(a) Compile Time
(b) Run Time
Ans: (a)
Ans: (d)
Ques: Higher priority is given to ________ variable than _______ variable.
(a) Local , Global
(b) Global , Local
Ans: (a)
Ans:- B
------------------------------------------------------------------------------------------------
----------------
Q2. The following C code contains the logic of which searching technique
int MIDDLE,
LEFT = 0,
RIGHT = array_size-1;
while (( LEFT<= RIGHT ) && (!found))
{ MIDDLE = (LEFT + RIGHT )/ 2; // Get middle index
if ( array[MIDDLE] == search_key)
{ index = MIDDLE;
found = true;
}
else if (array[MIDDLE] > search_key)
RIGHT= MIDDLE 1; // search is focused
// on the left side of list
else
LEFT= MIDDLE+ 1 // search is focused
// on the right side of the list
} //end while
Ans:- A
Ans: A
Q7. Finding the location of the element with a given value is:
A. Traversal
B. Search
C. Sort
D. None of above
Ans: B
Q8. The elements of an array are stored successively in memory cells because
A. by this way computer can keep track only the address of the first element
and the addresses of other elements can be calculated
B. the architecture of computer memory does not allow arrays to store other
than serially
C. both of above
D. none of above
Ans: A
Ans A
A. Linear Search
B. Binary Search
C. Sequential Search
D. Quick Search
Ans D
Q18. Why is bubble sort method often presented when learning sorting method.
A. It is fastest
B. It is most efficient
C. It uses fewer loops than others
D. It is easy to understand.
Ans C
Q19. How many passes required in bubble sort to sort any array containing five
elements.
A. 4
B. 5
C. 3
D. 1
Ans : A