C Mcq's

Download as pdf or txt
Download as pdf or txt
You are on page 1of 25

TCS Technical Questions – MISC

Ques. 1 Which is the character array used to accept command line arguments?
A) char argv

B) char* argv[]

C) char argv[]

D) char* argv

Ques. 2 What is a dangling pointer?

Ques. 3 Which is not a string function?


A) strstr

B)strcmp

C) strupr

D) strchr

Ques. 4 Which of the following does not require to include math.h header file?

A) pow()

B) rand()

C)sqrt()

D) sinh()

Ques. 5 What is the task of pre-processor?

A) Expanding

B) Compiling
C) Linking

D) All of the above

Ques. 6 Which of the following is true?

A) realloc() can change the memory size of arrays

B) Unary operator works on only one operand

C) Struct and Union works in same way.

D) None of the above

Ques. 7 Which of this is used to skip one iteration:

A) break

B) continue

C) goto

D) return

Ques. 8 Which address does a pointer to an array store:

A) Memory address of the first element of the array​ Don’t remember the other
options.

Ques. 9 Predict the output:


float a = 0.1;
if(a==0.1)
printf(“Yes”);
else
printf(“No”); Answer would be ​No​.

Ques. 10 Another output based question which basically displayed the input string in
reverse pattern.
For example, ABRACADABRA was displayed as ​ARBADACARBA​.

Comment on the below while statement

while(0 == 0) { }

A) It has syntax error as there are no statements within braces {}

B) It will run for ever

C) It compares 0 with 0 and since they are equal it will exit the loop immediately

D) It has syntax error as the same number is being compared with itself.

TCS C MCQ Questions Misc – 2

1. The function ____ obtains block of memory dynamically.


a) calloc
b) malloc
c) Both calloc & malloc
d) free

2. For a typical program, the input is taken using


a) scanf
b) Files
c) Command-line
d) All of the mentioned

3. What is the default return-type of getchar()?


a) char
b) int
C. char *
D. reading character doesn’t require a return-type

4. Memory allocation using malloc() is done in?


a) Static area
b) Stack area
c) Heap area
d) Both Stack & Heap area

5. What is the sizeof(char) in a 32-bit C compiler?


a) 1 bit
b) 2 bits
c) 1 Byte
d) 2 Bytes

6. What type of value does sizeof return?


a) char
b) short
c) unsigned int
d) long

7. Which one is used during memory deallocation in C?


a) remove(p);
b) delete(p);
c) ​free(p);
d) terminate(p);

8. What is the output of this C code?

#include <stdio.h>
void main()
{
int x = 97;
int y = sizeof(x++);
printf(“x is %d”, x);
}
a) x is 97
b) x is 98
c) x is 99
d) Run time error

TCS Question Paper Set 2


Q1: What is the output of this C code?

#include <stdio.h>

void main()

int k = 5;

int *p = &k;

int **m = &p;

printf(“%d%d%d\n”, k, *p, **p);

a) 5 5 5

b) 5 5 junk

c) 5 junk junk

d​) Compile time error

Q2. Which of the following statements about stdout and stderr are true?

a) They both are the same

b) Run time errors are automatically displayed in stderr

c) Both are connected to the screen by default.

d​) stdout is line buffered but stderr is unbuffered​.

Q3: Given the below statements about C programming language;

1) main() function should always be the first function present in a C program file
2) all the elements of an union share their memory location

3) A void pointer can hold address of any type and can be typecasted to any type

4) A static variable hold random junk value if it is not initialised

Which of the above are correct statements?

A) 2,3

B) 1,2

C) ​1,2,3

D) 1,2,3,4

Q4 If a function is defined as static, it means

A) The value returned by the function does not change

B) all the variable declared inside the function automatically will be assigned initial value
of zero

C)​ It should be called only within the same source code/program fil​e.

D) None of the other choices as it is wrong to add static prefix to a function

Q5: Comment on the below while statement

while (0 == 0) { }

A) It has syntax error as there are no statements within braces {}

B) ​It will run forever

C) It compares 0 with 0 and since they are equal it will exit the loop immediately

D) It has syntax error as the same number is being compared with itself
Given the below statements about C programming language

1) main() function should always be the first function present in a C program file

2) all the elements of an union share their memory location

3) A void pointer can hold address of any type and can be typcasted to any type

4) A static variable hold random junk value if it is not initialised

Which of the above are correct statements?

A) 2,3

B) 1,2

C) ​1,2,3

