Arjun Suresh (talk | contribs) |
Arjun Suresh (talk | contribs) |
||
Line 36: | Line 36: | ||
} | } | ||
</syntaxhighlight> | </syntaxhighlight> | ||
− | + | /} | |
-'''(a)''' printf("%d",*(((a+5)+2)+1)); | -'''(a)''' printf("%d",*(((a+5)+2)+1)); | ||
Line 57: | Line 57: | ||
} | } | ||
</syntaxhighlight> | </syntaxhighlight> | ||
+ | /} | ||
-'''(a)'''25 | -'''(a)'''25 | ||
Line 88: | Line 89: | ||
} | } | ||
</syntaxhighlight> | </syntaxhighlight> | ||
+ | /} | ||
+'''(a)''' 5 | +'''(a)''' 5 | ||
Line 110: | Line 112: | ||
} | } | ||
</syntaxhighlight> | </syntaxhighlight> | ||
+ | /} | ||
+'''(a)''' 5 2 | +'''(a)''' 5 2 | ||
Line 133: | Line 136: | ||
} | } | ||
</syntaxhighlight> | </syntaxhighlight> | ||
+ | /} | ||
-'''(a)''' 2 3 5 6 | -'''(a)''' 2 3 5 6 | ||
Line 161: | Line 165: | ||
} | } | ||
</syntaxhighlight> | </syntaxhighlight> | ||
+ | /} | ||
-'''(a)''' ab | -'''(a)''' ab | ||
Line 198: | Line 203: | ||
} | } | ||
</syntaxhighlight> | </syntaxhighlight> | ||
+ | /} | ||
-'''(a)''' 12 | -'''(a)''' 12 | ||
Line 228: | Line 234: | ||
} | } | ||
</syntaxhighlight> | </syntaxhighlight> | ||
+ | /} | ||
'''(a)''' 10 | '''(a)''' 10 | ||
Line 251: | Line 258: | ||
} | } | ||
</syntaxhighlight> | </syntaxhighlight> | ||
+ | /} | ||
'''(a)''' 5 | '''(a)''' 5 | ||
Line 273: | Line 281: | ||
} | } | ||
</syntaxhighlight> | </syntaxhighlight> | ||
+ | /} | ||
'''(a)''' 125 | '''(a)''' 125 | ||
Line 294: | Line 303: | ||
} | } | ||
</syntaxhighlight> | </syntaxhighlight> | ||
+ | /} | ||
'''(a)''' 135 | '''(a)''' 135 | ||
Line 321: | Line 331: | ||
} | } | ||
</syntaxhighlight> | </syntaxhighlight> | ||
+ | /} | ||
'''(a)''' Equal | '''(a)''' Equal | ||
Line 353: | Line 364: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
'''Which of these functions uses pointers incorrectly?''' | '''Which of these functions uses pointers incorrectly?''' | ||
− | + | /} | |
'''(a)''' f3 only | '''(a)''' f3 only | ||
Line 376: | Line 387: | ||
} | } | ||
</syntaxhighlight> | </syntaxhighlight> | ||
+ | /} | ||
-'''(a)''' i=4 j=4 | -'''(a)''' i=4 j=4 | ||
Line 426: | Line 438: | ||
-'''(d)''' none of the above | -'''(d)''' none of the above | ||
− | + | /} | |
{'''17. What is the output of the following program?''' | {'''17. What is the output of the following program?''' | ||
Line 451: | Line 463: | ||
} | } | ||
</syntaxhighlight> | </syntaxhighlight> | ||
+ | /} | ||
+'''(a)'''0 1 2 0 | +'''(a)'''0 1 2 0 | ||
Line 467: | Line 480: | ||
'''What is the type of tmp?''' | '''What is the type of tmp?''' | ||
− | + | /} | |
-'''(a)''' function taking two pointer-to-float arguments and returning pointer to int | -'''(a)''' function taking two pointer-to-float arguments and returning pointer to int | ||
Line 491: | Line 504: | ||
} | } | ||
</syntaxhighlight> | </syntaxhighlight> | ||
+ | /} | ||
-'''(a)''' 5 | -'''(a)''' 5 | ||
Line 518: | Line 532: | ||
} | } | ||
</syntaxhighlight> | </syntaxhighlight> | ||
+ | /} | ||
-'''(a)''' 3 | -'''(a)''' 3 | ||
Line 539: | Line 554: | ||
} | } | ||
</syntaxhighlight> | </syntaxhighlight> | ||
+ | /} | ||
-'''(a)''' Compile Error | -'''(a)''' Compile Error | ||
Line 568: | Line 584: | ||
} | } | ||
</syntaxhighlight> | </syntaxhighlight> | ||
+ | /} | ||
+'''(a)''' 8 | +'''(a)''' 8 | ||
Line 591: | Line 608: | ||
} | } | ||
</syntaxhighlight> | </syntaxhighlight> | ||
+ | |||
'''What function of x and n is computed by foo?''' | '''What function of x and n is computed by foo?''' | ||
− | + | /} | |
+'''(a)''' x^n | +'''(a)''' x^n | ||
Line 624: | Line 642: | ||
} | } | ||
</syntaxhighlight> | </syntaxhighlight> | ||
+ | /} | ||
-'''(a)''' 5 | -'''(a)''' 5 | ||
Line 647: | Line 666: | ||
} | } | ||
</syntaxhighlight> | </syntaxhighlight> | ||
+ | /} | ||
+'''(a)''' Hello | +'''(a)''' Hello | ||
Line 671: | Line 691: | ||
} | } | ||
</syntaxhighlight> | </syntaxhighlight> | ||
+ | /} | ||
-'''(a)''' Equal | -'''(a)''' Equal | ||
Line 703: | Line 724: | ||
} | } | ||
</syntaxhighlight> | </syntaxhighlight> | ||
+ | /} | ||
-'''(a)''' Hello | -'''(a)''' Hello | ||
Line 727: | Line 749: | ||
} | } | ||
</syntaxhighlight> | </syntaxhighlight> | ||
+ | /} | ||
-'''(a)''' Segmentation Fault | -'''(a)''' Segmentation Fault | ||
Line 757: | Line 780: | ||
} | } | ||
</syntaxhighlight> | </syntaxhighlight> | ||
+ | /} | ||
+'''(a)''' 1 2 | +'''(a)''' 1 2 | ||
Line 778: | Line 802: | ||
} | } | ||
</syntaxhighlight> | </syntaxhighlight> | ||
+ | /} | ||
+'''(a)''' Hello | +'''(a)''' Hello | ||
<quiz display="simple"> {1. What is the output of this program? <syntaxhighlight lang="c" >
int main() {
char *ptr; char string[] = "How are you?"; ptr = string; ptr += 4; printf("%s",ptr); return 0;
} </syntaxhighlight> /} -(a) How are you?
+(b) are you?
-(c) are
-(d) No output
{2. Which of the following will print the value 2 for the above code? <syntaxhighlight lang="c">
int main() {
int a[10][20][30] = {0}; a[5][2][1] = 2;
return 0;
} </syntaxhighlight> /} -(a) printf("%d",*(((a+5)+2)+1));
-(b) printf("%d",***((a+5)+2)+1);
+(c) printf("%d",*(*(*(a+5)+2)+1));
-(d) None of these
{3. What is the output of the following program?
<syntaxhighlight lang="c">
int main() {
int a = 5; int b = ++a * a++; printf("%d ",b); return 0;
} </syntaxhighlight> /} -(a)25
-(b) 30
-(c) 36
+(d) Undefined Behavior
{4. What is the output of the following program?
<syntaxhighlight lang="c">
int main() {
int a = 5; switch(a) { default: a = 4; case 6: a--; case 5: a = a+1; case 1: a = a-1; } printf("%d \n",a);
return 0;
} </syntaxhighlight> /} +(a) 5
-(b) 4
-(c) 3
-(d) None of these
{5. What is the output of the following program?
<syntaxhighlight lang="c">
int main() {
int a = 2,b = 5; a = a^b; b = b^a; printf("%d %d",a,b);
return 0;
} </syntaxhighlight> /} +(a) 5 2
-(b) 2 5
-(c) 7 7
-(d) 7 2
{6. What is the output of the following program?
<syntaxhighlight lang="c">
int main() {
int a[][3] = {1, 2, 3, 4, 5, 6}; int (*ptr)[3] = a; printf("%d %d ", (*ptr)[1], (*ptr)[2]); ++ptr; printf("%d %d\n", (*ptr)[1], (*ptr)[2]);
return 0;
} </syntaxhighlight> /} -(a) 2 3 5 6
+(b) 2 3 4 5
-(c) 4 5 0 0
-(d) none of the above
{7. What is the output of the following program?
<syntaxhighlight lang="c">
void f(char**);
int main() {
char *argv[] = { "ab", "cd", "ef", "gh", "ij", "kl" }; f(argv);
return 0;
} void f(char **p) {
char *t; t = (p += sizeof(int))[-1]; printf("%s\n", t);
} </syntaxhighlight> /} -(a) ab
-(b) cd
-(c) ef
+(d) gh
{8. What is the output of the following program?
<syntaxhighlight lang="c">
int ripple(int n, ...) {
int i, j, k; va_list p; k = 0; j = 1; va_start(p, n); for (; j < n; ++j) { i = va_arg(p, int); k += i; } va_end(p); return k;
} int main() {
printf("%d\n", ripple(3, 5, 7));
return 0;
} </syntaxhighlight> /} -(a) 12
-(b) 5
+(c) 7
-(d) 15
{9. What is the output of the following program?
<syntaxhighlight lang="c">
int counter(int i) {
static int count = 0; count = count + i; return count;
} { int main() {
int i, j; for (i = 0; i <= 5; i++) j = counter(i); printf("%d\n", j);
return 0;
} </syntaxhighlight> /} (a) 10
(b) 15
(c) 6
(d) 7
{10. What is the output of the following program?
<syntaxhighlight lang="c">
int main() {
const int x = 5; const int *ptrx; ptrx = &x; *ptrx = 10; printf("%d\n", x);
return 0;
} </syntaxhighlight> /} (a) 5
(b) 10
(c) Compile Error
(d) Garbage value
{11. What is the output of the following program?
<syntaxhighlight lang="c">
int main() {
int i; i = x*x*x; printf("%d",i);
return 0;
} </syntaxhighlight> /} (a) 125
(b) 13
(c) 17
(d) None of above
{12. What is the output of the following program?
<syntaxhighlight lang="c">
int main() {
char c=125; c=c+10; printf("%d",c);
return 0;
} </syntaxhighlight> /} (a) 135
(b) +INF
(c) -121
(d) -8
{13. What is the output of the following program?
<syntaxhighlight lang="c">
int main() {
int i=10; static int x=i; if(x==i) printf("Equal"); else if(x>i) printf("Greater"); else printf("Lesser");
return 0;
} </syntaxhighlight> /} (a) Equal
(b) Greater
(c) Lesser
(d) Compile Error
{14. Consider the following code segment:
<syntaxhighlight lang="c">
int *f1() {
int x = 10; return &x;
} int *f2() {
int *ptr; *ptr = 10; return ptr;
} int *f3() {
int *ptr; ptr = (int*) malloc(sizeof (*ptr)); return ptr;
} </syntaxhighlight> Which of these functions uses pointers incorrectly? /} (a) f3 only
(b) f1 and f3
(c) f1 and f2
(d) f1, f2, and f3
{15. What is the output of the following program?
<syntaxhighlight lang="c">
int main() {
int i = 3; int j; j = sizeof(++i + ++i); printf("i=%d j=%d\n", i, j);
return 0;
} </syntaxhighlight> /} -(a) i=4 j=4
-(b) i=3 j=4
-(c) i=5 j=4
+(d) the behavior is undefined
{16. What is the output of the following program?
<syntaxhighlight lang="c">
void f1(int*, int); void f2(int*, int); void (*p[2])(int*, int);
int main() {
int a = 3; int b = 5; p[0] = f1; p[1] = f2; p[0](&a, b); printf("%d %d ", a, b); p[1](&a, b); printf("%d %d\n", a, b);
return 0;
}
void f1(int *p, int q) {
int tmp = *p; *p = q; q = tmp;
} void f2(int *p, int q) {
int tmp = *p; *p = q; q = tmp;
} </syntaxhighlight> +(a) 5 5 5 5
-(b) 3 5 3 5
-(c) 5 3 3 5
-(d) none of the above /}
{17. What is the output of the following program? <syntaxhighlight lang="c">
void e(int);
int main() {
int a = 3; e(a); putchar('\n');
return 0;
} void e(int n) {
if (n > 0) { e(--n); printf("%d ", n); e(--n); }
} </syntaxhighlight> /} +(a)0 1 2 0
-(b) 0 1 2 1
-(c) 1 2 0 1
-(d) 0 2 1 1
{18. Consider the following code segment:
<syntaxhighlight lang="c">
typedef int (*test)(float*, float*);
test tmp;
</syntaxhighlight>
What is the type of tmp?
/} -(a) function taking two pointer-to-float arguments and returning pointer to int
-(b) pointer to int
+(c) pointer to function taking two pointer-to-float arguments and returning int
-(d) none of the above
{19. What is the output of the following program?
<syntaxhighlight lang="c">
int main() {
char p; char buf[10] = {1, 2, 3, 4, 5, 6, 9, 8}; p = (buf + 1)[5]; printf("%d\n", p);
return 0;
} </syntaxhighlight> /} -(a) 5
+(b) 6
-(c) 9
-(d) none of the above
{20. What is the output of the following program?
<syntaxhighlight lang="c">
int main() {
struct node { int a; int b; int c; }; struct node s = { 3, 5, 6 }; struct node *pt = &s; printf("%d\n", *((int*)pt+1));
return 0;
} </syntaxhighlight> /} -(a) 3
+(b) 5
-(c) 6
-(d) 7
{21. What is the output of the following program?
<syntaxhighlight lang="c">
int main(void) {
char a[5] = { 1, 2, 3, 4, 5 }; char *ptr = (char*)(&a + 1); printf("%d %d\n", *(a + 1), *(ptr - 1));
return 0;
} </syntaxhighlight> /} -(a) Compile Error
-(b) 2 1
+(c) 2 5
-(d) none of the above
{22. What is the output of the following program?
<syntaxhighlight lang="c">
void foo(int[][3]);
int main(void) {
int a[3][3] = { {1, 2, 3}, {4, 5, 6}, {7, 8, 9} }; foo(a); printf("%d\n", a[2][1]);
return 0;
}
void foo(int b[][3]) {
++b; b[1][1] = 9;
} </syntaxhighlight> /} +(a) 8
-(b) 9
-(c) 7
-(d) none of the above
{23. Consider the following function:
<syntaxhighlight lang="c">
int foo(int x, int n)
{
int val = 1; if (n > 0) { if (n % 2 == 1) val *= x; val *= foo(x * x, n / 2); } return val;
} </syntaxhighlight>
What function of x and n is computed by foo? /} +(a) x^n
-(b) x×n
-(c) nx
-(d) none of the above
{24. What is the output of the following program? <syntaxhighlight lang="c">
int main() {
int a = 0; switch(a) { default: a = 4; case 6: a--; case 5: a = a+1; case 1: a = a-1; } printf("%d \n",a);
return 0;
} </syntaxhighlight> /} -(a) 5
-(b) 4
+(c) 3
-(d) 0
{25. What is the output of the following program?
<syntaxhighlight lang="c">
int main() {
int a = 2; if(a == (1,2)) printf("Hello"); if(a == 1,2) printf("World");
return 0;
} </syntaxhighlight> /} +(a) Hello
-(b) World
-(c) Hello World
-(d) Compile Error
{26. What is the output of the following program?
<syntaxhighlight lang="c">
int main() {
int a = 1,2; int b = (1,2); if(a == b) printf("Equal"); else printf("Not Equal");
return 0;
} </syntaxhighlight> /} -(a) Equal
+(b) Not Equal
-(c) Compiler Dependent
-(d) Compile Error
{27. What is the output of the following program?
<syntaxhighlight lang="c">
void foo(char *);
int main() {
char *string = "Hello"; foo(string); printf("%s",string);
return 0;
}
void foo(char *a) {
while(*a) { *a += 1; a++; }
} </syntaxhighlight> /} -(a) Hello
-(b) Ifmmp
-(c) Compile Error
+(d) Segmentation fault
{28. What is the output of the following program?
<syntaxhighlight lang="c">
int main() {
char s[] = "Opendays2012"; int i = 0; while(*(s++)) i++; printf("%d",i);
return 0;
} </syntaxhighlight> /} -(a) Segmentation Fault
+(b) Compile Error
-(c) 12
-(d) 0
{29. What is the output of the following program?
<syntaxhighlight lang="c">
int a = 10; int main() {
fun(); fun();
return 0;
}
int fun() {
static int a = 1; printf("%d ",a); a++;
return 0;
} </syntaxhighlight> /} +(a) 1 2
-(b) 1 1
-(c) 10 11
-(d) 10 10
{30. What is the output of the following program?
<syntaxhighlight lang="c">
int begin() {
printf("Hello\n");
return 0;
} </syntaxhighlight> /} +(a) Hello
-(b) Link error
-(c) Segmentation fault
-(d) Compiler error
</quiz> 31. Consider the following program: <syntaxhighlight lang="c">
int main() {
int a[10][20][30]={0}; printf("%ld",&a+1 - &a);
return 0;
} </syntaxhighlight> What is the output of this program? Ans:
32. Consider the following program:
<syntaxhighlight lang="c">
int main() {
int a[10][20][30] = {0}; int *b = a; int *c = a+1; printf("%ld", c-b);
return 0;
} </syntaxhighlight> What is the output of this program? (You may ignore compiler warnings)
Ans:
33. What is the output of the following program?
<syntaxhighlight lang="c">
int* fun();
int main() {
int *a = fun(); printf("%d",*a);
return 0;
} int* fun() {
int *a =(int*) malloc(sizeof(int)); *a = 10; return a;
} </syntaxhighlight>
Ans:
34. What is the output of the following program?
<syntaxhighlight lang="c">
int main() {
int *a = fun(); printf("%d",*a);
return 0;
} int fun() {
int a = 10; return a;
} </syntaxhighlight>
Ans:
35. What is the output of the following program?
<syntaxhighlight lang="c">
int main() {
char string[] = "Hello"; printf("%lu %lu",sizeof(string),strlen(string));
return 0;
} </syntaxhighlight>
Ans:
36. What is the output of the following program?
<syntaxhighlight lang="c">
int main() {
float a = 0.5; if(a == 0.5) printf("Yes"); else printf("No");
return 0;
} </syntaxhighlight>
Ans:
37. What is the output of the following program?
<syntaxhighlight lang="c">
void foo(char *);
int main() {
char a[100] = {0}; printf("%lu %lu",sizeof(a),strlen(a));
return 0;
} </syntaxhighlight>
Ans:
38. What is the output of the following program?
<syntaxhighlight lang="c">
int main() {
int a; printf("%d",scanf("%d",&a));
return 0;
} </syntaxhighlight>
Ans:
39. If the binary equivalent of 5.375 in normalised form is 0100 0000 1010 1100 0000 0000 0000 0000, what will be the output of the following program? <syntaxhighlight lang="c">
int main() {
float a=5.375; char *p; int i; p = (char*)&a; for(i=0; i<2; i++) printf("%02x ", (unsigned char)(p[i]^p[3-i]));
return 0;
} </syntaxhighlight> Ans:
40. What is the output of the following program?
<syntaxhighlight lang="c">
int main() {
char str[] = {'a','b','c','\0'}; str[0] -= 32; printf("%s",str);
return 0;
} </syntaxhighlight>
Ans:
41. What is the following function doing?
<syntaxhighlight lang="c">
int foo(int n)
{
int sum = 0; while(n > 0) { n = n & n-1; sum++; } return sum;
} </syntaxhighlight> Ans:
42. What is the following function doing? <syntaxhighlight lang="c"> int foo(int a, int b) {
int c = a, d = b; while(a != b) { if(a < b) a = a+c; else b = b+d; } return a;
} </syntaxhighlight> Ans:
43. What is the following function doing? <syntaxhighlight lang="c"> int foo( int a, int b) {
int c = a-b; c = c&(0x80000000); return (!c)*a +(!!c)*b;
} </syntaxhighlight> Ans:
44. What is the following function doing? <syntaxhighlight lang="c"> unsigned fun(unsigned a, unsigned b) {
int i; unsigned j = 0; for(i = 0; i < 32; i++) { j <<= 1; j += !!(a & 0x80000000); a <<= 1; if(j >=b) { j -= b; a++; } } return a;
} </syntaxhighlight> Ans:
45. What is the following function doing? <syntaxhighlight lang="c"> unsigned fun(unsigned int a) {
unsigned int i, x = 0, y = 0, z = 0; for(i = 0; i < 16; i++) { y <<= 2; y += !!(a & 0x80000000) << 1; y += !!(a & 0x40000000); a <<= 2; x = x + (x&1); x <<= 1; z <<= 1; if(x + 1 <= y) { x++; z++;
y-=x;
} } return z;
} </syntaxhighlight> Ans:
46. Write the code to dynamically allocate a 2-D array of size m x n.
Ans:
47. Declare a pointer to a function accepting an integer and returning void.
Ans:
48. Write the condition so that the below code outputs <math>\unicode{x201C}</math>Hello World<math>\unicode{x201D}</math>. <syntaxhighlight lang="c">
int main() {
if(<condition>) {
printf("Hello ");
} else {
printf("World\n");
}
return 0;
} </syntaxhighlight> Ans:
49. Write a one line code to check if a number is a power of 2.
Ans:
50. Write a one line code to invert the last four bits of an integer.
Ans:
<quiz display="simple"> {1. What is the output of this program? <syntaxhighlight lang="c" >
int main() {
char *ptr; char string[] = "How are you?"; ptr = string; ptr += 4; printf("%s",ptr); return 0;
} </syntaxhighlight> /} -(a) How are you?
+(b) are you?
-(c) are
-(d) No output
{2. Which of the following will print the value 2 for the above code? <syntaxhighlight lang="c">
int main() {
int a[10][20][30] = {0}; a[5][2][1] = 2;
return 0;
} </syntaxhighlight> |} -(a) printf("%d",*(((a+5)+2)+1));
-(b) printf("%d",***((a+5)+2)+1);
+(c) printf("%d",*(*(*(a+5)+2)+1));
-(d) None of these
{3. What is the output of the following program?
<syntaxhighlight lang="c">
int main() {
int a = 5; int b = ++a * a++; printf("%d ",b); return 0;
} </syntaxhighlight> -(a)25
-(b) 30
-(c) 36
+(d) Undefined Behavior
{4. What is the output of the following program?
<syntaxhighlight lang="c">
int main() {
int a = 5; switch(a) { default: a = 4; case 6: a--; case 5: a = a+1; case 1: a = a-1; } printf("%d \n",a);
return 0;
} </syntaxhighlight> +(a) 5
-(b) 4
-(c) 3
-(d) None of these
{5. What is the output of the following program?
<syntaxhighlight lang="c">
int main() {
int a = 2,b = 5; a = a^b; b = b^a; printf("%d %d",a,b);
return 0;
} </syntaxhighlight> +(a) 5 2
-(b) 2 5
-(c) 7 7
-(d) 7 2
{6. What is the output of the following program?
<syntaxhighlight lang="c">
int main() {
int a[][3] = {1, 2, 3, 4, 5, 6}; int (*ptr)[3] = a; printf("%d %d ", (*ptr)[1], (*ptr)[2]); ++ptr; printf("%d %d\n", (*ptr)[1], (*ptr)[2]);
return 0;
} </syntaxhighlight> -(a) 2 3 5 6
+(b) 2 3 4 5
-(c) 4 5 0 0
-(d) none of the above
{7. What is the output of the following program?
<syntaxhighlight lang="c">
void f(char**);
int main() {
char *argv[] = { "ab", "cd", "ef", "gh", "ij", "kl" }; f(argv);
return 0;
} void f(char **p) {
char *t; t = (p += sizeof(int))[-1]; printf("%s\n", t);
} </syntaxhighlight> -(a) ab
-(b) cd
-(c) ef
+(d) gh
{8. What is the output of the following program?
<syntaxhighlight lang="c">
int ripple(int n, ...) {
int i, j, k; va_list p; k = 0; j = 1; va_start(p, n); for (; j < n; ++j) { i = va_arg(p, int); k += i; } va_end(p); return k;
} int main() {
printf("%d\n", ripple(3, 5, 7));
return 0;
} </syntaxhighlight> -(a) 12
-(b) 5
+(c) 7
-(d) 15
{9. What is the output of the following program?
<syntaxhighlight lang="c">
int counter(int i) {
static int count = 0; count = count + i; return count;
} { int main() {
int i, j; for (i = 0; i <= 5; i++) j = counter(i); printf("%d\n", j);
return 0;
} </syntaxhighlight> (a) 10
(b) 15
(c) 6
(d) 7
{10. What is the output of the following program?
<syntaxhighlight lang="c">
int main() {
const int x = 5; const int *ptrx; ptrx = &x; *ptrx = 10; printf("%d\n", x);
return 0;
} </syntaxhighlight> (a) 5
(b) 10
(c) Compile Error
(d) Garbage value
{11. What is the output of the following program?
<syntaxhighlight lang="c">
int main() {
int i; i = x*x*x; printf("%d",i);
return 0;
} </syntaxhighlight> (a) 125
(b) 13
(c) 17
(d) None of above
{12. What is the output of the following program?
<syntaxhighlight lang="c">
int main() {
char c=125; c=c+10; printf("%d",c);
return 0;
} </syntaxhighlight> (a) 135
(b) +INF
(c) -121
(d) -8
{13. What is the output of the following program?
<syntaxhighlight lang="c">
int main() {
int i=10; static int x=i; if(x==i) printf("Equal"); else if(x>i) printf("Greater"); else printf("Lesser");
return 0;
} </syntaxhighlight> (a) Equal
(b) Greater
(c) Lesser
(d) Compile Error
{14. Consider the following code segment:
<syntaxhighlight lang="c">
int *f1() {
int x = 10; return &x;
} int *f2() {
int *ptr; *ptr = 10; return ptr;
} int *f3() {
int *ptr; ptr = (int*) malloc(sizeof (*ptr)); return ptr;
} </syntaxhighlight> Which of these functions uses pointers incorrectly?
(a) f3 only
(b) f1 and f3
(c) f1 and f2
(d) f1, f2, and f3
{15. What is the output of the following program?
<syntaxhighlight lang="c">
int main() {
int i = 3; int j; j = sizeof(++i + ++i); printf("i=%d j=%d\n", i, j);
return 0;
} </syntaxhighlight> -(a) i=4 j=4
-(b) i=3 j=4
-(c) i=5 j=4
+(d) the behavior is undefined
{16. What is the output of the following program?
<syntaxhighlight lang="c">
void f1(int*, int); void f2(int*, int); void (*p[2])(int*, int);
int main() {
int a = 3; int b = 5; p[0] = f1; p[1] = f2; p[0](&a, b); printf("%d %d ", a, b); p[1](&a, b); printf("%d %d\n", a, b);
return 0;
}
void f1(int *p, int q) {
int tmp = *p; *p = q; q = tmp;
} void f2(int *p, int q) {
int tmp = *p; *p = q; q = tmp;
} </syntaxhighlight> +(a) 5 5 5 5
-(b) 3 5 3 5
-(c) 5 3 3 5
-(d) none of the above
{17. What is the output of the following program?
<syntaxhighlight lang="c">
void e(int);
int main() {
int a = 3; e(a); putchar('\n');
return 0;
} void e(int n) {
if (n > 0) { e(--n); printf("%d ", n); e(--n); }
} </syntaxhighlight> +(a)0 1 2 0
-(b) 0 1 2 1
-(c) 1 2 0 1
-(d) 0 2 1 1
{18. Consider the following code segment:
<syntaxhighlight lang="c">
typedef int (*test)(float*, float*);
test tmp;
</syntaxhighlight>
What is the type of tmp?
-(a) function taking two pointer-to-float arguments and returning pointer to int
-(b) pointer to int
+(c) pointer to function taking two pointer-to-float arguments and returning int
-(d) none of the above
{19. What is the output of the following program?
<syntaxhighlight lang="c">
int main() {
char p; char buf[10] = {1, 2, 3, 4, 5, 6, 9, 8}; p = (buf + 1)[5]; printf("%d\n", p);
return 0;
} </syntaxhighlight> -(a) 5
+(b) 6
-(c) 9
-(d) none of the above
{20. What is the output of the following program?
<syntaxhighlight lang="c">
int main() {
struct node { int a; int b; int c; }; struct node s = { 3, 5, 6 }; struct node *pt = &s; printf("%d\n", *((int*)pt+1));
return 0;
} </syntaxhighlight> -(a) 3
+(b) 5
-(c) 6
-(d) 7
{21. What is the output of the following program?
<syntaxhighlight lang="c">
int main(void) {
char a[5] = { 1, 2, 3, 4, 5 }; char *ptr = (char*)(&a + 1); printf("%d %d\n", *(a + 1), *(ptr - 1));
return 0;
} </syntaxhighlight> -(a) Compile Error
-(b) 2 1
+(c) 2 5
-(d) none of the above
{22. What is the output of the following program?
<syntaxhighlight lang="c">
void foo(int[][3]);
int main(void) {
int a[3][3] = { {1, 2, 3}, {4, 5, 6}, {7, 8, 9} }; foo(a); printf("%d\n", a[2][1]);
return 0;
}
void foo(int b[][3]) {
++b; b[1][1] = 9;
} </syntaxhighlight> +(a) 8
-(b) 9
-(c) 7
-(d) none of the above
{23. Consider the following function:
<syntaxhighlight lang="c">
int foo(int x, int n)
{
int val = 1; if (n > 0) { if (n % 2 == 1) val *= x; val *= foo(x * x, n / 2); } return val;
} </syntaxhighlight> What function of x and n is computed by foo?
+(a) x^n
-(b) x×n
-(c) nx
-(d) none of the above
{24. What is the output of the following program? <syntaxhighlight lang="c">
int main() {
int a = 0; switch(a) { default: a = 4; case 6: a--; case 5: a = a+1; case 1: a = a-1; } printf("%d \n",a);
return 0;
} </syntaxhighlight> -(a) 5
-(b) 4
+(c) 3
-(d) 0
{25. What is the output of the following program?
<syntaxhighlight lang="c">
int main() {
int a = 2; if(a == (1,2)) printf("Hello"); if(a == 1,2) printf("World");
return 0;
} </syntaxhighlight> +(a) Hello
-(b) World
-(c) Hello World
-(d) Compile Error
{26. What is the output of the following program?
<syntaxhighlight lang="c">
int main() {
int a = 1,2; int b = (1,2); if(a == b) printf("Equal"); else printf("Not Equal");
return 0;
} </syntaxhighlight> -(a) Equal
+(b) Not Equal
-(c) Compiler Dependent
-(d) Compile Error
{27. What is the output of the following program?
<syntaxhighlight lang="c">
void foo(char *);
int main() {
char *string = "Hello"; foo(string); printf("%s",string);
return 0;
}
void foo(char *a) {
while(*a) { *a += 1; a++; }
} </syntaxhighlight> -(a) Hello
-(b) Ifmmp
-(c) Compile Error
+(d) Segmentation fault
{28. What is the output of the following program?
<syntaxhighlight lang="c">
int main() {
char s[] = "Opendays2012"; int i = 0; while(*(s++)) i++; printf("%d",i);
return 0;
} </syntaxhighlight> -(a) Segmentation Fault
+(b) Compile Error
-(c) 12
-(d) 0
{29. What is the output of the following program?
<syntaxhighlight lang="c">
int a = 10; int main() {
fun(); fun();
return 0;
}
int fun() {
static int a = 1; printf("%d ",a); a++;
return 0;
} </syntaxhighlight> +(a) 1 2
-(b) 1 1
-(c) 10 11
-(d) 10 10
{30. What is the output of the following program?
<syntaxhighlight lang="c">
int begin() {
printf("Hello\n");
return 0;
} </syntaxhighlight> +(a) Hello
-(b) Link error
-(c) Segmentation fault
-(d) Compiler error
</quiz> 31. Consider the following program: <syntaxhighlight lang="c">
int main() {
int a[10][20][30]={0}; printf("%ld",&a+1 - &a);
return 0;
} </syntaxhighlight> What is the output of this program? Ans:
32. Consider the following program:
<syntaxhighlight lang="c">
int main() {
int a[10][20][30] = {0}; int *b = a; int *c = a+1; printf("%ld", c-b);
return 0;
} </syntaxhighlight> What is the output of this program? (You may ignore compiler warnings)
Ans:
33. What is the output of the following program?
<syntaxhighlight lang="c">
int* fun();
int main() {
int *a = fun(); printf("%d",*a);
return 0;
} int* fun() {
int *a =(int*) malloc(sizeof(int)); *a = 10; return a;
} </syntaxhighlight>
Ans:
34. What is the output of the following program?
<syntaxhighlight lang="c">
int main() {
int *a = fun(); printf("%d",*a);
return 0;
} int fun() {
int a = 10; return a;
} </syntaxhighlight>
Ans:
35. What is the output of the following program?
<syntaxhighlight lang="c">
int main() {
char string[] = "Hello"; printf("%lu %lu",sizeof(string),strlen(string));
return 0;
} </syntaxhighlight>
Ans:
36. What is the output of the following program?
<syntaxhighlight lang="c">
int main() {
float a = 0.5; if(a == 0.5) printf("Yes"); else printf("No");
return 0;
} </syntaxhighlight>
Ans:
37. What is the output of the following program?
<syntaxhighlight lang="c">
void foo(char *);
int main() {
char a[100] = {0}; printf("%lu %lu",sizeof(a),strlen(a));
return 0;
} </syntaxhighlight>
Ans:
38. What is the output of the following program?
<syntaxhighlight lang="c">
int main() {
int a; printf("%d",scanf("%d",&a));
return 0;
} </syntaxhighlight>
Ans:
39. If the binary equivalent of 5.375 in normalised form is 0100 0000 1010 1100 0000 0000 0000 0000, what will be the output of the following program? <syntaxhighlight lang="c">
int main() {
float a=5.375; char *p; int i; p = (char*)&a; for(i=0; i<2; i++) printf("%02x ", (unsigned char)(p[i]^p[3-i]));
return 0;
} </syntaxhighlight> Ans:
40. What is the output of the following program?
<syntaxhighlight lang="c">
int main() {
char str[] = {'a','b','c','\0'}; str[0] -= 32; printf("%s",str);
return 0;
} </syntaxhighlight>
Ans:
41. What is the following function doing?
<syntaxhighlight lang="c">
int foo(int n)
{
int sum = 0; while(n > 0) { n = n & n-1; sum++; } return sum;
} </syntaxhighlight> Ans:
42. What is the following function doing? <syntaxhighlight lang="c"> int foo(int a, int b) {
int c = a, d = b; while(a != b) { if(a < b) a = a+c; else b = b+d; } return a;
} </syntaxhighlight> Ans:
43. What is the following function doing? <syntaxhighlight lang="c"> int foo( int a, int b) {
int c = a-b; c = c&(0x80000000); return (!c)*a +(!!c)*b;
} </syntaxhighlight> Ans:
44. What is the following function doing? <syntaxhighlight lang="c"> unsigned fun(unsigned a, unsigned b) {
int i; unsigned j = 0; for(i = 0; i < 32; i++) { j <<= 1; j += !!(a & 0x80000000); a <<= 1; if(j >=b) { j -= b; a++; } } return a;
} </syntaxhighlight> Ans:
45. What is the following function doing? <syntaxhighlight lang="c"> unsigned fun(unsigned int a) {
unsigned int i, x = 0, y = 0, z = 0; for(i = 0; i < 16; i++) { y <<= 2; y += !!(a & 0x80000000) << 1; y += !!(a & 0x40000000); a <<= 2; x = x + (x&1); x <<= 1; z <<= 1; if(x + 1 <= y) { x++; z++;
y-=x;
} } return z;
} </syntaxhighlight> Ans:
46. Write the code to dynamically allocate a 2-D array of size m x n.
Ans:
47. Declare a pointer to a function accepting an integer and returning void.
Ans:
48. Write the condition so that the below code outputs <math>\unicode{x201C}</math>Hello World<math>\unicode{x201D}</math>. <syntaxhighlight lang="c">
int main() {
if(<condition>) {
printf("Hello ");
} else {
printf("World\n");
}
return 0;
} </syntaxhighlight> Ans:
49. Write a one line code to check if a number is a power of 2.
Ans:
50. Write a one line code to invert the last four bits of an integer.
Ans: