Basic of Programming Language · Programming Languages · GATE CSE

Start Practice

Marks 1

1

Consider the following C program:


#include <stdio.h>

int main() {

   int a = 6;

   int b = 0;

   while(a < 10) {

      a = a / 12 + 1;

      a += b;}

   printf("%d", a);

   return 0;}

Which one of the following statements is CORRECT?

GATE CSE 2024 Set 1
2
Consider the following C function.
int fun ( int n ) {

   int x = 1, k ;
   if ( n == 1) return x ;
   for( k = 1 ; k < n ; ++ k )
       x = x + fun( k ) * fun( n - k ) ;
   return x ;
}
The return value of fun (5) is ________.
GATE CSE 2015 Set 2
3
Consider the function func shown below:
int func(int num) 

{
         int count = 0;
         while(num)
         {
                count++;
                num >>= 1;
         }
  return (count);
}

The value returned by func(435) is _________.
GATE CSE 2014 Set 2
4
Suppose n and p are unsigned int variables in a C program. We wish to set p to $${}^n{C_3}$$. If n is large, which one of the following statements is most likely to set p correctly?
GATE CSE 2014 Set 2
5
Which one of the following is NOT performed during compilation?
GATE CSE 2014 Set 2
6
Which of the following statements are CORRECT?

1) Static allocation of all data areas by a compiler makes it impossible to implement recursion.

2) Automatic garbage collection is essential to implement recursion.

3) Dynamic allocation of activation records is essential to implement recursion.

4) Both heap and stack are essential to implement recursion.
GATE CSE 2014 Set 3
7
Let A be a square matrix size $$n \times n$$. Consider the following pseudocode. What is the expected output?
C = 100; 
for i = 0 to n do 
for j = 1 to n do 
 { 
      Temp = A[ i ][ j ] + C ; 
      A[ i ][ j ] = A[ j ][ i ] ; 
      A[ j ][ i ] = Temp - C ; 
 } 

 for i = 0 to n do 
 for j = 1 to n do 
 output(A[ i ][ j ]);
GATE CSE 2014 Set 3
8
Consider the following program in C language:

#include < stdio.h >
main()
{
int i;
int *pi = &i;
scanf("%d", pi);
printf("%d\n", i + 5);
}

Which one of the following statements is TRUE?
GATE CSE 2014 Set 1
9
Which languages necessarily need heap allocation in the runtime environment?
GATE CSE 2010
10
A common property of logic programming languages and functional languages is:
GATE CSE 2005
11
The goal of structured programming is to
GATE CSE 2004
12
Choose the best matching between the programming style in Group 1 and their characteristics in Group 2

Group 1
P. Functional
Q. Logic
R. Object-oriented
S. Imperative

Group 2
1. Command-based, procedural
2. Imperative, abstract data types
3. Side-effect free, declaretive, expression Evaluation
4. Declaretive, clausal representation, theorem proving
GATE CSE 2004
13
Which of the following statements is FALSE?
GATE CSE 2003
14
The results returned by function under value-result and reference parameter passing conventions
GATE CSE 2002
15
Heap allocation is required for languages.
GATE CSE 1997
16
What are x and y in the following macro definition?

macro Add x,y
Load y
Mul x
Store y
end macro
GATE CSE 1995
17
An unrestricted use of the "goto" statement is harmful because
GATE CSE 1994
18
Indicate the following statement true or false:

Although C does not support call by name parameter passing, the effect can be correctly simulated in C.
GATE CSE 1991
19
Indicate the following statement true or false :

A programming language not supporting either recursion or pointer type does not need the support of dynamic memory allocation.
GATE CSE 1991

Marks 2

1

Consider an array X that contains n positive integers. A subarray of X is defined to be a sequence of array locations with consecutive indices.

The C code snippet given below has been written to compute the length of the longest subarray of X that contains at most two distinct integers. The code has two missing expressions labelled (P) and (Q).

int first=0, second=0, len1=0, len2=0, maxlen=0;
for (int i=0; i < n; i++) {
  if (X[i] == first) {
    len2++;
    len1++;
  } else if (X[i] == second) {
    len2++;
    len1 = (P);
    second = first;
  } else {
    len2 = (Q);
    len1 = 1;
    second = first;
  }
  if (len2 > maxlen) {
    maxlen = len2;
  }
  first = X[i];
}

Which one of the following options gives the CORRECT missing expressions?

(Hint: At the end of the i-th iteration, the value of len1 is the length of the longest subarray ending with X[i] that contains all equal values, and len2 is the length of the longest subarray ending with X[i] that contains at most two distinct values.)

GATE CSE 2024 Set 2
2

Consider the following program:

int main ( )
{
f1( );
f2(2);
f3( );
return (0);
}
int f1( )
{
return (1);
}
int f2 (int X)
{
f3( );
if (X==1)
return f1 ( );
else
return (X*f2(X$$-$$1));
}
int f3( )
{
return (5);
}

Which one of the following options represents the activation tree corresponding to the main function?

GATE CSE 2023
3

What is printed by the following ANSI C program?


 #include <stdio.h>
 int main(int argc, char *argv[]) {
    char a = 'P';
    char b = 'x';
    char c = (a & b) + '*';
    char d = (a | b) - '-';
    char e = (a ^ b) + '+';
    printf("%c %c %c\n", c, d, e);
    return 0;
 }

ASCII encoding for relevant characters is given below :

GATE CSE 2022 Programming Languages - Basic of Programming Language Question 5 English

GATE CSE 2022
4

Consider the following C program :

#include <stdio.h>

int main(){

    float sum = 0.0, j = 1.0, i = 2.0;

    while (i/j > 0.0625){

        j = j + j;

        sum = sum + i/j;

        printf("%f\n", sum);

    }

    return 0;

}

