Function and Recursion · Programming Languages · GATE CSE

Start Practice

Marks 1

1

Consider the following C program. Assume parameters to a function are evaluated from right to left.


#include <studio.h>

int g(int p) { printf("%d", p); return p; }

int h(int q) { printf("%d", q); return q; }

void f(int x, int y) {

   g(x);

   h(y);

}

int main() {

   f(g(10),h(20));

}

Which one of the following options is the CORRECT output of the above C program?

GATE CSE 2024 Set 2
2

Consider the following C program:


#include <stdio.h>
void fX();
int main() {
   fX();
   return 0;}


void fX() {
   char a;
   if ((a = getchar()) != '\n')
       fX();
   if (a != '\n')
       putchar(a);}

Assume that the input to the program from the command line is 1234 followed by a newline character. Which one of the following statements is CORRECT?

GATE CSE 2024 Set 1
3

The integer value printed by the ANSI-C program given below is ___________.


#include<stdio.h>
int funcp(){
    static int x = 1;
    x++ ;
    return x;
}
int main(){
    int x,y;
    x = funcp();
    y = funcp()+x;
    printf("%d\n", (x+y));
    return 0;
}
GATE CSE 2023
4

Consider the following ANSI C function:

int SomeFunction (int x, int y)

{

if ( (x == 1) I I (y == 1)) return 1;

if (x == y) return x;

if (x > y) return SomeFunction(x - y, y);

if (y > x) return SomeFunction(x, y - x);

}

The value returned by SomeFunction(15, 255) is _______.

GATE CSE 2021 Set 2
5
Consider the following C program:

        #include < stdio.h >
         int jumble (int x, int y)  {
               x = 2 * x + y ;
               return x ;
         }
         int main ( )  {
               int x=2, y=5 ;
               y = jumble (y, x) ;
               x = jumble (y, x) ;
               printf ("%d \n", x) ;
               return 0 ;
         }


The value printed by the program is ______.
GATE CSE 2019
6
Consider the following C program:
#include < stdio.h >
  int counter = 0;
  int calc (int a, int b) {
  int c;
  counter++;
  if (b==3) return (a*a*a);
  else {
    c = calc(a, b/3);
    return (c*c*c);
 }
}
int main (){
  calc(4, 81);
  printf ("%d", counter);
}
The output of this program is _____.
GATE CSE 2018
7
Consider the following C program segment.
#include < stdio.h >
int main()
{
    char s1[7] = "1234", *p;
    p = s1 + 2;
   *p = ‘0’;
    printf("%s", s1);
}
What will be printed by the program?
GATE CSE 2015 Set 3
8
Consider the following function written in the C programming language.
void foo(char *a){
 if ( *a && *a != ' '){
     foo(a+1);
     putchar(*a);
   }
}
The output of the above function on input “ABCD EFGH” is
GATE CSE 2015 Set 2
9
What will be the output of the following C program segment?
Char inchar = 'A';
Switch ( inchar ) {
case 'A' : printf ("Choice A\ n") ;
case 'B' :
case 'C' : printf (“Choice B”) ;
case 'D' :
case 'E' :
default : printf ( " No Choice" ) ; }
GATE CSE 2012
10
Which one of the following are essential features of an object-oriented programming language?
i) Abstraction and encapsulation
ii) Strictly-typedness
iii) Type-safe property coupled with sub-type rule
iv) Polymorphism in the presence of inheritance
GATE CSE 2005
11
An Abstract Data Type (ADT) is
GATE CSE 2005
12
Consider the following C function.
float f,(float x, int y) {
    float p, s; int i;
    for (s=1,p=1,i=1; i < y; i++) {
         p *= x/i;
         s+=p;
    }
return s;
}
For large values of y, the return value of the function f best approximates
GATE CSE 2003
13
In the C language
GATE CSE 2002

Marks 2

1

Consider the following C function definition.

int f(int x, int y) {
    for (int i=0; i<y; i++) {
        x=x+x+y;
    }
    return x;
}

Which of the following statements is/are TRUE about the above function?

GATE CSE 2024 Set 1
2

