Wednesday, June 27, 2012

Subject: C    :  C Aptitude for Final Yr CSE Stuents

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.

A compound statement is a list of statements enclosed by braces
A compound statement consists of zero or more statements enclosed in curly ...
A compound statement is any group of valid C statements enclosed in braces.


3.What is true about the following
    C Functions
     a.By default returns an integer
     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.they are local
 
 c.they are not initialised to zero
   d.they are global.

6.Write one statement equalent 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.comments can 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;

If executes true part only

   a.7   b.0
  c.1
  d.6

9.Read the function conv() given below
   conv(int t)
   {
     int u;
     u=5/9 * (t-32);
     return(u);
   }
What
   a.15
   b.0   c.16.1
   d.29

Fahrenheit To Centigrade: 5/9 * (
Fahrenheit - 32); note: .55555 = 5/9. Centigrade To Fahrenheit: ...

10.which of the following represents true statement
either x is inthe range of 10 and 50 or y is zero
     a.x>=20 && x<=50 || y==0;
     b.x>=10 && x<=40 || y==0;
     c.x>=10 && x>50 || y==0;
     d.x>=10 && x<=50 || y==0;

11.Which of the following is not an infinite loop ?
    a.while(1){
        ....
         }
    b.for(;;){
         ...
        }
   c.x=0;
     do{
       /*x unaltered within theloop*/
        ...
       }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 i=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 vlaue 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="Etrance"
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;
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)
elae 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.....
31.what is incorrect among teh following
A recursive functiion
a.calls itself
b.is equivalent to a loop
c.has a termination cond
d.does not have a return value at all
32.which of the following go out of the loopo 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
B
main()
OB {unsigned int i=10;
while(i>=0){
printf("%u",i)
i--;
}
}
how many times the loop wxecuted
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 sigment
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
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
39.teh 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
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......
46.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;

********************************************************************************
Only These Are The Questions Avilable For C Paper.

********************************************************************************
ANSWERS:
-----------

1-5 D,C,D,C,C

6-10 D,C,C,A,D

11-15 D,C,A,A,A

16-20 B,C,D,C,A

21-25 C,D,B,D,A

26-30 C,B,B,A,D

31-35 B,C,C,C,B

36-40 A,B,A,B,B

41-45 A,D,D,D,A

46-50 B,C,C,A,A

// program on FIFO

 # include <stdio.h>
 # include <sys/types.h>
 # include <sys/stat.h>
 # include <fcntl.h>
 int main()
 {
 int fd;
 char buff[100];
 /*creating FIFO */
 if((mkfifo("./MyFifo",S_IFIFO|S_IRWXU|S_IRWXG|S_IRWXO))<0)
 perror("\nmkfifo error...");

 /*creating reader process...*/

 fd=open("./MyFifo",O_RDONLY|O_NONBLOCK);
 while(read(fd,buff,sizeof(buff))>0)
 printf("%s",buff);
 /*creating write process */

 fd=open("./MyFifo",O_WRONLY);
 write(fd,"Hello world",12);
 close(fd); 
 }

Wednesday, June 20, 2012


/* C APTITUDE  PAPER for Final Yr B.Tech Student  */

  1. What will print out?
    main()
    {
    char *k1="hitechskill.com";
    char *k2;
    k2=(char*)malloc(20);
memset (k2, 0, 20);
while(*k2++ = *k1++);
printf("%s\n",k2);

}

Answer:empty string.


2.What will be printed as the result of the operation below:

main()
{
int a=20,b=35;
a=b++ + a++;
b= ++b + ++a;
printf("%d%d\n",a,b);

}
Answer : 5794

3.What will be printed as the result of the operation below:main()
{
int a=5;
printf(?%d,%d,%d\n?,a,a< <2,a>>2);
}
Answer: 5,20,1

4.What will be printed as the result of the operation below:#define swap(a,b) a=a+b;b=a-b;a=a-b;
void main()
{
int m=5, n=10;
swap (m,n);
printf("%d %d\n",m,n);
swap2(m,n);
printf("%d %d\n",m,n);
}

int swap2(int x, int y)
{
int temp;
temp=x;
y=x;
x=temp;
return 0;

}
Answer: 10, 5
10, 5


