1. Point out error, if any, in the
following program
int 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;
}
}
Answer: No error.
Constant expression like
1*2+4 is acceptable in cases of a switch.
2. Point out the
error, if any, in the
following program
int main(){
int a=10,b;
a>= 5? b=100:
b=200;
printf("\n%d",b);
}
Answer: lvalue required in function main
(). The second assignment should be written in parenthesis as follows:
a>= 5? b=100: (b=200);
3. We should not
read after a write to a file without an intervening call to fflush(), fseek()
or rewind() < TRUE/FALSE>
Answer: True
4. In the
following code, is p2 an integer or an integer pointer?
typedef int* ptr
ptr p1,p2;
Answer: Integer pointer
5. Point out the error in the following
program
main(){
const int x;
x=128;
printf("%d",x);
}
Answer: x should
have been initialized where it is declared.
6. What is the
difference between the following declarations?
const char *s;
char const *s;
Answer: No difference
7. What is the
difference between the following declarations?
const char *const s;
char const *const s;
Answer: No difference
8. Point out the error in the following
program
main(){
int a=10;
void f();
a=f();
printf("\n%d",a);
}
void f(){
printf("\nHi");
}
Answer: The program is trying to collect the value of a "void" function into
an integer variable.
9. In the
following program how would you print 50 using p?
main(){
int a[]={10, 20, 30,
40, 50};
char *p;
p= (char*) a;
}
Answer: printf("\n%d",*((int*)p+4));
10. Point out the error in the following
program
main(){
const char *fun();
*fun()='A';
}
const char *fun(){
return "Hello";
}
Answer: fun() returns
to a "const char" pointer which cannot be modified
11. For the following C program
int x(char *a){
a=(char *) malloc(10*sizeof(char));
*a="hello";
}
main(){
char *a="new";
x(a);
printf("%s",a);
}
The output is
a) Hello
b) New
c) Hello new
d) Run time error
Answer: (b)
12.
int f()
void main(){
f(1);
f(1,2);
f(1,2,3);
}
f(int i,int j,int k){
printf("%d %d
%d",i,j,k);
}
What are the numbers of syntax errors in
the above?
Answer: None.
14.
void main(){
int i=7;
printf("%d",i++*i++);
}
Answer: 56
15.
#define one 0
#ifdef one
printf("oneis defined ");
#ifndef one
printf("one is
not defined ");
Answer: "one is defined"
16.
void main(){
intcount=10,*temp,sum=0;
temp=&count;
*temp=20;
temp=∑
*temp=count;
printf("%d %d %d
",count,*temp,sum);
}
Answer: 20 20 20
17. There was
question in c working only on UNIX machine with pattern matching.
18. What is alloca
()
Answer: It
allocates and frees memory after use/after getting out of scope
19.
main(){
static i=3;
printf("%d",i--);
return i>0 ?
main():0;
}
Answer: 321
20.
char *foo(){
char result[100]);
strcpy(result,"anything is good");
return(result);
}
void main(){
char *j;
j=foo()
printf("%s",j);
}
Answer: anything is good.
21.
void main(){
char *s[]={ "dharma","hewlettpackard","siemens","ibm"};
char **p;
p=s;
printf("%s",++*p);
printf("%s",*p++);
printf("%s",++*p);
}
Answer: "harma" (p->add(dharma) && (*p)->harma)
"harma" (after printing, p->add(hewlett-packard)
&&(*p)->harma)
"ewlett-packard"
22.
void main(){
int d=5;
printf("%f",d);
}
Answer: Undefined
23.
void main(){
int i;
for(i=1;i<4,i++)
switch(i)
case 1: printf("%d",i);break;
{
case 2:printf("%d",i);break;
case 3:printf("%d",i);break;
}
switch(i) case 4:printf("%d",i);
}
Answer: 1,2,3,4
24.
void main(){
char *s="\12345s\n";
printf("%d",sizeof(s));
}
Answer: 6
25.
void main(){
unsigned i=1; /* unsigned char k= -1 => k=255; */
signed j=-1; /* char k= -1 => k=65535 */
/* unsigned or
signed int k= -1 =>k=65535 */
if(i<j)
printf("less");
else if(i>j)
printf("greater");
else if(i==j)
printf("equal");
}
Answer: less
26.
void main(){
float j;
j=1000*1000;
printf("%f",j);
}
1. 1000000
2. Overflow
3. Error
4. None
Answer: 4
27.
How do you declare an array of N pointers to functions
returning pointers to functions returning pointers to characters?
Answer: The
first part of this question can be answered in at least three ways:
28.
#define MAN(x,y)
(x)>(y)?(x):(y){
inti=10;
j=5;
k=0;
k= MAX(i++,++j)
printf(%d %d %d
%d,i,j,k)
}
Ans. 10 5 0
29.
What is the output of the following?
int i;
i=1;
i=i+2*i++;
printf(%d,i);
Ans. 4
30.
FILE *fp1,*fp2;
fp1=fopen("one","w")
fp2=fopen("one","w")
fputc('A',fp1)
fputc('B',fp2)
fclose(fp1)
fclose(fp2)
}
a.error
b.
c.
d.
Answer: No error. But it will over
writes on same file.
31. For the following C program
#define AREA(x)(3.14*x*x)
main(){
floatr1=6.25,r2=2.5,a;
a=AREA(r1);
printf("\n Area
of the circle is %f", a);
a=AREA(r2);
printf("\n Area
of the circle is %f", a);
}
32. What is the output?
Ans. Area of the circle is 122.656250
Area of the circle is 19.625000
33
main(){
static i=3;
printf("%d",i--);
return i>0 ?
main():0;
}
Answer: 321
34
int f()
void main(){
f(1);
f(1,2);
f(1,2,3);
}
f(int i,int j,int k){
printf("%d %d
%d",i,j,k);
}
35. What is the
number of syntax errors in the above?
Answer: None.
36.
void main(){
int i=7;
printf("%d",i++*i++);
}
Ans: 56
37.
#define one 0
#ifdef one
printf("oneis defined ");
#ifndef one
printf("one is
not defined ");
Ans: "one is
defined"
38.
void main(){
intcount=10,*temp,sum=0;
temp=&count;
*temp=20;
temp=∑
*temp=count;
printf("%d %d %d
",count,*temp,sum);
}
Answer: 20 20 20
39. For the following C program
void main(){
unsigned char c;
for(c=0;c!=256;c=c+2)
printf("%d",c);
getch();
}
(a) 127
(b) 128
(c) 256
(d) Infinitely
Answer: (d)
40. For the following program
int i;
i=2;
i++;
if(i==4){
printf(i=4);
}
else{
printf(i=3);
}
41. Output of the program?
a) 4
b) 3
c) unpredictable
d) None
Answer: (b)
42. What is FAT?
a) File Allocation Table
b) File Access Table
c) FDD Allocation Table
d) None of the above
Answer: (a)
28.
struct list{
int x;
struct list *next;
}*head;
struct head.x =100
Is the above
assignment to pointer is correct or wrong?
Answer: Wrong
If you have any
questions in above Mock test of c programming
with answer, you can ask here.
No comments:
Post a Comment