Sonata Software Placement Papers 2011:

1. Y catches 5 times more fishes than X. If total number of fishes caught by X and Y is 48, then number of fishes caught by X?

Ans: 8

2. Y catches 5 times more fishes than X. If total number of fishes caught by X and Y is 42, then number of fishes caught by X?

Ans: 7

3. If a train covers 600m in 0.5 seconds, how long it will cover in 10 seconds?

Ans: 3000m = 3km

4. The girl's age is twice that of boy, if the boy is four years old. After four years the age

of the girl is

Ans: 12 years

5. Sister's age is twice than that of the brother. If the brother's age is six, what is the sister's age after two years?

Ans: 14 Yrs.

6. Two lemons cost 10 cents. Then one and a half dozen cost

Ans: 90 cents

7. A clock is late by 1 minute 27 seconds in a month. Then how much will it be late in 1 day?

Ans: 2.9 seconds

8. Which of the following figures together will make a triangle?

Ans: a,b,c,d

9. Make a square by drawing only one line

Ans: line 2-5, square 2-3-4-5-2

10. Which of the following is the odd one? crew, constellation, companion, league, participants.

Ans:
companion

11. Opposite of Remote?

(a) Far (b) Near (c) Huge (d) Village

12. Statement A: All great men are ridiculous;

Statement B: I am ridiculous ;

Inference : I am a great man;

(a) True (b) False (c) Not clear

13. Statement: Normal children are active;

Inference: All children are active;

(a) True (b) False (c) Uncertain

14. Next number in the series 1, 1/2, 1/4, 1/8 ?

Ans: 1/16

15. In 6 seconds a light flashes once. In one hour how many times it will flash?

Ans: 601 times

16. At 20% discount, a cycle is sold at a selling price of 2500 Rs. What is the actual price?

Ans: Rs. 3125

17. Statement A: A & B have same age;

Statement B: B is younger than C;

Inference : A is younger than C;

(a) True (b) False (c) Uncertain

18. All chickens lay eggs (True/False)

Ans: False

19. A invests $12000, B invests $8000, C invests $6000 and they got a profit of $1200. How much share A got more than B and C?

Ans: 2/13 and 3/13

20. Point out error, if any, in the following program

main()
{
int i=1;
switch(i)
{
case 1:
printf("\nRadioactive cats have 18 half-lives");
break;
case 1*2+4:
printf("\nBottle for rent -inquire within");
break;
}
}
Ans. No error. Constant expression like 1*2+4 are acceptable in cases of a switch.

21. Point out the error, if any, in the following program

main()
{
int a=10,b;
a>= 5 ? b=100 : b=200;
printf("\n%d",b);
}
Ans. lvalue required in function main(). The second assignment should be written in parenthesis as follows:
a>= 5 ? b=100 : (b=200);

22 In the following code, in which order the functions would be called?

a= f1(23,14)*f2(12/4)+f3();
a) f1, f2, f3 b) f3, f2, f1
c) The order may vary from compiler to compiler d) None of the above

23. What would be the output of the following program?

main()
{
int i=4;
switch(i)
{
default:
printf("\n A mouse is an elephant built by the Japanese");
case 1:
printf(" Breeding rabbits is a hair raising experience");
break;
case 2:
printf("\n Friction is a drag");
break;
case 3:
printf("\n If practice make perfect, then nobody's perfect");
}
}
a) A mouse is an elephant built by the Japanese b) Breeding rabbits is a hare raising experience
c) All of the above d) None of the above

24. What is the output of the following program?

#define SQR(x) (x*x)
main()
{
int a,b=3;
a= SQR(b+2);
printf("%d",a);
}
a) 25 b) 11 c) error d) garbage value



25. In which line of the following, an error would be reported?
1. #define CIRCUM(R) (3.14*R*R);
2. main()
3. {
4. float r=1.0,c;
5. c= CIRCUM(r);
6. printf("\n%f",c);
7. if(CIRCUM(r))==6.28)
8. printf("\nGobbledygook");
9. }
a) line 1 b) line 5 c) line 6 d) line 7

26. What is the type of the variable b in the following declaration?

#define FLOATPTR float*
FLOATPTR a,b;
a) float b) float pointer c) int d) int pointer

27. In the following code;
#include<stdio.h>
main()
{
FILE *fp;
fp= fopen("trial","r");
}
fp points to:
a) The first character in the file.
b) A structure which contains a "char" pointer which points to the first character in the file.
c) The name of the file. d) None of the above.

28. We should not read after a write to a file without an intervening call to fflush(), fseek() or rewind() < TRUE/FALSE>
Ans. True

29. If the program (myprog) is run from the command line as myprog 1 2 3 , What would be the output?

main(int argc, char *argv[])
{
int i;
for(i=0;i<argc;i++)
printf("%s",argv[i]);
}
a) 1 2 3 b) C:\MYPROG.EXE 1 2 3
c) MYP d) None of the above

30. If the following program (myprog) is run from the command line as myprog 1 2 3, What would be the output?

main(int argc, char *argv[])
{
int i,j=0;
for(i=0;i<argc;i++)
j=j+ atoi(argv[i]);
printf("%d",j);
}
a) 1 2 3 b) 6 c) error d) "123"

31. If the following program (myprog) is run from the command line as myprog monday tuesday wednesday thursday? What would be the output?

main(int argc, char *argv[])
{
while(--argc >0)
printf("%s",*++argv);
}
a) myprog monday tuesday wednesday thursday b) monday tuesday wednesday thursday
c) myprog tuesday thursday d) None of the above

32. In the following code, is p2 an integer or an integer pointer?

typedef int* ptr
ptr p1,p2;
Ans. Integer pointer

33. Point out the error in the following program

main()
{
const int x;
x=128;
printf("%d",x);
}
Ans. x should have been initialized where it is declared.

34. What would be the output of the following program?

main()
{
int y=128;
const int x=y;
printf("%d",x);
}
a) 128 b) Garbage value c) Error d) 0

35. What is the difference between the following declarations?

const char *s;
char const *s;
Ans. No difference

36. What would be the output of the following program?

main()
{
char near * near *ptr1;
char near * far *ptr2;
char near * huge *ptr3;
printf("%d %d %d",sizeof(ptr1),sizeof(ptr2),sizeof(ptr3));
}
a) 1 1 1 b) 1 2 4 c) 2 4 4 d) 4 4 4

37. If the following program (myprog) is run from the command line as myprog friday tuesday sunday? What would be the output?

main(int argc, char*argv[])
{
printf("%c",**++argv);
}
a) m b) f c) myprog d) friday

38. If the following program (myprog) is run from the command line as myprog friday tuesday sunday, What would be the output?

main(int argc, char *argv[])
{
printf("%c",*++argv[1]);
}
a) r b) f c) m d) y

39. If the following program (myprog) is run from the command line as myprog friday tuesday sunday, What would be the output?

main(int argc, char *argv[])
{
while(sizeofargv)
printf("%s",argv[--sizeofargv]);
}
a) myprog friday tuesday sunday b) myprog friday tuesday
c) sunday tuesday friday myprog d) sunday tuesday friday

40. Point out the error in the following program

main()
{
int a=10;
void f();
a=f();
printf("\n%d",a);
}
void f()
{
printf("\nHi");
}
Ans. The program is trying to collect the value of a "void" function into an integer variable.

41. In the following program how would you print 50 using p?

main()
{
int a[]={10, 20, 30, 40, 50};
char *p;
p= (char*) a;
}
Ans. printf("\n%d",*((int*)p+4));

42. Would the following program compile?

main()
{
int a=10,*j;
void *k;
j=k=&a;
j++;
k++;
printf("\n%u%u",j,k);
}
a) Yes b) No, the format is incorrect
c) No, the arithmetic operation is not permitted on void pointers
d) No, the arithmetic operation is not permitted on pointers

43. According to ANSI specifications which is the correct way of declaring main() when it receives command line arguments?

a) main(int argc, char *argv[]) b) main(argc,argv) int argc; char *argv[];
c) main() {int argc; char *argv[]; } d) None of the above

44. What error would the following function give on compilation?

f(int a, int b)
{
int a;
a=20;
return a;
}
a) missing parenthesis in the return statement b) The function should be declared as int f(int a, int b)
c) redeclaration of a d) None of the above

45. Point out the error in the following program

main()
{
const char *fun();
*fun()='A';
}
const char *fun()
{
return "Hello";
}
Ans. fun() returns to a "const char" pointer which cannot be modified

46. What would be the output of the following program?

main()
{
const int x=5;
int *ptrx;
ptrx=&x;
*ptrx=10;
printf("%d",x);
}
a) 5 b) 10 c) Error d) Garbage value

47. A switch statement cannot include

a) constants as arguments b) constant expression as arguments
c) string as an argument d) None of the above

48. How long the following program will run?

main()
{
printf("\nSonata Software");
main();
}
a) infinite loop b) until the stack overflows
c) All of the above d) None of the above

49. On combining the following statements, you will get char*p; p=malloc(100);

a) char *p= malloc(100) b) p= (char*)malloc(100)
c) All of the above d) None of the above

50. What is the output of the following program?

main()
{
int n=5;
printf("\nn=%*d",n,n);
}
a) n=5 b) n=5 c) n= 5 d) error