TCS’s most recent placement papers for last year are available on Indiahires.in. Indiahires has the most recent TCS language papers for C, and C++.
Tata Consultancy Services (TCS) is a global leader in IT services, and digital and business solutions that collaborates with customers to simplify, reinforce, and transform their operations. Through a profound dedication to our clients, extensive industry experience, and a global network of innovation and delivery centers, we assure the greatest assurance and satisfaction.
Q1. The C language terminator is
(a) semicolon
(b) colon
(c) period
(d) exclamation mark
Q2. What is false about the following — A compound statement is
(a) A set of simple statements
(b) Demarcated on either side by curly brackets
(c) Can be used in place of simple statement
(d) A C function is not a compound statement.
Q3. What is true about the following C Functions
(a) Need not return any value
(b) Should always return an integer
(c) Should always return a float
(d) Should always return more than one value
Q4. Main must be written as
(a) The first function in the program
(b) Second function in the program
(c) Last function in the program
(d) Any where in the program
Q5. Which of the following about automatic variables within a function is correct?
(a) Its type must be declared before using the variable
(b) They are local
(c) They are not initialized to zero
(d) They are global
Q6. Write one statement equivalent to the following two statements: x=sqr(a); return(x); Choose from one of the alternatives
(a) return(sqr(a));
(b) printf(“sqr(a)”);
(c) return(a*a*a);
(d) printf(“%d”,sqr(a));
Q7. Which of the following about the C comments is incorrect?
(a) Comments can go over multiple lines
(b) Comments can start anywhere in the line
(c) A line can contain comments without any language statements
(d) Comments can occur within comments
Q8. What is the value of y in the following code?
x=7;
y=0;
if(x=6) y=7;
else y=1;
(a) 7
(b) 0
(c) 1
(d) 6
Q9. Read the function conv() given below
conv(int t)
{
int u;
u=5/9 * (t-32);
return(u);
}
What is returned
(a) 15
(b) 0
(c) 16.1
(d) 29
Q10. Which of the following represents a true statement either x is in the range of 10 and 50 or y is zero
(a) x >= 10 && x <= 50 || y = = 0
(b) x<50
(c) y!=10 && x>=50
(d) None of these
Q11. Which of the following is not an infinite loop ?
(a) while(1){ ….}
(b) for(;;){…}
(c) x=0;
(d) # define TRUE 0
do{ /*x unaltered within the loop*/ …
.
….}while(x = = 0); while(TRUE){ ….}
Q12. What does the following function print?
func(int i)
{
if(i%2)return 0;
else return 1;
}
main()
{
int =3;
i=func(i);
i=func(i);
printf(“%d”,i);
}
(a) 3
(b) 1
(c) 0
(d) 2
Q13. How does the C compiler interpret the following two statements
p=p+x;
q=q+y;
(a) p= p+x;
(b) p=p+xq=q+y;
(c) p= p+xq;
(d) p=p+x/q=q+y;
q=q+y; q=q+y;
For question 14,15,16,17 use the following alternatives:
a. int
b. char
c. string
d. float
Q14. 9
Q15. 1 e 02
Q16. 10e05
Q17. 15
Q18. Read the following code
# define MAX 100
# define MIN 100
….
….
if(x>MAX)
x=1;
else if(x
x=-1;
x=50;
if the initial value of x=200, what is the value after executing this code?
(a) 200
(b) 1
(c) -1
(d) 50
Q19. A memory of 20 bytes is allocated to a string declared as char *s then the following two statements are executed:
s=Entrance
l=strlen(s);
what is the value of l ?
(a)20
(b)8
(c)9
(d)21
Q20. Given the piece of code
int a[50];
int *pa;
pa=a;
To access the 6th element of the array which of the following is incorrect?
(a) *(a+5)
(b) a[5]
(c) pa[5]
(d) *(*pa + 5}
Q21. Consider the following structure:
struct num nam
{
int no;
char name[25];
}
struct num nam n1[]={{12, Fred},{15,Martin},{8,Peter},{11,Nicholas}};
…..
…..
printf(“%d%d”,n1[2],no,(*(n1 + 2),no) + 1);
What does the above statement print?
(a) 8,9
(b) 9,9
(c) 8,8
(d) 8, unpredictable value
Q22. Identify the incorrect expression
(a) a=b=3=4;
(b) a=b=c=d=0;
(c) float a=int b= 3.5;
(d) int a; float b;a=b=3.5;
Q23. 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
Q24. cond 1?cond 2?cond 3?:exp 1:exp 2:exp 3:exp 4; is equivalent to which of the following?
(a) if cond 1
exp 1;
else if cond 2
exp 2;
else if cond 3
exp 3;
else exp 4;
(b) if cond 1
if cond 2
if cond 3
exp 1;
else exp 2;
else exp 3;
else exp 4;
(c) if cond 1 && cond 2 && cond 3
exp 1 |exp 2|exp 3|exp 4;
(d) if cond 3
exp 1;
else if cond 2 exp 2;
else if cond 3 exp 3;
else exp 4;
Q25. The operator for exponentiation is
(a) **
(b) ^
(c) %
(d) not available
Q26. Which of the following is invalid
(a) a+=b
(b) a*=b
(c) a>>=b
(d) a**=b
Q27. What is y value of the code if input x=10
y=5;
if (x==10)
else if(x==9)
else y=8;
(a) 9
(b) 8
(c) 6
(d) 7
Q28. What does the following code do?
fn(int n, int p, int r)
{
static int a=p;
switch(n)
{
case 4:a+=a*r;
case 3:a+=a*r;
case 2:a+=a*r;
case 1:a+=a*r;
}
}
(a) computes simple interest for one year
(b) computes amount on compound interest for 1 to 4 years
(c) computes simple interest for four year
(d) computes compound interest for 1 year
Q29.
a=0;
while(a<5)
printf(“%d “,a++);
How many times does the loop occur?
(a) infinite
(b) 5
(c) 4
(d) 6
Q30. How many times does the loop iterate?
for(i=0;i=10;i+=2)
printf(“Hi “);
(a)10
(b) 2
(c) 5
(d) None of these
Q31. What is incorrect among the following
A recursive function
(a) calls itself
(b) is equivalent to a loop
(c) has a termination condition
(d) does not have a return value at all
Q32. Which of the following go out of the loop if expn 2 becomes false
(a) while(expn 1){…if(expn 2)continue;}
(b) while(!expn 1){if(expn 2)continue;…}
(c) do{..if(expn 1)continue;..}while(expn 2);
(d) while(!expn 2){if(expn 1)continue;..}
Q33. Consider the following program
main()
{
unsigned int i=10;
while(i>=0)
{
printf(“%u”,i)
i–;
}
}
How many times will the loop get executed
(a)10
(b)9
(c)11
(d) infinite
Q34.Pick out the odd one out
(a) malloc()
(b) calloc()
(c) free()
(d) realloc()
Q35.Consider the following program
main()
{
int a[5]={1,3,6,7,0};
int *b;
b=&a[2];
}
The value of b[-1] is
(a) 1
(b) 3
(c) -6
(d) none
Q36.
# define prod(a,b)=a*b
main()
{
int x=2;
int y=3;
printf(“%d”,prod(x+2,y-10));
}
the output of the program is
(a) 8
(b) 6
(c) 7
(d) None
Q37. Consider the following program segment
int n,sum=1;
switch(n)
{
case 2:sum=sum+2;
case 3:sum*=2;
break;
default:sum=0;
}
If n=2, what is the value of sum
(a) 0
(b) 6
(c) 3
(d) None of these
Q38. Identify the incorrect one
1.if(c=1)
2.if(c!=3)
3.if(a
4.if(c==1)
(a) 1 only
(b) 1&3
(c) 3 only
(d) All of the above
Q39. The format specified for hexa decimal is
(a) %d
(b) %o
(c) %x
(d) %u
Q40. Find the output of the following program
main()
{
int x=5, *p;
p=&x
printf(“%d”,++*p);
}
(a) 5
(b) 6
(c) 0
(d) none of these
Q41. Consider the following C code
main()
{
int i=3,x;
while(i>0)
{
x=func(i);
i–;
}
int func(int n)
{
static sum=0;
sum=sum+n;
return(sum);
}
}
The final value of x is
(a) 6
(b) 8
(c) 1
(d) 3
Q42. Int *a[5] refers to
(a) array of pointers
(b) pointer to an array
(c) pointer to a pointer
(d) none of these
Q43. Which of the following statements is incorrect
(a) typedef struct new
{
int n1;
char n2;
} DATA;
(b) typedef struct
{
int n3;
char *n4;
}ICE;
(c) typedef union
{
int n5;
float n6;
} UDT;
(d) #typedef union
{
int n7;
float n8;
} TUDAT;