What is printed by the following ANSI C program?


  #include <stdio.h>
  int main(int argc, char *argv[ ]) {
    int a[3][3][3] = {{1, 2, 3, 4, 5, 6, 7, 8, 9},
        {10, 11, 12, 13, 14, 15, 16, 17, 18},
        {19, 20, 21, 22, 23, 24, 25, 26, 27}};
    int i = 0, j = 0, k = 0;
    for(i = 0; i < 3; i++) {
        for(k = 0; k < 3; k++)
              printf("%d"",a[i][j][k]);
        printf("\n");
    }
   return 0;
   }

GATE CSE 2022
3

Consider the following ANSI C program

#include <stdio.h>

int foo(int x, int y, int q)

{

if ((x <= 0 && (y <= 0))

return q;

if (x <= 0)

return foo(x, y - q, q);

if (y <= 0)

return foo(x - q, y, q);

return foo (x, y - q, q) + foo(x - q, y, q);

}

int main()
(

int r = foo(15, 15, 10);

printf("%d", r);

return 0;

}

The output of the program upon execution is ________ 

GATE CSE 2021 Set 2
4

Consider the following ANSI C program.

#include <stdio.h>

int main( ) {

int i, j, count;

count = 0;

i = 0;

for (j = -3; j <= 3; j++)  {

if ((j >= 0) && (i++))

count = count + j;

}

count = count + i;

printf("%d", count);

return 0;

}

Which one of the following options is correct?

GATE CSE 2021 Set 1
5

Consider the following ANSI C function:

int SimpleFunction (int y[], int n, int x)

{

int total = y[0], loopIndex;

for (loopIndex = 1; loopIndex <= n - 1; loopIndex++)

total = x * total + y[loopIndex];

return total :

}

Let Z be an array of 10 elements with Z[i] = 1, for all i such that 0 ≤ i ≤ 9. The value returned by SimpleFunction (Z, 10, 2) is ______

GATE CSE 2021 Set 1
6
Consider the following C functions.
int fun1 (int n) {
     static int i = 0;
     if (n > 0) {
            ++i;
            fun1(n-1);
     }
     return (i);
}

___________________
int fun2 (int n) {
     static int i = 0;
     if (n > 0) {
            i = i + fun1 (n);
            fun2(n-1);
     }
     return (i);
}

The return value of fun2 (5) is _______.
GATE CSE 2020
7
Consider the following C functions.
int tob(int b, int* arr) {
     int i;
     for (i=0; b>0; i++) {
           if (b%2) arr[i] = 1;
           else arr[i]=0;
           b = b/2;
    }
    return (i);
}

____________________
int pp(int a, int b) {
     int arr[20];
     int i, tot = 1, ex, len;
     ex = a;
     len = tob (b, arr);
     for (i=0;  i < len; i++) {
           if (arr[i] ==1)
              tot = tot * ex;
           ex = ex * ex;
    }
    return (tot);
}

The value returned by pp (3, 4) is ________.
GATE CSE 2020
8

Consider the following C function.

void convert(int n){

    if(n < 0)

        printf("%d",n);

    else {

        convert(n/2);

        printf("%d",n%2);

    }

}

Which one of the following will happen when the function convert is called with any positive integer n as argument?

GATE CSE 2019
9

Consider the following C program :

#include<stdio.h>

int r()

{

        static int num=7;

        return num--;

}

int main()

{

        for(r();r();r())

        printf("%od ",r());

        return 0;

}

Which one of the following values will be displayed on execution of the programs?

GATE CSE 2019
10
Consider the following C code. Assume that unsigned long int type length is 64 bits.
unsigned long int fun(unsigned long int n){
     unsigned long int i, j = 0, sum = 0;
     for (i = n; i > 1; i = i/2) j++;
     for ( ; j > 1; j = j/2) sum++;
     return(sum);
}
The value returned when we call fun with the input $${2^{40}}$$ is
GATE CSE 2018
11
Consider the C program below.
#include < stdio.h >
int *A, stkTop;
int stkFunc(int opcode, int val)
{
     static int size=0, stkTop=0;
     switch (opcode) {
         case -1: size = val; break;
         case 0: if (stkTop < size) A[stkTop++] = val; break;
         default: if (stkTop) return A[--stkTop];
     }
     return -1;
}
int main()
{
     int B[20]; A = B; stkTop = -1;
     stkFunc (-1, 10);
     stkFunc ( 0, 5);
     stkFunc ( 0, 10);
     printf ("%d\n", stkFunc(1, 0) + stkFunc(1, 0));
}
The value printed by the above program is __________.
GATE CSE 2015 Set 2
12
Consider the program given below, in a block-structured pseudo-language with lexical scoping and nesting of procedures permitted.
Program main;
  Var . . .

  Procedure A1;
      Var . . .
      Call A2;
  End A1

  Procedure A2;
      Var . . .

      Procedure A21;
        Var . . .
        Call A1;
      End A21

      Call A21;
  End A2

  Call A1;
End main.
Consider the calling chain: Main $$ \to $$ A1 $$ \to $$ A2 $$ \to $$ A21 $$ \to $$ A1
The correct set of activation records along with their access links is given by
GATE CSE 2012
13
Consider the following recursive C function that takes two arguments:
unsigned int foo (unsigned int n, unsigned int r) {
  if (n > 0) return((n % r) + foo(n/r, r));
  else return 0;
}
What is the return value of the function foo when it is called as foo (513, 2)?
GATE CSE 2011
14
Consider the following recursive C function that takes two arguments:
unsigned int foo (unsigned int n, unsigned int r) {
  if (n > 0) return((n % r) + foo(n/r, r));
  else return 0;
}
What is the return value of the function foo when it is called as foo (345, 10)?
GATE CSE 2011
15
Choose the correct option to fill ? 1 and ? 2 so that the program below prints an input string in reverse order. Assume that the input string is terminated by a newline character.
void recerse (void) {
  int c;
  if (?1) reverse() ;
  ?2
}
main {
  printf ("Enter Text" ); 
  printf("\n");
  reverse() ;
  printf("\n") ;
}
GATE CSE 2008
16
Consider the following C function:
int f(int n)
{
   static int r = 0;
   if(n <= 0) return 1;
   if(n>3)
   {
     r = n;
     return f(n-2)+2;
   }
  return f(n-1)+r;
}
What is the value of f(5)?
GATE CSE 2007
17
Consider the following C program:
void foo (int n, int sum) {
  int k = 0, j = 0;
  if(n==0) return;
  k=n%10; j = n /10;
  sum = sum + k;
  foo(j, sum);
  printf("%d",k);
}
int main () {
  int a = 2048, sum = 0;
  foo(a, sum);
  printf("%d\n", sum);
}
What does the above program print?
GATE CSE 2005
18
Consider the following C program:
double foo(double); /* Line 1 */
int main () {
  double da, db;
  //input da
  db = foo(da);
}
double foo(double a){
  return a;
}
The above code compiled without any error or warning. If Line 1 is deleted, the above code will show:
GATE CSE 2005
19
Consider the following C function:
int f(int n)
{
static int i = 1;
if(n>=5) return n;
n = n+1;
i++;
return f(n);
}
The value returned by f(1) is
GATE CSE 2004
20
Consider the following C program
main ( )
{
  int x, y, m, n;
  scanf("%d %d", &x, &y);
  /* Assume x > 0 and y > 0 */
  m=x; n=y;
  while(m!=n)
  {
    if(m>n)
    m=m-n;
    else
    n=n-m;
  }
  printf("%d", n);
}
The program computes
GATE CSE 2004
21
Consider the following class definitions in a hypothetical Object Oriented language that supports inheritance and uses dynamic binding. The language should not be assumed to be either Java or C++, though the syntax is similar.
Class P {
    void f(int i) {
           print(i);
          }
}

Class Q subclass of P {
       void f(int i) {
            print(2*i);
          }
}
Now consider the following program fragment:
Px = new Q();
Qy = new Q();
Pz = new Q();
x.f(1); ((P)y).f(1); z.f(1);
Here ((P)y) denotes a typecast of y to P. The output produced by executing the above program fragment will be
GATE CSE 2003
22
Consider the following declaration of a two-dimensional array in C:

char a[100][100];

Assuming that the main memory is byte-addressable and that the array is stored starting from memory address 0, the address of a[40][50] is
GATE CSE 2002
23
The value of j at the end of the execution of the following C program
int incr (int i)
{
     static int count = 0;
     count = count + i;
     return (count);
}
main () {
   int i,j;
   for (i = 0; i <= 4; i++)
   j = incr(i);
}
is
GATE CSE 2000
24
Consider the following C function definition
int Trial (int a, int b, int c)
{
       if ((a > = b) && (c < b)) return b;
       else if (a > = b) return Trial (a,c,b);
       else return Trial (b,a,c);
}
The function Trial:
GATE CSE 1999
25
What is the result of the following program?
program side-effect (input, output);
var x, result: integer:
fucntion f (var x:integer):integer;
begin
    x:x+1;f:=x;
end
begin
    x:=5
    result:=f(x)*f(x)
    writeln(result)
end
GATE CSE 1998
26
What value would the following function return for the input x = 95?
Function fun (x:integer):integer;
Begin
     If x > 100 then fun : x – 10
     Else fun : fun(fun (x + 11))
End;
GATE CSE 1998
27
What is the value of X printed by the following program?
program COMPUTE (input, output);
var
    X:integer;
procedure FIND (X:real);
    begin
    X:=sqrt(X);
    end;
begin
   X:=2
   Find(X)
   Writeln(X)
end
GATE CSE 1995
28
What does the following code do?
var a, b : integer;
begin
    a:=a+b;
    b:=a-b;
    a:=a-b;
end;
GATE CSE 1993
EXAM MAP
Medical
NEETAIIMS
Graduate Aptitude Test in Engineering
GATE CSEGATE ECEGATE EEGATE MEGATE CEGATE PIGATE IN
Civil Services
UPSC Civil Service
Defence
NDA
Staff Selection Commission
SSC CGL Tier I
CBSE
Class 12