Question 1:

The void specifier is used if a function does not have return type.

a.       True

b.      False

 
Question 2:

You must specify void in parameters if a function does not have any arguments.

a.       True

b.      False

 
Question 3:

Type specifier is optional when declaring a function

a.       True

b.      False

 
Question 4:

Study the following piece of code and choose the best answer

int x=5, y=3, z;

a=addition(x,y)

a.       The function addition is called by passing the values

b.      The function addition is called by passing reference

 
Question 5:

In case of arguments passed by values when calling a function such as z=addidion(x,y),

a.       Any modifications to the variables x & y from inside the function will not have any effect outside the function.

b.      The variables x and y will be updated when any modification is done in the function

c.       The variables x and y are passed to the function addition

d.      None of above are valid.

 
Question 6:

If the type specifier of parameters of a function is followed by an ampersand (&Wink, that function call is

a.       pass by value

b.      pass by reference

 
Question 7:

In case of pass by reference

a.       The values of those variables are passed to the function so that it can manipulate them

b.      The location of variable in memory is passed to the function so that it can use the same memory area for its processing

c.       The function declaration should contain ampersand (&Wink in its type declaration

d.      All of above

 
Question 8:

Overloaded functions are

a.       Very long functions that can hardly run

b.      One function containing another one or more functions inside it.

c.       Two or more functions with the same name but different number of parameters or type.

d.      None of above

 
Question 9:

Functions can be declared with default values in parameters. We use default keyword to specify the value of such parameters.

a.       True

b.      False

 
Question 10:

Examine the following program and determine the output

#include <iostream>

using namespace std;

int operate (int a, int b)

{

                return (a * b);

}

float operate (float a, float b)

{

                return (a/b);

}

int main()

{

                int x=5, y=2;

                float n=5.0, m=2.0;

                cout << operate(x,y) <<"\t";

cout << operate (n,m);

return 0;

}

 

a.       10.0      5.0

b.      5.0         2.5

c.       10.0      5

d.      10         2.5

Answers

 

1.       a. True

2.       b. False  [ parameters can be empty without void too!]

3.       b. False

4.       a. The function addition is called by passing the values

5.       a. Any modifications to the variables x & y from inside the function will not have any effect outside the function

6.       b. pass by reference

7.       b. The location of variable in memory is passed to the function so that it can use the same memory area for its processing

8.       d. None of above

9.       b. False

10.    d. 10       2.5