5.What will be printed as the result of the operation below:main()
{
char *ptr = "SC Systems";
*pt++; printf("%s\n",pt);
pt++;
printf("%s\n",pt);

}
Answer: SC Systems
C Systems

6.What will be printed as the result of the operation below:main()
{
char s1[]="SC";
char s2[]= "Systems";
printf("%s",s1);
}
Answer: SC

7.What will be printed as the result of the operation below:main()
{
char *ptr1;
char *ptr2;

ptr1=(char *)malloc(25);
ptr2=(char *)malloc(25);

strcpy(ptr1,"SC");
strcpy(ptr2,"Systems");
strcat(ptr1,ptr2);

printf("%s",ptr1);

}
Answer: SCSystems


8.The following variable is available in file1.c, who can access it?:static int average;
Answer: all the functions in the file1.c can access the variable.

9.What will be the result of the following code?#define TRUE 0 // some code
while(TRUE)
{

// some code

}
Answer: This will not go into the loop as TRUE is defined as 0.

10.What will be printed as the result of the operation below:int x;
int modifyvalue()
{
return(x+=10);
}

int changevalue(int x)
{
return(x+=1);
}

void main()
{
int x=10;
x++;
changevalue(x);
x++;
modifyvalue();
printf("First output:%d\n",x);

x++;
changevalue(x);
printf("Second output:%d\n",x);
modifyvalue();
printf("Third output:%d\n",x);

}
Answer: 12 , 13 , 13

11.What will be printed as the result of the operation below:main()
{
int x=10, y=15;
x = x++;
y = ++y;
printf("%d %d\n",x,y);

}
Answer: 11, 16

12.What will be printed as the result of the operation below:
main()
{
int a=0;
if(a==0)
printf("Cisco Systems\n");
printf("Cisco Systems\n");

}
Answer: Two lines with "Cisco Systems" will be printed.


/* program on pipe using popen function */
# include <sys/wait.h>
# include <stdio.h>
# include <stdlib.h>
# define MAXLINE 4096

# define PAGER "${PAGER:-more}"

int main(int argc,char*argv[])
{
    char line[MAXLINE];
    FILE *fpin,*fpout;

/*
    if((fpin=fopen(argv[1],"r"))==NULL)
    {
    printf("\nUnable to open %s",argv[1]);
    }
*/

    if((fpout=popen("ls *.c","w"))==NULL)
    perror("popen error...");
   
    while(fgets(line,MAXLINE,fpin))
    {
        if(fputs(line,fpout)==EOF)
        perror("\n fput error...");
    }
   
    if(ferror(fpin))
    perror("fgets error...");
    if(pclose(fpout)==-1)
    perror("pclose error..");
exit(0);
}

   
   

   
   

/* program on pipe using popen fn */
# include <sys/wait.h>
# include <stdio.h>
# include <stdlib.h>
# define MAXLINE 4096

# define PAGER "${PAGER:-more}"

int main(int argc,char*argv[])
{
    char line[MAXLINE];
    FILE *fpin,*fpout;
    if(argc!=2)
    {
    perror("\n usage :- a.out <path name>");
    exit(0);
    }
    if((fpin=fopen(argv[1],"r"))==NULL)
    {
    printf("\nUnable to open %s",argv[1]);
    }
    if((fpout=popen(PAGER,"w"))==NULL)
    perror("popen error...");
   
    while(fgets(line,MAXLINE,fpin))
    {
        if(fputs(line,fpout)==EOF)
        perror("\n fput error...");
    }
   
    if(ferror(fpin))
    perror("fgets error...");
    if(pclose(fpout)==-1)
    perror("pclose error..");
exit(0);
}

   
   

   
   

/* program on  pipe */
# include <stdio.h>
# include <sys/types.h>
# include <stdlib.h>
# define MAXLINE 4096

int main()
{
int n,fd[2];
pid_t pid;
char line[MAXLINE];

if(pipe(fd)<0)
perror("pipe error..");

    if((pid=fork())<0)
    perror("fork error...");
    else
        if(pid>0)
        {
        close(fd[0]);
        write(fd[1],"hello world\n",12);
        }
        else
        {
        close(fd[1]);
        n=read(fd[0],line,MAXLINE);
        write(1,line,n);
        }
exit(0);
}