Placement Papers - Home | Tata Consultancy Services

 

1 | 2 | 3

 


This test consists of 50 questions.The Set Code for this paper is D.

1. The C language terminator is

(a) semicolon
(b) colon
(c) period
(d) exclamation mark


2. What is false about the following -- A compound statement is

(a) A set of simple statments
(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.


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


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


5. Which of the following about automatic variables within a function is correct ?

(a) Its type must be declared before using the variable
(b) Tthey are local
(c) They are not initialised to zero
(d) They are global



6. 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));


7. Which of the following about the C comments is incorrect ?

(a) Ccommentscan go over multiple lines
(b) Comments can start any where in the line
(c) A line can contain comments with out any language statements
(d) Comments can occur within comments


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


9. Read the function conv() given below Freshers world.com
conv(int t){
int u;
u=5/9 * (t-32);
return(u);
}
What is returned

(a) 15
(b) 0
(c) 16.1
(d) 29



10. Which of the following represents 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


11. Which of the following is not an infinite loop ?

(a) while(1)\{ ....}

(b) for(;;)
{
...
}

(c) x=0;
do{
/*x unaltered within the loop*/
.....}
while(x = = 0);

(d) # define TRUE 0
...
while(TRUE){
....}



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


13. How does the C compiler interpret the following two statements
p=p+x;
q=q+y;


(a) p=p+x;
q=q+y
(b)p=p+xq=q+y
(c)p=p+xq;
q=q+y
(d)p=p+x/q=q+y



For questions 14,15,16,17 use the following alternatives

a.int
b.char
c.string
d.float

14. '9'

15. "1 e 02"

16. 10e05

17. 15



18. Read the folllowing code

# define MAX 100
# define MIN 100
....
....
if(x>MAX)
x=1;
else if(x<MIN)
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


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


20. 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}


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


22. Identify the in correct 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;


23. Regarding the scope of the varibles;identify the incorrect statement:

(a)automatic variables are automatically initialised to 0
(b)static variables are are automatically initialised to 0
(c)the address of a register variable is not accessiable
(d)static variables cannot be initialised with any expression



24. 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;



25. The operator for exponencation is

(a) **
(b) ^
(c) %
(d) not available


26. Which of the following is invalid

(a) a+=b
(b) a*=b
(c) a>>=b
(d) a**=b


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



28. 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 interst for 1 year


29. a=0;
while(a<5)
printf("%d\\n",a++);
How many times does the loop occurs?

(a)infinite
(b)5
(c)4
(d)6


30. How many times does the loop iterated ?

for (i=0;i=10;i+=2)
printf("Hi\\n");

(a)10
(b) 2
(c) 5
(d) None of these



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



32. Which of the following go out of the loop if expn 2 becoming 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;..\}


33. Consider the following program

main()
{unsigned int i=10;
while(i>=0){
printf("%u",i)
i--;}
}

How many times the loop will get executed

(a)10
(b)9
(c)11
(d)infinite


34.Pick out the add one out

(a) malloc()
(b) calloc()
(c) free()
(d) realloc()



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


36. # 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


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



38. Identify the incorrect one

1.if(c=1)
2.if(c!=3)
3.if(a<b)then
4.if(c==1)

(a) 1 only
(b) 1&3
(c) 3 only
(d) All of the above


39. The format specified for hexa decimal is

(a) %d
(b) %o
(c) %x
(d) %u


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


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


43. Int *a[5] refers to

(a) array of pointers
(b) pointer to an array
(c) pointerto a pointer
(d) none of these



44.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;

Subject: TCS C Questions

--------------------------

1) Which of these is an invalid dataname?

a) wd-count b) wd_count

c) w4count d) wdcountabcd



2) What is the output of the following program

main ()

{

unsigned int i;



for (i = 10; i >= 0; i--)

printf ("%d", i);

}

a) prints numbers 10 - 0 b) prints nos 10 - 1

c) d) goes into infinite loop



11) What is the value of the following expression?

i = 1;

i << 1 % 2

a) 2 b)

c) 1 d) 0



12) What is the value of the following expression?

i = 1;

i = (i <<= 1 % 2)

a) 2 b)

c) 0 d) erroneous syntax



What is the result?

13) *A + 1 - *A + 3

a) - b) -2

c) 4 d) none of the above



