Company: HCL Technologies

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.

Q1.
main()
{
int i;
clrscr();
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
Ans: d,printf( ) prints address/garbage of i,
scanf() dont hav & sign, so scans address for i
+1, -1 dont hav any effect on code
Q2.
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
Ans: b) illegal syntax for using return
Q3.
main()
{
int i;
float *pf;
pf = (float *)&i;
*pf = 100.00;
printf(“n %d”, i);
}
a. Runtime error.
b. 100
c. Some Integer not 100
d. None of the above

Ans: d) 0
Q4.
main()
{
int i = 0xff ;
printf(“n%d”, i Type Casting
Q10.
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

Ans: d) two values entered, 3rd will be null pointer assignment
Q11.
main()
{
char *p = “hello world”;
p[0] = ‘H’;
printf(“%s”, p);
}
a. Runtime error.
b. “Hello world”
c. Compile error
d. “hello world”

Ans: b) Hello world
Q12.
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
Ans: c) I am OK is not in ” ”

Q13. How will you print % character?
a. printf(“%”)
b. printf(“\%”)
c. printf(“%%”)
d. printf(“%%”)

Ans: c) printf(” %% “);
Q14.
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
Ans: c)
Q15.
struct Foo
{
char *pName;
};
main()
{
struct Foo *obj = malloc(sizeof(struct Foo));
clrscr();
strcpy(obj->pName,”Your Name”);
printf(“%s”, obj->pName);
}
a. Your Name
b. compile error
c. Name
d. Runtime error

Ans a)
Q16.
struct Foo
{
char *pName;
char *pAddress;
};
main()
{
struct Foo *obj = malloc(sizeof(struct Foo));
clrscr();
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

Ans: d) printd Nothing, as after free(obj), no memory is there containing
obj->pName & pbj->pAddress
Q17.
main()
{
char *a = “Hello “;
char *b = “World”;
clrscr();
printf(“%s”, strcat(a,b));
}
a. Hello
b. Hello World
c. HelloWorld
d. None of the above

Ans: b)
Q18.
main()
{
char *a = “Hello “;
char *b = “World”;
clrscr();
printf(“%s”, strcpy(a,b));
}
a. “Hello”
b. “Hello World”
c. “HelloWorld”
d. None of the above
Ans: d) World, copies World on a, overwrites Hello in a.
Q19.
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 worksWill this work?
d. None of the above
Ans: c)
Q20.
main()
{
printf(“%d, %d”, sizeof(‘c’), sizeof(100));
}
a. 2, 2
b. 2, 100
c. 4, 100
d. 4, 4
Ans: a) 2, 2
Q21.
main()
{
int i = 100;
clrscr();
printf(“%d”, sizeof(sizeof(i)));
}
a. 2
b. 100
c. 4
d. none of the above

Ans: a) 2
Q22.
main()
{
int c = 5;
printf(“%d”, main||c);
}
a. 1
b. 5
c. 0
d. none of the above
Ans: a) 1, if we use main|c then error, illegal use of pointer

Q23.
main()
{
char c;
int i = 456;
clrscr();
c = i;
printf(“%d”, c);
}
a. 456
b. -456
c. random number
d. none of the above
Ans: d) -56
Q24.
void 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

Ans: d) Lvalue required
Q25.
main()
{
int i =10, j = 20;
clrscr();
printf(“%d, %d, “, j– , –i);
printf(“%d, %d “, j++ , ++i);
}
a. 20, 10, 20, 10
b. 20, 9, 20, 10
c. 20, 9, 19, 10
d. 19, 9, 20, 10
Ans: c)
Q26.
main()
{
int x=5;
clrscr();
for(;x==0;x–) {
printf(“x=%dn””, x–);
}
}
a. 4, 3, 2, 1, 0
b. 1, 2, 3, 4, 5
c. 0, 1, 2, 3, 4
d. none of the above
Ans: d) prints nothing, as condition x==0 is False
Q27
main()
{
int x=5;
for(;x!=0;x–) {
printf(“x=%dn”, x–);
}
}
a. 5, 4, 3, 2,1
b. 4, 3, 2, 1, 0
c. 5, 3, 1
d. none of the above
Ans: d) Infinite loop as x is decremented twice, it never be 0
and loop is going on & on

Q28
main()
{
int x=5;
clrscr();
for(;x> (i – (i -1))));
}
}
a. 512, 256, 128, 64, 32
b. 256, 128, 64, 32, 16
c. 128, 64, 32, 16, 8
d. 64, 32, 16, 8, 4
Ans: b)
Q32.
main()
{
signed int bit=512, i=5;
for(;i;i–)
{
printf(“%dn”, 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

Ans: d) bit’s value is not changed
Q33.
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
Ans: a)
Q34
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
Ans: a)
Q35
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
Ans: d)