27-03-2012, 11:45 AM
TCS Talent Test Paper (Technical -C Test)
1. The C language terminator is
(a) semicolon (b) colon © period (d) exclamation mark
2. What is false about the following -- A compound statement is
(a) A set of simple statements (b) Demarcated on either side by curly brackets
© 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
© 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
© 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) They are local
© They are not initialized 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)");
© return(a*a*a); (d) printf("%d",sqr(a));
7. Which of the following about the C comments is incorrect ?
(a) Comments can go over multiple lines
(b) Comments can start any where in the line
© 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 © 1 (d) 6
9. 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 © 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
© y!=10 && x>=50 (d) None of these
11. Which of the following is not an infinite loop ?
(a) while(1)\{ ..} (b) for(;{...}
© x=0; (d) # define TRUE 0
do{ /*x unaltered within the loop*/ ...
...}while(x = = 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 © 0 (d) 2
13. 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; ©p= p+xq; (d)p=p+x/q=q+y;
q=q+y; 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 © -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 ©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] © 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 © 8,8 (d) 8,unpredictable value
22. Identify the in correct expression
(a)a=b=3=4; (b)a=b=c=d=0; ©float a=int b= 3.5; (d)int a; floatb;a=b=3.5;
23. Regarding the scope of the varibles;identify the incorrect statement:
(a) automatic variables are automatically initialized to 0 (b) static variables are are automatically initialized to 0
© the address of a register variable is not accessible (d) static variables cannot be initialized 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;
© 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 exponentiation is
(a) * (b) ^ © % (d) not available
26. Which of the following is invalid
(a) a+=b (b) a*=b © 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 ©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
© computes simple interest for four year (d) computes compound interest for 1 year
29. a=0;
while(a<5)
printf("%d\n",a++);
How many times does the loop occurs?
(a) infinite (b)5 ©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 © 5 (d) None of these
31. What is incorrect among the following
A recursive function
(a) calls itself (b) is equivalent to a loop
© 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;...}
© 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 ©11 (d) infinite
34.Pick out the odd one out
(a) malloc() (b) calloc() © 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 © -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 © 7 (d) None
37.Consider the following program segment
int n,sum=1;
switch(n)
{
case 2um=sum+2;
case 3um*=2;
break;
defaultum=0;
}
If n=2, what is the value of sum
(a) 0 (b) 6 © 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 © 3 only (d) All of the above
39. The format specified for hexa decimal is
(a) %d (b) %o © %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 © 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 © 1 (d) 3
43. Int *a[5] refers to
(a) array of pointers (b) pointer to an array © pointer to 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;
© typedef union
{
int n5;
float n6;
} UDT;
(d) #typedef union
{
int n7;
float n8;
} TUDAT;