Instructions:
1.
Please ignore any case-sensitive errors and un-included libraries.
2.
You may use the back of this question paper for any rough
work.
1.
main()
{
int i;
printf("%d", &i)+1;
scanf("%d",
i)-1;
}
a. Runtime
error.
b. Runtime error. Access
violation.
c. Compile error. Illegal syntax
d. None of the
above
2.
main(int
argc, char *argv[])
{
(main && argc) ?
main(argc-1, NULL) : return 0;
}
a.
Runtime error.
b. Compile error. Illegal syntax
c. Gets into
Infinite loop
d. None of the above
3.
main()
{
int i;
float *pf;
pf = (float
*)&i;
*pf = 100.00;
printf("%d",
i);
}
a. Runtime error.
b.
100
c. Some Integer not 100
d. None of the
above
4.
main()
{
int i = 0xff;
printf("%d",
i<<2);
}
a. 4
b.
512
c. 1020
d. 1024
5.
#define
SQR(x) x * x
main()
{
printf("%d",
225/SQR(15));
}
a. 1
b.
225
c. 15
d. none of the above
6.
union
u
{
struct st
{
int i :
4;
int j : 4;
int k : 4;
int
l;
}st;
int
i;
}u;
main()
{
u.i = 100;
printf("%d, %d, %d",u.i, u.st.i,
u.st.l);
}
a. 4, 4, 0
b. 0, 0,
0
c. 100, 4, 0
d. 40, 4, 0
7.
union
u
{
union u
{
int i;
int
j;
}a[10];
int
b[10];
}u;
main()
{
printf("%d", sizeof(u));
printf("%d", sizeof(u.a));
printf("%d",
sizeof(u.a[0].i));
}
a. 4, 4, 0
b. 0, 0,
0
c. 100, 4, 0
d. 40, 4, 0
8.
main()
{
int (*functable[2])(char *format, ...) ={printf,
scanf};
int i = 100;
(*functable[0])("%d", i);
(*functable[1])("%d",
i);
(*functable[1])("%d", i);
(*functable[0])("%d", &i);
}
a. 100, Runtime error.
b. 100, Random number, Random
number, Random number.
c. Compile
error
d. 100, Random number
9.
main()
{
int i, j, *p;
i = 25;
j
= 100;
p = &i; /* Address of i is assigned to pointer
p */
printf("%f", i/(*p)); /* i is divided by
pointer p */
}
a. Runtime error.
b.
1.00000
c. Compile error
d. 0.00000
10.
main()
{
int i, j;
scanf("%d %d"+scanf("%d
%d", &i, &j));
printf("%d %d", i,
j);
}
a. Runtime error.
b. 0,
0
c. Compile error
d. the first two values entered by the
user
11.
main()
{
char *p = "hello world";
p[0] =
'H';
printf("%s",
p);
}
a. Runtime error.
b.
“Hello world” c. Compile error
d. “hello world”
12.
main()
{
char * strA;
char * strB = “I am OK”; memcpy(
strA, strB, 6);
}
a. Runtime
error.
b. “I am OK” c. Compile error
d. “I am O”
13.
How will
you print % character?
a. printf(“\%”) b. printf(“\\%”) c. printf(“%%”)
d. printf(“\%%”)
14.
const
int perplexed = 2;
#define perplexed 3
main()
{
#ifdef
perplexed
#undef perplexed
#define perplexed
4
#endif
printf(“%d”,perplexed);
}
a. 0
b. 2
c. 4
d. none of
the above
15.
struct
Foo
{
char
*pName;
};
main()
{
struct Foo *obj = malloc(sizeof(struct
Foo));
strcpy(obj->pName,"Your Name");
printf("%s", obj->pName);
}
a. “Your Name”
b. compile error
c. “Name” d. Runtime error
16.
struct
Foo
{
char
*pName;
char *pAddress;
};
main()
{
struct Foo *obj =
malloc(sizeof(struct Foo));
obj->pName =
malloc(100);
obj->pAddress =
malloc(100);
strcpy(obj->pName,"Your
Name");
strcpy(obj->pAddress, "Your
Address");
free(obj);
printf("%s",
obj->pName);
printf("%s",
obj->pAddress);
}
a. “Your Name”, “Your
Address” b. “Your Address”, “Your Address” c. “Your Name” “Your Name” d. None of
the above
17.
main()
{
char
*a = "Hello ";
char *b = "World";
printf("%s",
stract(a,b));
}
a. “Hello” b. “Hello World” c.
“HelloWorld” d. None of the above
18.
main()
{
char *a = "Hello ";
char *b = "World";
printf("%s", strcpy(a,b));
}
a. “Hello” b.
“Hello World” c. “HelloWorld” d. None of the above
19.
void
func1(int (*a)[10])
{
printf("Ok it
works");
}
void func2(int
a[][10])
{
printf("Will this
work?");
}
main()
{
int a[10][10];
func1(a);
func2(a);
}
a. “Ok it works” b. “Will this
work?” c. “Ok it works Will this work?” d. None of the above
20.
main()
{
printf("%d, %d", sizeof('c'),
sizeof(100));
}
a. 2, 2
b. 2,
100
c. 4, 100
d. 4, 4
21.
main()
{
int i = 100;
printf("%d",
sizeof(sizeof(i)));
}
a. 2
b.
100
c. 4
d. none of the above
22.
main()
{
int c = 5;
printf("%d",
main|c);
}
a. 1
b. 5
c.
0
d. none of the above
23.
main()
{
char c;
int i =
456;
c = i;
printf("%d",
c);
}
a. 456
b.
-456
c. random number
d. none of the above
24.
oid main
()
{
int x = 10;
printf ("x =
%d, y = %d", x,--x++);
}
a. 10,
10
b. 10, 9
c. 10, 11
d. none of the
above
25.
main()
{
int i =10, j = 20;
printf("%d,
%d\n", j-- , --i);
printf("%d, %d\n", j++ ,
++i);
}
a. 20, 10, 20, 10
b.
20, 9, 20, 10
c. 20, 9, 19, 10
d. 19, 9, 20,
10
26.
main()
{
int x=5;
for(;x==0;x--) {
printf(“x=%d\n”, x--); }
}
a. 4, 3, 2, 1, 0
b.
1, 2, 3, 4, 5
c. 0, 1, 2, 3, 4
d. none of the
above
27.
main()
{
int x=5;
for(;x!=0;x--) {
printf(“x=%d\n”, x--); }
}
a. 5, 4, 3, 2,1
b.
4, 3, 2, 1, 0
c. 5, 3, 1
d. none of the
above
28.
main()
{
int x=5;
{
printf(“x=%d ”, x--);
}
}
a. 5, 3, 1
b. 5, 2,
1,
c. 5, 3, 1, -1, 3
d. –3, -1, 1, 3, 5
29.
main()
{
unsigned int bit=256;
printf(“%d”, bit); }
{
unsigned int bit=512;
printf(“%d”, bit);
}
}
a. 256, 256
b. 512,
512
c. 256, 512
d. Compile error
30.
main()
{
int i;
for(i=0;i<5;i++)
{
printf("%d\n", 1L << i);
}
}
a. 5, 4, 3, 2, 1
b. 0, 1, 2, 3,
4
c. 0, 1, 2, 4, 8
d. 1, 2, 4, 8, 16
31.
main()
{
signed
int bit=512,
i=5;
for(;i;i--)
{
printf("%d\n", bit
= (bit >> (i - (i -1))));
}
}
512, 256, 128,
64, 32
b. 256, 128, 64, 32, 16
c. 128, 64, 32, 16,
8
d. 64, 32, 16, 8, 4
32.
main()
{
signed
int bit=512,
i=5;
for(;i;i--)
{
printf("%d\n", bit
>> (i - (i -1)));
}
}
a. 512,
256, 0, 0, 0
b. 256, 256, 0, 0, 0
c. 512, 512, 512, 512,
512
d. 256, 256, 256, 256, 256
33.
main()
{
if
(!(1&&0))
{
printf("OK I am
done.");
}
else
{
printf(“OK I am gone.”);
}
}
a. OK I am done
b. OK I am
gone
c. compile error
d. none of the above
34.
main()
{
if
((1||0) && (0||1))
{
printf("OK I am
done.");
}
else
{
printf(“OK I am gone.”);
}
}
a. OK I am done
b. OK I am
gone
c. compile error
d. none of the above
35.
main()
{
signed
int bit=512, mBit;
{
mBit = ~bit;
bit
= bit & ~bit ;
printf("%d %d", bit,
mBit);
}
}
a. 0, 0
b. 0,
513
c. 512, 0
d. 0, -513