D) 1,2,3,4

TCS Programming MCQ Set 3

Q1.A pointer variable can be

1. Changed within function.

2. Assigned an integer value.

3. None of these

4. ​Passed to a function as argument​.

Q2. Which of the following uses structure?

1. Linked Lists

2. Array of structures
3. All of these

4. Binary Tree

Q3. Strings are character arrays. The last index of it contains the null-terminated
character

1. \t

2. \1

3. \0

4. \n

Q4. Which of the following is a collection of different data types?

1. String

2. ​Structure

3. Array

4. Files

Q5. What function should be used to free the memory allocated by calloc() ?

1. ​free();

2. malloc(variable_name, 0)

3. dealloc();

4. memalloc(variable_name, 0)

Q6. In the standard library of C programming language, which of the following header
file is designed for basic mathematical operations?
1. conio.h

2. stdio.h

3. ​math.h

4. dos.h

Q7. int **ptr; is?

1. Pointer to integer

2. None of these

3. ​Pointer to pointer

4. Invalid declaration

Q8. Which of the following special symbol allowed in a variable name?

1. (underscore)

2. – (hyphen)

3. | (pipeline)

4. * (asterisk)

Q9. All keywords in C are in

1. Uppercase letters

2. None of these

3.​ Lowercase letters

4. Camel Case letters

Q10. What should the program below print?


#include <stdio.h>

#include <string.h>

#include <stdlib.h>

void myfunc(char** param){

++param;

int main(){

char* string = (char*)malloc(64);

strcpy(string, “hello_World”);

myfunc(&string);

myfunc(&string);

printf(“%s\n”, string);

// ignore memory leak for sake of quiz

return 0;

1. ​hello_World

2. ello_World

3. lo_World

4. llo_World
What is the output of this C code?

#include <stdio.h>

void main()

int k = 5;

int *p = &k;

int **m = &p;

printf(“%d%d%d\n”, k, *p, **p);

a) 5 5 5

b) 5 5 junk

c) 5 junk junk

d) Compile time error

TCS MCQ C Questions – 4

1. atoi() function is used for:


a)convert ASCII character to integer value
b)​convert a character string to its equivalent integer value
c)gets index value of character in an array
d)converts an array of characters to array of equivalent integers

2. Which of the following is NOT declared in string.h ?


a) strlen()
b) strcpy()
c) ​strptr()
d) strupr()

3. which of the below function is NOT declared in math.h ?


a) ​and()
b) pow()
c) exp()
d) acos()

4. Where are the local variable stored ?


a) In a Queue
b) In stack Memory
c) In hard Disk
d) In heap Memory

5. while declaring parameters for main, the second parameter argv should be declared
as
a) char argv[]
b) char argv
c) char ** argv[]
d) ​char * argv[]

6. A memory leak happens when


a) ​a program allocates memory in heap but forgets to be allocate it
b) when an un-assigned pointer is used is freed using free function
c) when realloc() is called on a pointer that is not allocated
d) A program allocates memory in stack

7. what does the default header file contain?


a) ​Declarations
b) Implementations
c) Prototypes
d) All of the above

8. which of the below has the highest precision?


a) long int
b) double
c) unsigned long int
d) float
9. What will be the output ( * Star Marked Question )
#include <stdio.h>
{
float f = 0.1;
if (f == 0.1)
printf(“YES\n”);
else
printf(“NO\n”);
return 0;
}
Output: ​NO

10. Use of ftell()


a) return current file position
b) return end of the file
c) to move file pointer position to the begining of the file
d) to flush a file

11. which of the following is used locate the end of the file ?
Mine answers was ​feof()

12. A code will be given and you will be asked which header is missing??
In my question ​sqrt()​ was used and math.h was missing

13. Which of the following is NOT a fundamental datatype


Ans will be ​enum

TCS MCQ C Question – 5

1. How many times loop will executed ?


#include<stdio.h>
int main()
{
int x,y;
for(x=5;x>=1;x–)
{
for(y=1;y<=x;y++)
printf(“%d\n”,y);
}
}
a) 11
b) 13
c) ​15
d) 10

2. Which of the following indicate the end of file ?


a) feof()
b) EOF
c) ​Both feof() and EOF
d) None of the mentioned

3. If a functions return type is not explicitly defined then it is default to ……….(in


C).
a) ​int
b) float
c) void
d) error

4. Where the local variable is stored ?


a) Disk
b) ​Stack
c) Heap
d) Register

