TCS Ninja Programming MCQ's
TCS Ninja Programming MCQ's
1)
#include
int main(int argc, char ** argv)
{
char **items;
int j = 3, i;
items = argv;
for(i = 1; (i%4); i++)
{
int **p = &items[j];
printf(“%c”, **p);
j–;
}
return 0;
}
The above code is run with three command line parameters mentioned below:
1. PIP
2. Pen
3. Pap
4. Ink
Answer: a
2) Improper formation of which of the following data-structures can cause un-intentional looping
of a program that uses it.
2. Linked list
3. Array
4. Queue
5. Stack
3) What is the data type that occupies the least storage in “C” language?
Answer: char
a. Array is a dynamic data structure whose size can be changed while stacks are static data
structures whose sizes are fixed.
b. Array elements can be accessed and modified(elements can be added or removed) only at the
ends of the array while any elements of the stack can be accessed or modified randomly through
their indices.
c. An array can have elements of different data types.
d. Elements of a linked-list can be accessed only sequentially.
Answer: d
Answer: b
6) Eesha wrote a function fact( ) in “C” language to calculate factorial of a given number and
saved the file as fact.c. She forgot to code the main function to call this fact function. Will she be
able to compile this fact.c without the main() function?
a. Yes, she can compile provided the compiler option -nostrict-checking is enabled.
b. No, she can not compile as main function is required to compile any C program file.
c. Yes, she can compile as main( ) is not required at compile time.
d. Yes, she can compile and run as the system will supply default values to fact function.
Answer: b
7) The difference between variable declaration and variable definition is:
a. Declaration and definition are the same. There is no difference.
b. A declaration is used for variables and definitions is used for functions.
c. Declaration associates type to the variable whereas definition associates scope to the variable.
d. Declaration associates type to the variable whereas definition gives the value to the variable.
Answer: d
Answer: a
2) Eesha wrote a recursive function that takes the first node in a linked list as an argument,
reverses the list, returning the first Node in the result. The pseudo code for this function is given
below. However, she did not get the correct result. In which line number did she make a
mistake?
Eesha used the above algorithm to calculate the LCS length between “kitten” and “string”. What
was the result she got? Please give the answer in the blank line. ___________
Answer: 2
#include
int main()
{
int x, y;
for(x=5;x>=1;x–)
{
for(y=1;y<=x;y++)
printf(“%d\n”,y);
}}
A. 15
B. 11
C. 10
D. 13
Solution: Option A
A. Disk
B. Stack
C. Heap
D. Code
Solution: Option B
A. double
B. float
C. int
D. long int
int main
{
float f = 0.1;
if (f = 0.1)
printf (“yes”);
else print (“no”);
}
5) What will happen if in a C program you assign a value to an array element whose subscript
exceeds the size of array?
int (*ptr)[10];
Solution: Option B
Solution: Option C
Explanation: The statement ‘C’ is correct. When we pass an array as a function argument, the
base address of the array will be passed.
#include
int main()
{
int a[5] = {5, 1, 15, 20, 25};
int i, j, m;
i = ++a[1];
j = a[1]++;
m = a[i++];
printf(“%d, %d, %d”, i, j, m);
return 0;
}
A. 2, 1, 15
B. 1, 2, 5
C. 3, 2, 15
D. 2, 3, 20
Solution: Option C
Explanation:
Step 1: int a[5] = {5, 1, 15, 20, 25}; The variable arr is declared as an integer array with a size of
5 and it is initiapzed to
a[0] = 5, a[1] = 1, a[2] = 15, a[3] = 20, a[4] = 25 .
Step 2: int i, j, m; The variable i,j,m are declared as an integer type.
Step 3: i = ++a[1]; becomes i = ++1; Hence i = 2 and a[1] = 2
Step 4: j = a[1]++; becomes j = 2++; Hence j = 2 and a[1] = 3.
Step 5: m = a[i++]; becomes m = a[2]; Hence m = 15 and i is incremented by 1(i++ means 2++
so i=3)
Step 6: printf(“%d, %d, %d”, i, j, m); It prints the value of the variables i, j, m
Hence the output of the program is 3, 2, 15
A.Yes
B.No
Solution: Option B
Explanation: No, both the statements are same. It is the prototype for the function fun() that
accepts one integer array as a parameter and returns an integer value.
10) Are the expressions arr and &arr same for an array of 10 integers?
A.Yes
B.No
Solution: Option B
Explanation: Both mean two different things. arr gives the address of the first int, whereas the
&arr gives the address of array of ints.
11) Which of the fplowing statements should be used to obtain a remainder after dividing
3.14 by 2.1?
Solution: Option C
Explanation:
fmod(x,y) – Calculates x modulo y, the remainder of x/y.
This function is the same as the modulus operator. But fmod() performs floating point divisions.
Solution: Option B
13) Which of the following special symbols are allowed in a variable name?
A.* (asterisk)
B.| (pipepne)
C.-(hyphen)
D._(underscore)
Solution: Option D
Explanation: Variable names in C are made up of letters (upper and lower case) and digits. The
underscore character (“_”) is also permitted. Names must not begin with a digit.
2 : int fun();
A. Both are identical
B. No difference, except extern int fun(); is probably in another file
C. int fun(); is overrided with extern int fun();
D. None of these
Answer: Option B
Explanation: extern int fun(); declaration in C is to indicate the existence of a global function
and it is defined externally to the current module or in another file.
int fun(); declaration in C is to indicate the existence of a function inside the current module or in
the same file.