The number of times the variable sum will be printed, when the above program is executed, is _________.

GATE CSE 2019
5
Consider the following pseudo code, where x and y are positive integers.
begin 
    q := 0 
    r := x 
   while r ≥ y do 
      begin 
      r := r - y 
      q := q + 1 
    end 
end
The post condition that needs to be satisfied after the program terminates is
GATE CSE 2015 Set 1
6
Consider the C function given below.
int f(int j)
{
    static int i = 50;
    int k;
    if (i == j)
    {
        printf("something");
        k = f(i);
        return 0;
    }
    else return 0;
}
Which one of the following is TRUE?
GATE CSE 2014 Set 2
7
Consider the following function
double f (double x) {
    if ( abs (x * x – 3) < 0. 01) return x;
    else return f (x / 2 + 1.5/x);
}
Give a value q (to 2 decimals) such that f(q) will return q:______.
GATE CSE 2014 Set 2
8
What is the return value of f (p, p), if the value of p is initialized to 5 before the call? Note that the first parameter is passed by reference, whereas the second parameter is passed by value.
int f (int &x, int c) {
    c = c - 1;
    if (c==0) return 1;
    x = x + 1;
    return f(x,c) * x;
}
GATE CSE 2013
9
Which of the following are true?

I. A programming language which does not permit global variables of any kind and has no nesting of procedures/functions, but permits recursion can be implemented with static storage allocation

II. Multi-level access link (or display) arrangement is needed to arrange activation records only if the programming language being implemented has nesting of procedures/functions

III. Recursion in programming languages cannot be implemented with dynamic storage allocation

IV. Nesting procedures/functions and recursion require a dynamic heap allocation scheme and cannot be implemented with a stack-based allocation scheme for activation records

V. Programming languages which permit a function to return a function as its result cannot be implemented with a stack-based storage allocation scheme for activation records

GATE CSE 2008
10
The following program fragment is written in a programming language that allows global variables and does not allow nested declarations of functions.
global int i = 100, j = 5;
void P(x) {
    int i = 10;
    print(x + 10);
    i = 200;
    j = 20;
    print (x);
}
main() {
    P(i + j);
}
If the programming language uses dynamic scoping and call by name parameter passing mechanism, the values printed by the above program are
GATE CSE 2003
11
The following program fragment is written in a programming language that allows global variables and does not allow nested declarations of functions.
global int i = 100, j = 5;
void P(x) {
    int i = 10;
    print(x + 10);
    i = 200;
    j = 20;
    print (x);
}
main() {
    P(i + j);
}
If the programming language uses static scoping and call by need parameter passing mechanism, the values printed by the above program are
GATE CSE 2003
12
What is printed by the print statements in the program P1 assuming call by reference parameter passing?
Program P1()
{
     x=10;
     y=3;
     func1(y,x,x);
     print x;
     print y;
}
func1(x,y,z)
{
     y=y+4;
     z=x+y+z;
}
GATE CSE 2001
13
Consider the following program
Program P2
      var n:int;
      procedure W(var x:int)
      begin
          x=x+1;
          print x;
      end

      procedure D
      begin
          var n:int;
          n=3;
          W(n);
      end
begin     \\begin P2
      n = 10;
      D;
end
If the language has dynamic scooping and parameters are passed by reference, what will be printed by the program?
GATE CSE 2001
14
Given the programming constructs:

(i) assignment
(ii) for loops where the loop parameter cannot be changed within the loop
(iii) if-then-else
(iv) forward go to
(v) arbitrary go to
(vi) non-recursive procedure call
(vii) recursive procedure/function call
(viii) repeat loop,

which constructs will you not include in a programming language such that it should be possible to program the terminates (i.e., halting) function in the same programming language.

GATE CSE 1999
15
Consider the following program in a language that has dynamic scooping:
var x: real;
procedure show;
         begin print(x); end;
procedure small;
         var x: real;
             begin x: = 0.125; show; end;
begin x:=0.25;
         show; small
         end;
Then the output of the program is:
GATE CSE 1999
16
A certain processor supports only the immediate and the direct addressing modes. Which of the following programming language features cannot be implemented on this processor?
GATE CSE 1999
17
Faster access to non-local variables is achieved using an array of pointers to activation records called a
GATE CSE 1998
18

Given the following Pascal like program segment:

Procedure A;

     x,y:intger;
     Procedure B;
            x,z:real;
            S1
     end B;
     Procedure C;
            i:integer;
            S2;
     end C;
end A;

The variables accessible in S1 and S2 are

GATE CSE 1997
19
The correct matching for the following pairs is

List - I
(A) Activation record
(B) Location counter
(C) Reference counts
(D) Address relocation

List - II
(1) Linking loader
(2) Garbage collection
(3) Subroutine call
(4) Assembler

GATE CSE 1996
20
In which one of the following cases is it possible to obtain different results for call-by-reference and call-by-name parameter passing methods?
GATE CSE 1994
21
Match the pairs in the following:

List - I

(A) Small talk
(B) LISP
(C) Prolog
(D) VAL

List - II

(p) Logic programming
(q) Data flow programming
(r) Functional programming
(s) Object-Oriented programming
GATE CSE 1990
22
Match the pairs in the following:

List - I

(A) Pointer data type
(B) Activation record
(C) Repeat-until
(D) Coercion

List - II

(p) Type conversion
(q) Dynamic data structure
(r) Recursion
(s) Nondeterministic loop
GATE CSE 1990
23
An unrestricted use of the "goto" statement is harmful because of which of the following reason(s):
GATE CSE 1989
24
In which of the following cases it is possible to obtain different results for call-by-reference and call-by-name parameter passing?
GATE CSE 1989
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