5. How many times loop will executed ?


#include<stdio.h>
int main()
{
int i;
for(i=0;i<5;i++)
{
printf(“Hello\n”);
}
}

a) 0
b) 1
c) 3
d) 5

6. What is dangling pointer?


a) ​points to garbage value
b) points to function
c) Both A and B
d) None of these

7. what is the purpose of ftell ?


a)​to get the current file position
b)to get the current file attribute
c)to get the current file status
d)to get the current file name

8. What is recursion ?
a) looping
b) a function calls another function repeatedly
c) a fnction calls repeatedly
d) ​function calls itself repeatedly

9. What is the similarity between enum and struct ?


a) can assign new values
b) ​can create new data types
c) nothing in common
d) they are same

10. which of the following is not a fundamental datatype?


a) Enum
b) unsigned long int
c) Long int
d) double

11. How many times hello will print ?


#include<stdio.h>
int main(void)
{
int i;
for(i=0;i<5;i++);
printf(“hello”);
}

a) Compilation error
b) Runtime error
c) 4
d) ​1

If a function is defined as static, it means

A) The value returned by the function does not change

B) all the variable declared inside the function automatically will be assigned
initial value of zero

C)​ It should be called only within the same source code / program file.

D) None of the other choices as it is wrong to add static prefix to a function

TCS MCQ C Question – 6

Ques. Which of this is used to skip one iteration:


A) break
B) ​continue
C) goto
D) return
Ques. Guess the output:
main()
{
printf(“%d”, sizeof(‘a’));
//same as → sizeof(97)
}

A)​ 2 or 4 —
B) 1 or 3
C) Garbage value
D) ASCII value of a

Ques. Select the missing statement?


#include<stdio.h>
long int fact(int n);
int main()
{
\\missing statement
}
long int fact(int n)
{
if(n>=1)
return n*fact(n-1);
else
return 1;
}

A) printf(“%ll\n”,fact(5));
B) printf(“%u\n”,fact(5));
C) printf(“%d\n”,fact(5));
D) ​printf(“%ld\n”,fact(5));

Ques. If a function’s return type is not explicitly defined then it’s default to ______ (In C).
A) ​int
B) float
C) void
D) Error
Which of the following statements about stdout and stderr are true?

a) They both are the same

b) Run time errors are automatically displayed in stderr

c) Both are connected to the screen by default.

d)​ stdout is line buffered but stderr is unbuffered​.

TCS C MCQ Command Line Arguments

1) Which of the following syntax is correct for command-line arguments?

​ ) int main(int var, char *argv[])


a
b) int main(char *arv[], int arg)
c) int main(char c,int v)
d) int main(int v,char c)

2) What does argv and argc indicate in int main(int argc, char *argv[]) ?

a) argument constant, argument variable


b) ​argument count, argument vector
c) argument constant, argument vector
d) argument count, argument variable

3) What type of array is generally generated in Command-line argument?

a) MultiDimensional Array
b) ​Jagged Array
c) 2-Dimensional Array
d) Single Dimensional Array

4) The maximum length of the command-line arguments including the spaces is

a)​May vary from one OS to another


b)256 characters
c)Depends on the Number of arguments
d)128 characters

5) The index of the last argument in command line arguments is

a) argc
b) argc * 2
c)​ argc – 1
d) argc + 1

6) What is the first argument of command line ?

a​)File Name
b)Program Designation
c)argument passed by user
d)Program Name

7)What argv means in command line argument?

a)Array of pointers
b)pointer to a character array
c)​Array of character pointers
d)Array of Strings

8) What will be the output of the following program if argument passed to command
lines are : prog 1 4 2

#include<stdio.h>
int main(int argc, char *argv[])
{
int j;
j = argv[1] + argv[2] – argv[3];
printf(“%d”, j);
return 0;
}
a)​Error
b)3
c)Garbage Value
d)None of these
Ans–> Here, argv[1], argv[2] and argv[3] are of type String. So, we have to convert
String to integer before performing arithmetic operation.

9) What argv[0] and argv[1] denote in Command line Arguments ?

a) Pointers to first two command line argument supplied.


b) ​File Name and pointer to first command line argument supplied.
c) Program Name and Pointer to the 1st argument.
d) None of these.

10) Which one of these is equivalent to argc ?

a) Number of Arguments
b) Number of Arguments – 1
c) Number of Arguments + 2
d) ​Number of Arguments + 1

11) What will be output of the following program if argument passed to command lines
are : prog 1 4 2

#include<stdio.h>
int main(int argc, char *argv[])
{
while(argc–)
printf(“%s\n”,argv[argc]);

return 0;
}

a) ​2 4 1
b) Garbage-value 2 4 1
c) Garbage-value 2 4 1 prog
d) Infinte Loop

12) What will be output of the following program if argument passed to command lines
are : demo one two three

#include<stdio.h>
int main(int argc, char *argv[])
{
printf(“%c\n”,**+argv);

return 0;
}

a) n
b) ​o
c) t
d) Compile Time Error

Ans–> Here, char * argv[ ] denotes Array of Pointers. So, argv[ ] holds the address of
the command line argument passed. ++argv denote the address of next location, which
holds the address of the 2nd argument.
*++argv denote the value stored at that address i.e. the address of the 1st character of
the 2nd argument and **++argv itself denote the character ‘o’ .

13) What will be output of the following program if argument passed to command lines
are : demo friday

#include<stdio.h>
int main(int argc, char *argv[])
{
printf(“%c”,*++argv[1]);

return 0;
}

a) ​r
b) f
c) i
d) d

Ans–>argv[1] can be wriiten as *(argv+1), (argv+1) denote the address of next location,
which holds the address of 2nd argument. Thus *(argv+1) or argv[1] denote the value
stored at that address i.e. denote the address of 1st character of the 2nd Argument.
++argv[1] denote the address of 2nd character of the 2nd Argument. So *++argv[1] itself
denote the character ‘r’ .
Questions – Variables and Data Types

1. Which of the following is not valid variable name declaration?


a) int __v1;
b) int __1v;
c) int __V1;
d) None
Ans:d

2. Which of the following is not a valid variable name declaration?


a) int _v1;
b) int v_1;
c) int 1_v;
d) int _1v

Ans:c
Explanation:Variable name can’t start with a digit.

3. Variable names beginning with underscore is not encouraged. Why?


a) It is not standard form
b) To avoid conflicts since assemblers and loaders use such names
c) To avoid conflicts since library routines use such names
d) To avoid conflicts with environment variables of an operating system

Ans:c

4. Which is not a valid C variable name?


a) int number;
b) float rate;
c) int variable_count;
d) int $main;

Ans:d

5.Which of the following is true for variable names in C?


a) They can contain alphanumeric characters as well as special characters
b) It is not an error to declare a variable to be one of the keywords(like goto, static)
c) Variable names can’t start with a digit
d) Variable can be of any length
Ans:c

6. What will be the output?

#include <stdio.h>
int main()
{
int main = 5;
printf(“%d”, main);
return 0;
}
a) compile-time error
b) run-time error
c) run without any error and prints 5
d) experience infinite looping

Ans:c
Explanation:A C program can have same function name and same variable name.

7. Which of the following cannot be a variable name in C?


a) friend
b) true
c) volatile
d) export

Ans: c
Explanation:volatile is C keyword

8. The format identifier ‘%i’ is also used for _____ data type?
a) char
b) double
c) float
d) int

Ans:d
Explanation:Both %d and %i can be used as a format identifier for int data type.

9. Which of the following is a User-defined data type?


a) struct {char name[10], int age};
b) typedef enum {Mon, Tue, Wed, Thu, Fri} Workdays;
c) typedef int Boolean;
d) all of the mentioned
Answer:d

10. What is short int in C programming?


a) Basic datatype of C
b) Qualifier
c) short is the qualifier and int is the basic datatype
d) All of the mentioned

Ans:c

11. What is the output of this C code?

#include <stdio.h>
int main()
{
signed char chr;
chr = 128;
printf(“%d\n”, chr);
return 0;
}
a) 128
b) -128
c) Depends on the compiler
d) None of the mentioned

Ans:b
Explanation:signed char will be a negative number.

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

Ans:c

13. Which of the datatypes have size that is variable?


a) int
b) struct
c) float
d) double

Ans:b
Explanation:Since the size of the structure depends on its fields, it has a variable size.

14. What is the output of this C code?

#include <stdio.h>
int main()
{
float x = ‘a’;
printf(“%f”, x);
return 0;
}
a) 97.000000
b) run time error
c) a.0000000
d) a

Ans:a
Explanation:Since the ASCII value of a is 97, the same is assigned to the float variable and
printed.

15. Which is correct with respect to size of the datatypes?


a) char > int > float
b) int > char > float
c) char < int < double
d) double > char > int

You might also like