Saturday, August 6, 2011

HCL SYSTEM SOFTWARE Sample Papers - 3 III

Icon from Nuvola icon theme for KDE 3.x.Image via WikipediaSection C

Section C (Programming Skills) Answer the questions based on the following program

STRUCT DOUBLELIST
{ DOUBLE CLINKED
INT DET; LIST VOID
STRUCT PREVIOUS; (BE GIVEN AND A PROCEDURE TO DELETE)
STRUCT NEW; (AN ELEMENT WILL BE GIVEN)
}
DELETE(STRUCT NODE)
{NODE-PREV-NEXT NODE-NEXT;
NODE-NEXT-PREV NODE-PREV;
IF(NODE==HEAD)
NODE
}


1. In what case the prev was
(a) All cases
(b) It does not work for the last element
(c) It does not for the first element
(d) None of these
Answer the questions based on the following program
VOID FUNCTION(INT KK)
{KK+=20;
}
VOID FUNCTION (INT K)
INT MM,N=&M
KN = K
KN+-=10;
}

2. What is the output of the following program
main()
{ int var=25,varp;
varp=&var;
varp p = 10;
fnc(varp)
printf("%d%d,var,varp);
}
(a) 20,55
(b) 35,35
(c) 25,25
(d)55,55

3. Here is the structure declaration of a doubly linked list
struct dlink {
int nodeid;
struct dlink *next;
struct dlink *prev;
} dlink_t;
A pointer of the head of the linked list is maintained as a global variable, whose definition is dlink_t *head; The funtion
remove_element(dlink_t *rp), needs to remove the node pointed to the rp and adjust the head. The first node's prev
and the last node's next are NULL. remove_element(dlink_t *rp)
{
rp->prev->next = rp->next;
rp->next->prev = rp->prev;
if( head == rp)
head = rp->next;
} Which of the following statement is true about the fution remove_element
a) It work when head is the same as rp
b) It does not work when rp is the last element on the list
c) It sets the head of the list correctly
d) It works in all cases
Answer :B) It does...

4. Consider the following function written in c:
#define NULL 0
char *
index(sp,c)
register char *sp,c;
{
do {
if(*sp == c)
return (sp);
} while (*sp++);
return NULL;
}
The first argument sp, is a pointer to a C string. The second argument, c, is a character. This function scarches
for the character c, in the string. If it is found a pointer to that location is returned else NULL is returned. This
function works
a) Always
b) Always, but fails when the first byte contais the character c
c) works when c is a non NULL character only
d) Works only when the character c is found in the string
ans: a

5. What is printed when this program is executed
main()
{
printf ("%d\n",f(7));
}
f(X)
{
if ( <= 4)
return x;
return f(--x);
}
a) 4
b) 5
c) 6
d) 7
ans: a

6. On a machine where pointers are 4 bytes long, what happens when the following code is executed.
main()
{
int x=0,*p=0;
x++; p++;
printf ("%d and %d\n",x,p);
}
a) 1 and 1 is printed
b) 1 and 4 is printed
c) 4 and 4 is printed
d) causes an exception

7. Which of the following is the correct code for strcpy, that is used to copy the contents from src to dest?
a) strcpy (char *dst,char *src)
{
while (*src)
*dst++ = *src++;
}
b) strcpy (char *dst,char *src)
{
while(*dst++ = *src++ )
}
c) strcpy (char *dst,char *src)
{
while(*src)
{ *dst = *src;
dst++; src++;
}
}
d) strcpy(char *dst, char *src)
{
while(*++dst = *++src);
}
ans:b

8. Consider the following program
main()
{
int i=20,*j=&i;
f1(j);
*j+=10;
f2(j);
printf("%d and %d",i,*j);
}
f1(k)
int *k;
{
*k +=15;
}
f2(x)
int *x;
{
int m=*x,*n=&m;
*n += 10;
}
The values printed by the program will be
a) 20 and 55
b) 20 and 45
c) 45 and 45
d) 45 and 55
e) 35 and 35

9. what is printed when the following program is compiled and executed?
int
func (int x)
{
if (x<=0)
return(1);
return func(x -1) +x;
}
main()
{
printf("%d\n",func(5));
}
a) 12
b) 16
c) 15
d) 11
10. COnsider the following of c code in two files which will be linked together and executed .
a.c: int i;
main()
{
i = 30;
f1();
printf("%d\n",i)
}
b.c: static int f1()
{
i+=10;
} which of the following is true ?
a) a.c will fail in compilation phase because f1() is not declared
b) b.c will fail in compilation because the variable i is not declared
c) will print 30
d) will print 40
e) a & b
ans: e) a & b

11. Consider the following prg
void funca (int *k)
{
*k += 20
}
void funcb (int *x)
{
int m=*x,*n = &m;
*n+=10;
}
main()
{
int var = 25,*varp=&var;
funca(varp);
*varp += 10;
funcb(varp);
printf ("%d and %d\n",var,*varp);
}
The values printed when the above prg is complied and executed are:
a) 20 and 55
b) 20 and 45
c) 45 and 55
d) 55 and 55
e) 35 and 35
ans: d

12. consider the following program:
# include
class x {
public:
int a;
x();
};
x::x() { a=10; cout
class b:public x {
public:
b();
};
b::b() { a=20; cout
main ()
{ b temp;
}
what will be the output of this prg?
a) 10
b) 20
c) 2010
d) 1020
ans: b
Enhanced by Zemanta

0 comments:

Post a Comment

 
Design by Free WordPress Themes | Bloggerized by Lasantha - Premium Blogger Themes | Justin Bieber, Gold Price in India