sonata 1





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

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


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

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

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

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

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

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

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

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

11. 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"

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

13. In the following code, is  p2 
an integer or an integer
pointer?
                    
typedef int*
ptr
                    
ptr p1,p2;
           
Ans. Integer pointer

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


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

16. What is the difference between the following
declarations?
                   
const char
*s;
                   
char const *s;
           
Ans. No difference

17. What is
the difference between the following
declarations?
                   
const char *const
s;            char
const *const s;
           
Ans. No difference

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

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

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

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

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


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


24. Would the following
program
compile?
                   
main()
                   
{
                       
int
a=10,*j;
                       
void *k;<
BR>                       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

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

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

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


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

29. A switch statement cannot
include
        a) constants as
arguments                                         
b) constant expression as arguments
       
c) string as an
argument                                        
d) None of the above

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

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

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



0 comments:

Post a Comment