Arjun Suresh (talk | contribs) |
Arjun Suresh (talk | contribs) |
||
Line 842: | Line 842: | ||
-'''(d)''' Compiler error | -'''(d)''' Compiler error | ||
− | + | ||
− | '''31. Consider the following program:''' | + | {'''31. Consider the following program:''' |
<syntaxhighlight lang="c"> | <syntaxhighlight lang="c"> | ||
#include<stdio.h> | #include<stdio.h> | ||
Line 855: | Line 855: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
'''What is the output of this program?''' | '''What is the output of this program?''' | ||
− | + | |type="{}" | |
− | + | /} | |
+ | { 1 } | ||
+ | </quiz> | ||
'''32. Consider the following program:''' | '''32. Consider the following program:''' | ||
<syntaxhighlight lang="c"> | <syntaxhighlight lang="c"> |
<quiz display="simple"> {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> |type="()" /} -(a) How are you?
+(b) are you?
-(c) are
-(d) No output
{ 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> |type="()" /} -(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
{ 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> |type="()" /} -(a)25
-(b) 30
-(c) 36
+(d) Undefined Behavior
{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> |type="()" /} +(a) 5
-(b) 4
-(c) 3
-(d) None of these
{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> |type="()" /} -(a) 5 2
-(b) 2 5
-(c) 7 7
+(d) 7 2
{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> |type="()" /} +(a) 2 3 5 6
-(b) 2 3 4 5
-(c) 4 5 0 0
-(d) none of the above
{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> |type="()" /} -(a) ab
-(b) cd
-(c) ef
+(d) gh
{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 = 0; 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(2, 5, 7));
return 0;
} </syntaxhighlight> |type="()" /} +(a) 12
-(b) 5
-(c) 7
-(d) 15
{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> |type="()" /} -(a) 10
+(b) 15
-(c) 6
-(d) 7
{ 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> |type="()" /} -(a) 5
-(b) 10
+(c) Compile Error
-(d) Garbage value
{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> |type="()" /} -(a) 125
+(b) 13
-(c) 17
-(d) None of above
{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> |type="()" /} -(a) 135
-(b) +INF
+(c) -121
-(d) -8
{ 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> |type="()" /} -(a) Equal
-(b) Greater
-(c) Lesser
+(d) Compile Error
{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? |type="()" /} +(a) f3 only
-(b) f1 and f3
-(c) f1 and f2
-(d) f1, f2, and f3
{ 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> |type="()" /} -(a) i=4 j=4
+(b) i=3 j=4
-(c) i=5 j=4
-(d) the behavior is undefined
{ 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> |type="()" /} +(a) 5 5 5 5
-(b) 3 5 3 5
-(c) 5 3 3 5
-(d) none of the above
{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> |type="()" /} +(a)0 1 2 0
-(b) 0 1 2 1
-(c) 1 2 0 1
-(d) 0 2 1 1
{ Consider the following code segment:
<syntaxhighlight lang="c">
typedef int (*test)(float*, float*);
test tmp;
</syntaxhighlight>
What is the type of tmp?
|type="()"
/} -(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
{ 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> |type="()" /} -(a) 5
-(b) 6
+(c) 9
-(d) none of the above
{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> |type="()" /} -(a) 3
+(b) 5
-(c) 6
-(d) 7
{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> |type="()" /} -(a) Compile Error
-(b) 2 1
+(c) 2 5
-(d) none of the above
{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> |type="()" /} -(a) 8
+(b) 9
-(c) 7
-(d) none of the above
{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? |type="()" /} +(a) $x^n$
-(b) $x×n$
-(c) $n^x$
-(d) none of the above
{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> |type="()" /} -(a) 5
-(b) 4
+(c) 3
-(d) 0
{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> |type="()" /} -(a) Hello
-(b) World
+(c) HelloWorld
-(d) Compile Error
{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> |type="()" /} -(a) Equal
-(b) Not Equal
-(c) Compiler Dependent
+(d) Compile Error
{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> |type="()" /} -(a) Hello
-(b) Ifmmp
-(c) Compile Error
+(d) Segmentation fault
{What is the output of the following program?
<syntaxhighlight lang="c">
int main() {
char s[] = "Hello World"; int i = 0; while(*(s++)) i++; printf("%d",i);
return 0;
} </syntaxhighlight> |type="()" /} -(a) Segmentation Fault
+(b) Compile Error
-(c) 12
-(d) 0
{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> |type="()" /} +(a) 1 2
-(b) 1 1
-(c) 10 11
-(d) 10 10
{What is the output of the following program?
<syntaxhighlight lang="c">
int begin() {
printf("Hello\n");
return 0;
} </syntaxhighlight> |type="()" /} +(a) Hello
-(b) Link error
-(c) Segmentation fault
-(d) Compiler error
{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? |type="{}" /} { 1 }
</quiz> 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"> {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> |type="()" /} -(a) How are you?
+(b) are you?
-(c) are
-(d) No output
{ 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> |type="()" /} -(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
{ 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> |type="()" /} -(a)25
-(b) 30
-(c) 36
+(d) Undefined Behavior
{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> |type="()" /} +(a) 5
-(b) 4
-(c) 3
-(d) None of these
{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> |type="()" /} -(a) 5 2
-(b) 2 5
-(c) 7 7
+(d) 7 2
{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> |type="()" /} +(a) 2 3 5 6
-(b) 2 3 4 5
-(c) 4 5 0 0
-(d) none of the above
{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> |type="()" /} -(a) ab
-(b) cd
-(c) ef
+(d) gh
{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 = 0; 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(2, 5, 7));
return 0;
} </syntaxhighlight> |type="()" /} +(a) 12
-(b) 5
-(c) 7
-(d) 15
{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> |type="()" /} -(a) 10
+(b) 15
-(c) 6
-(d) 7
{ 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> |type="()" /} -(a) 5
-(b) 10
+(c) Compile Error
-(d) Garbage value
{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> |type="()" /} -(a) 125
+(b) 13
-(c) 17
-(d) None of above
{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> |type="()" /} -(a) 135
-(b) +INF
+(c) -121
-(d) -8
{ 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> |type="()" /} -(a) Equal
-(b) Greater
-(c) Lesser
+(d) Compile Error
{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? |type="()" /} +(a) f3 only
-(b) f1 and f3
-(c) f1 and f2
-(d) f1, f2, and f3
{ 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> |type="()" /} -(a) i=4 j=4
+(b) i=3 j=4
-(c) i=5 j=4
-(d) the behavior is undefined
{ 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> |type="()" /} +(a) 5 5 5 5
-(b) 3 5 3 5
-(c) 5 3 3 5
-(d) none of the above
{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> |type="()" /} +(a)0 1 2 0
-(b) 0 1 2 1
-(c) 1 2 0 1
-(d) 0 2 1 1
{ Consider the following code segment:
<syntaxhighlight lang="c">
typedef int (*test)(float*, float*);
test tmp;
</syntaxhighlight>
What is the type of tmp?
|type="()"
/} -(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
{ 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> |type="()" /} -(a) 5
-(b) 6
+(c) 9
-(d) none of the above
{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> |type="()" /} -(a) 3
+(b) 5
-(c) 6
-(d) 7
{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> |type="()" /} -(a) Compile Error
-(b) 2 1
+(c) 2 5
-(d) none of the above
{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> |type="()" /} -(a) 8
+(b) 9
-(c) 7
-(d) none of the above
{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? |type="()" /} +(a) $x^n$
-(b) $x×n$
-(c) $n^x$
-(d) none of the above
{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> |type="()" /} -(a) 5
-(b) 4
+(c) 3
-(d) 0
{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> |type="()" /} -(a) Hello
-(b) World
+(c) HelloWorld
-(d) Compile Error
{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> |type="()" /} -(a) Equal
-(b) Not Equal
-(c) Compiler Dependent
+(d) Compile Error
{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> |type="()" /} -(a) Hello
-(b) Ifmmp
-(c) Compile Error
+(d) Segmentation fault
{What is the output of the following program?
<syntaxhighlight lang="c">
int main() {
char s[] = "Hello World"; int i = 0; while(*(s++)) i++; printf("%d",i);
return 0;
} </syntaxhighlight> |type="()" /} -(a) Segmentation Fault
+(b) Compile Error
-(c) 12
-(d) 0
{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> |type="()" /} +(a) 1 2
-(b) 1 1
-(c) 10 11
-(d) 10 10
{What is the output of the following program?
<syntaxhighlight lang="c">
int begin() {
printf("Hello\n");
return 0;
} </syntaxhighlight> |type="()" /} +(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: