Written Test
2-part
• 20 C qns [ 1/2 hour]
• One C Programming [ 1/2 hour]
TECHNICAL SKILLS TEST
1. What will be the output of the following program?
Note: Space is represented by 0.
int main(int argc,char *argv[])
{
char *s=“Hello,world”;
printf(“%10s”,s);
}
a) Hello,world0000000000
b) Hello,worl
c) 0000000000Hello,world
d) Hello,world
ans: d
2. In the below program the getNewString function is defined and it returns a character pointer.
This function is called from main function as defined below. What will be the output of this program?
char *getNewString( )
{
static char xxx[1024];return xxx;}
main( )
{
char g[]=“First”;
char *p;
strcpy(getNewString( ),g);
p=getNewString( );
strcpy(p,“Second”);
printf(“The string is : %s”,getNewString( ));
}
a) The string is : First
b) The string is : FirstSecond
c) The string is
ans: c
: Second
d) Unknown, since the scope of the pointer is local
3. What will be output of the following recursive program?
void printme(int *p)
{
int q=*p;if(*p>0)
{
q=*(p);printme(p);
}
printf(“%d”,q);
}
void main(void)
{
int x[5]={0,16,12,8,1};
printme(&x[4]);
}
a) 0,0,1,2,3,
b)4,8,12,16,0,
c) Error cannot pass elemenpointer
b) 0,16,12,8,4
4. What is the output of the following line in 32-bit OS?
printf(“%d%d\n”,sizeof(‘a’),sizeof(“a”));
a) 4,2
b) 1,1
c) 1,2
d)2,2
5. What is the output of following program?
#include
#include
main( )
{
char str[]=“Welcome to Subex Systems”;
char *ptr;
ptr=strtok(str,“ ”);
while(ptr)
ptr=strtok(NULL,“ ”);
printf(“%s\n”,str);
}
a) Welcome to Subex Systems
b) Error, since NULL is passed to strtok
c)NULL
d) Welcome
6. Study the program below and predict the output
#include
int compute(int (*)(int),int);
int cube(int);
main( )
{
printf(“%d\n”,compute(cube,4));
}
/* no syntax errors please…have fun!!*/
int compute(int(*f),int in)
{
int res=0,i;
for(i=1;i<=in;i++);
res+=(*f)(i);return(res);
}
int cube(int n)
{
return (n*n*n);
}
a) 150
b) 64
c) 125
d)225
7. The output of the following program is
#include
main( )
{
int i=-1;
while(i<5)
{
#ifdef _X_printf(“%d”,i++);
#endif
}
a) Compiler error
b) -1,0,1,2,3,4,
c) Infinite loop
d) 1,2,3,4,
8. The output of the following program is
#include
void f(char* p);
main( )
{
char *p=(char*)l;
f(p);
printf(“%s\n”,p);
}
void f(char *p)
{
char sz[]=”hello”;
p=sz;
a) Runtime error
b) NULL
c)hello
d) Compiler error
9. The output of the following program is
#includestdio.h>
void f(char **p)
{
char *sz=“hello”;
*p=sz;
}
main( )
{
char *p=“NULL”;
f(&p);
printf(“%s\n”,p);
}
a) Compiler error
b) Runtime error
c) hello
d) 1
10. The output of the following program is
#include
main( )
{
int n;if(n<=-1)
{
int x=1
else
{
int x=1;
}
a) Compiler error
b) Unpredictable output
c) 10
d) 1
11. The correct declaration of a pointer “func” to function returning a “char” and taking no parameters is
a) char func( )* func;
b) char (*func)( );
c) char* ( ) func;
d) None of the above
12. The output of the following program is
#include
#define arbit 5
main( )
{
printf(“%d\n”,arbit
}
a) 5
b) 6
c) Compiler error
d) Runtime error
13. Determine which of the following are valid identifiers
i. Return
ii.123 45 6789
iii. Record_1
iv. $Tax
a) iii & iv
b) i & iii
c) i,ii & iv
d) i & iv
14. The output of the following program is
#include
struct x {
int a;
char *b;
}
*p;
main( )
p=(struct x*) 100;
printf(‘%d,%d,%d\n”,p,p+1,&p[2]);
a) 100,108,116
b) Compilation error
c) 100,104,108
d) 100,103,106
15. What is the output of the following?
main( )
int a[5]={5,1,15,20,25};
int i=1;
printf(“\n%d%d”,a[i]++,a[++i]);
a) 2,16
b) 1,15
c) 1,20
d) 2,1
16. What is the output of the following
main( )
int a[5]={5,1,15,20,25};
int i=1;
printf(“\n%d%d”,a[i],a[i++i]);
a) 2,16
b) 1,15
c) 1,20
d) 2,16
16. static float table [2][3]={{1,1,1,2,1,3},{2,1,2,2,2,3}};
What is the value of *(*(table)+1)+1?
a) 2,2
b)1,2
c) 2,1
d) 2,3
17. What is the output of the following program?
#include
main( )
int i,j,x=0;
for(i=0;i<5;++i)
for(j=0;j
x+=(i+j-1);
printf(“%d”,x);
break;
a) 1
b) 0
c) 2
d) None of the above
18. Consider the following v
i. Pointer to a function that accepts 3 integer arguments and returns a floating-point quantity
float(8pf)(int a, int b,int c)
ii. Pointer to a function that accepts 3 pointers to integer quantities as arguments an returns a pointer to a floating-point quantity
float *(*pf)(int *a,int *b,int *c);
a) i is true, ii is true
b) i is true,ii is false
c) i is false, ii is false
d) i is false, ii is true
19. Consider the following statements
i. An integer quantity can be added to or subtracted from a pointer variables.
ii. Two pointer variables can be added.
iii. A pointer variable can be multiplied by a constant
iv. Two pointer variables of same type can be subtracted.
a) Only ii & iv are true
b) Only iii is false
c) Only ii is false
d) Only i & ii are true
20. If p is a pointer ,what does p[i] mean?
a) Same as *(*p+i)
b) Same as *(p+i)
c) Same as *p+i
d) None of the above
Sec 1: 20 tech (full c) 30 min -ve marking 0.5 marks so no guessing.........
Sec 2: Programming - 30 min
1) main(){
int x;
printf("\n%d",x=0,x=20,x=40);
}
ans: 0
2) question om Macro sunstitution ( very easy)
3)main(){
int a[]={1,2,5,6,9,10};
int *b=&a[4];
printf("\n%d",b[-3]);
}
ans:6
4)main(){
int x=0,y=1;
if(x=y) y= 7;
else
y=2;
value of y?
}
ans:7
5)question on switch....
case A:case B...
some code.
ans:runtime error
6)main(){
int n=39,count=0;
while( i & 1) //some condition like this
{
count++;
i>>1;
}
}
value of count?
ans:4
7)main(){
int x=128;
printf("\n%d",1+x++);
}
ans:129
8)printf(const char,...);
main(){
some code
}
ans:complier error
9)main(){
FILE *f1;
FILE *f2;
f1=fopen("myfile","w");
f2=fopen("myfile","w");
fputc('A',f1);
fputc('B',f2);
fclose(f1);
fclose(f2);
}
what does f1 n f2 conatins?
ans:check out this
10)if i/p is code friday monday sunday in commad line then
main(int argc,char *argv[]){
printf("\n%c",**++argv);
}
ans:may be f (check out not sure...)
11)#define max 10
main(){
printf("\n%d",max++);
}
ans:compiler error
12)main(){
int a[]={1,2,9,8,6,3,5,7,8,9};
int *p=a+1;
int *q=a+6;
printf("\n%d",q-p);
}
ans:5
13)main(){
int i=3;
while(i--){
int i=100;
i--;
printf("\n%d",i);
}
}
o/p?
ans: 99,99,99
(this is not infinite loop)
14)what does (*a)[10] means?
ans: a is pointer to an array of 10 inegers
15)a big program involving malloc, strlen, strcmp...
ans:runtime error
|