14) &A[5] - &A[1]?

a) b)

c) 4 d)



15) C allows

a) only call by value

b) only call by reference

c) both

d) only call by value and sometimes call by reference



16) The following statement is

" The size of a struct is always equal to the sum

of the sizes of its members"

a) valid b) invalid c) can't say



17) How many x's are printed?

for (i = 0, j = 10; i < j; i++, j--)

printf ("x");

a) 10 b) 5 c) 4 d) none



18) output?

main ()

{

int i = 2, j = 3, k = 1;

swap (i, j)

printf ("%d %d", i, j);

}

swap (int i, int j)

{

int temp;

temp = i; i = j; j = temp;

}

YOU KNOW THE ANSWER



19) main ()

{

int i = 2;

twice (2);

printf ("%d", i);

}

twice (int i)

{

bullshit

}



int i, b[] = {1, 2, 3, 4, 5}, *p;

p = b;

++*p;

p += 2;



20) What is the value of *p;

a) 2 b) 3 c) 4 d) 5

21) What is the value of (p - (&p - 2))?

a) b) 2 c) d)



23) x = fopen (b, c)

what is b?

a) pointer to a character array which contains the filename

b) filename whithin double quotes

c) can be anyone of the above

d) none



24) x = malloc (y). Which of the following statements is correct.

a) x is the size of the memory allocated

b) y points to the memory allocated

c) x points to the memory allocated

d) none of the above



25) which is the valid declaration?

a) #typedef struct { int i;}in;

b) typedef struct in {int i;};

c) #typedef struct int {int i;};

d) typedef struct {int i;} in;



26) union {

int no;

char ch;

} u;

What is the output?

u.ch = '2';

u.no = 0;

printf ("%d", u.ch);

a) 2 b) 0 c) null character d) none



27) Which of these are valid declarations?

i) union { ii) union u_tag {

int i; int i;

int j; int j;

}; };



iii) union { iv) union {

int i; int i;

int j; int j;

FILE k; }u;

};



a) all correct b) i, ii, iv

c) ii & iv d)



28) p and q are pointers to the same type of dataitems.

Which of these are valid?

i) *(p+q)

ii) *(p-q)

iii) *p - *q



a) all

b)

c) iii is valid sometimes



29) which are valid?

i) pointers can be added

ii) pointers can be subtracted

iii) integers can be added to pointers

a) all correct b) only i and ii



30) int *i;

float *f;

char *c;

which are the valid castings?

i) (int *) &c

ii) (float *) &c

iii) (char *) &i



31) int i = 20;

printf ("%x", i);

what is the output?

a) x14 b) 14 c) 20 d) none of the above



32) main ()

{

char *name = "name";

change (name);

printf ("%s", name);

}

change (char *name)

{

char *nm = "newname";

name = nm;

}

what is the output?

a) name b) newname c) name = nm not valid

d) function call invalid



33) char name[] = {'n', 'a', 'm', 'e'}

printf ("name = \n%s", name);

a) name =

name

b) name =

followed by funk characters

c) name = \nname

d) none



34) int a = 0, b = 2;

if (a = 0)

b = 0;

else

b *= 10;

what is the value of b?

a) 0 b) 20 c) 2 d) none



35) int x = 2, y = 2, z = 1;

what is the value of x afterh the following statmements?

if (x = y%2)

z = crap

else

crap



a) 0 b) 2 c)1 d)none



37) output?

initially n = -24;

printd (int n)

{

if (n < 0)

{

printf ("-");

n = -n;

}

if (n % 10)

printf ("%d", n);

else

printf ("%d", n/10);



printf ("%d", n);

}

a. -24 b.24 c. d.-224



38) float x, y, z;

scanf ("%f %f", &x, &y);



if input stream contains "4.2 3 2.3 ..." what will x and y contain

after scanf?

a. 4.2, 3.0

b. 4.2, 2.3

c.

d.



39) #define max(a,b) (a>b?b:a)

#define squre(x) x*x



int i = 2, j = 3, k = 1;

printf ("%d %d", max(i,j), squre(k));



output?

a.32 b.23 c.31 d.13



40) struct adr {

char *name;

char *city;

int zip;

};

struct adr *adradr;

which are valid references?



i) adr->name X

ii) adradr->name

iii) adr.zip X

iv) adradr.zip



41) main (x, y)

int x, char *y[];

{

printf ("%d %s", x, y[1]);

}

output when invoked as

prog arg1

a. 1 prog b. 1 arg1 c. 2 prog d. 2 arg1



42) extern int s;

int t;

static int u;

main ()

{

}

which of s, t and u are availeble to a function present in another

file

a. only s

b. s & t

c. s, t, u

d. none





43) main ()

{

}

int a;

f1(){}

f2(){}



which of the functions is int a available for?

a. all of them

b. only f2

c. only f1

d. f1 and f2 only







int a = 'a', d = 'd';

char b = "b", c = "cr";



main ()

{

mixup (a, b, &c);

}

mixup (int p1, char *p2, char **p3)

{

int *temp;

....doesnt matter.....

}



44) what is the value of a after mixup?

a. a b.b c.c d.none of the above



45) what is the value of b after mixup?

a. a b.b c.c d.none of the above



46) main ()

{

char s[] = "T.C.S", *A;

print(s);

}

print (char *p)

{

while (*p != '\0')

{

if (*p != ".")

printf ("%s", *p);

p++;

}

}

output?

a.T.C.S

b.TCS

c.

d. none of the above



47) a question on do ... while

48) a question on % operator





49) main ()

{

int ones, twos, threes, others;

int c;



ones = twos = threes = others = 0;



while ((c = getchar ()) != EOF)

{

switch (c)

{

case '1': ++ones;

case '2': ++twos;

case '3': ++threes;

break;

default: ++others;

break;

}

}

printf ("%d %d", ones, others);

}



if the input is "1a1b1c" what is the output?

a. 13

b.

c. 33

d. 31



Tata Consultancy Services
COBOL Paper

1) Which of these is an invalid dataname?

a) wd-count b) wd_count

c) w4count d) wdcountabcd



2) What is the output of the following program

main ()

{

unsigned int i;



for (i = 10; i >= 0; i--)

printf ("%d", i);

}

a) prints numbers 10 - 0 b) prints nos 10 - 1

c) d) goes into infinite loop



11) What is the value of the following expression?

i = 1;

i << 1 % 2

a) 2 b)

c) 1 d) 0



12) What is the value of the following expression?

i = 1;

i = (i <<= 1 % 2)

a) 2 b)

c) 0 d) erroneous syntax



What is the result?

13) *A + 1 - *A + 3

a) - b) -2

c) 4 d) none of the above



14) &A[5] - &A[1]?

a) b)

c) 4 d)



15) C allows

a) only call by value

b) only call by reference

c) both

d) only call by value and sometimes call by reference



16) The following statement is

" The size of a struct is always equal to the sum

of the sizes of its members"

a) valid b) invalid c) can't say



17) How many x's are printed?

for (i = 0, j = 10; i < j; i++, j--)

printf ("x");

a) 10 b) 5 c) 4 d) none



18) output?

main ()

{

int i = 2, j = 3, k = 1;

swap (i, j)

printf ("%d %d", i, j);

}

swap (int i, int j)

{

int temp;

temp = i; i = j; j = temp;

}

YOU KNOW THE ANSWER



19) main ()

{

int i = 2;

twice (2);

printf ("%d", i);

}

twice (int i)

{

bullshit

}



int i, b[] = {1, 2, 3, 4, 5}, *p;

p = b;

++*p;

p += 2;



20) What is the value of *p;

a) 2 b) 3 c) 4 d) 5

21) What is the value of (p - (&p - 2))?

a) b) 2 c) d)



23) x = fopen (b, c)

what is b?

a) pointer to a character array which contains the filename

b) filename whithin double quotes

c) can be anyone of the above

d) none



24) x = malloc (y). Which of the following statements is correct.

a) x is the size of the memory allocated

b) y points to the memory allocated

t

c) x points to the memory allocated

d) none of the above



25) which is the valid declaration?

a) #typedef struct { int i;}in;

b) typedef struct in {int i;};

c) #typedef struct int {int i;};

d) typedef struct {int i;} in;



26) union {

int no;

char ch;

} u;

What is the output?

u.ch = '2';

u.no = 0;

printf ("%d", u.ch);

a) 2 b) 0 c) null character d) none



27) Which of these are valid declarations?

i) union { ii) union u_tag {

int i; int i;

int j; int j;

}; };



iii) union { iv) union {

int i; int i;

int j; int j;

FILE k; }u;

};



a) all correct b) i, ii, iv

c) ii & iv d)



28) p and q are pointers to the same type of dataitems.

Which of these are valid?

i) *(p+q)

ii) *(p-q)

iii) *p - *q



a) all

b)

c) iii is valid sometimes



29) which are valid?

i) pointers can be added

ii) pointers can be subtracted

iii) integers can be added to pointers

a) all correct b) only i and ii



30) int *i;

float *f;

char *c;

which are the valid castings?

i) (int *) &c

ii) (float *) &c

iii) (char *) &i



31) int i = 20;

printf ("%x", i);

what is the output?

a) x14 b) 14 c) 20 d) none of the above



32) main ()

{

char *name = "name";

change (name);

printf ("%s", name);

}

change (char *name)

{

char *nm = "newname";

name = nm;

}

what is the output?

a) name b) newname c) name = nm not valid

d) function call invalid



33) char name[] = {'n', 'a', 'm', 'e'}

printf ("name = \n%s", name);

a) name =

name

b) name =

followed by funk characters

c) name = \nname

d) none



34) int a = 0, b = 2;

if (a = 0)

b = 0;

else

b *= 10;

what is the value of b?

a) 0 b) 20 c) 2 d) none



35) int x = 2, y = 2, z = 1;

what is the value of x afterh the following statmements?

if (x = y%2)

z = crap

else

crap



a) 0 b) 2 c)1 d)none



37) output?

initially n = -24;

printd (int n)

{

if (n < 0)

{

printf ("-");

n = -n;

}

if (n % 10)

printf ("%d", n);

else

printf ("%d", n/10);



printf ("%d", n);

}

a. -24 b.24 c. d.-224



38) float x, y, z;

scanf ("%f %f", &x, &y);



if input stream contains "4.2 3 2.3 ..." what will x and y contain

after scanf?

a. 4.2, 3.0

b. 4.2, 2.3

c.

d.



39) #define max(a,b) (a>b?b:a)

#define squre(x) x*x



int i = 2, j = 3, k = 1;

printf ("%d %d", max(i,j), squre(k));



output?

a.32 b.23 c.31 d.13



40) struct adr {

char *name;

char *city;

int zip;

};

struct adr *adradr;

which are valid references?



i) adr->name X

ii) adradr->name

iii) adr.zip X

iv) adradr.zip



41) main (x, y)

int x, char *y[];

{

printf ("%d %s", x, y[1]);

}

output when invoked as

prog arg1

a. 1 prog b. 1 arg1 c. 2 prog d. 2 arg1



42) extern int s;

int t;

static int u;

main ()

{

}

which of s, t and u are availeble to a function present in another

file

a. only s

b. s & t

c. s, t, u

d. none





43) main ()

{

}

int a;

f1(){}

f2(){}



which of the functions is int a available for?

a. all of them

b. only f2

c. only f1

d. f1 and f2 only







int a = 'a', d = 'd';

char b = "b", c = "cr";



main ()

{

mixup (a, b, &c);

}

mixup (int p1, char *p2, char **p3)

{

int *temp;

....doesnt matter.....

}



44) what is the value of a after mixup?

a. a b.b c.c d.none of the above



45) what is the value of b after mixup?

a. a b.b c.c d.none of the above



46) main ()

{

char s[] = "T.C.S", *A;

print(s);

}

print (char *p)

{

while (*p != '\0')

{

if (*p != ".")

printf ("%s", *p);

p++;

}

}

output?

a.T.C.S

b.TCS

c.

d. none of the above



47) a question on do ... while

48) a question on % operator





49) main ()

{

int ones, twos, threes, others;

int c;



ones = twos = threes = others = 0;



while ((c = getchar ()) != EOF)

{

switch (c)

{

case '1': ++ones;

case '2': ++twos;

case '3': ++threes;

break;

default: ++others;

break;

}

}

printf ("%d %d", ones, others);

}



if the input is "1a1b1c" what is the output?

a. 13

b.

c. 33

d. 31

 

 

 

 

The SpiritOfChennai.com is currently under Load Test  | Under 36-48 Hr Updation Cycle

 

© 2004 All Rights Reserved