Pages

Thursday, January 13, 2011

(MCQs) - Multiple Choice Questions - MCQs from C++ set - 8

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.      2.5

3 comments:

  1. I have some concern with the answer of the question number question number 8 the answer should be c ?

    ReplyDelete
  2. For question 8 Overloaded functions are

    I have put answer c which is:
    Two or more functions with the same name but different number of parameters or type.
    but the suggested answer suggests none of the suggestions are correct. Therefore I checked my text book "c++ programming in easy steps" by "Mike Mcgrath"

    and i quote "Function overloading allows functions of the same name to happily co-exist in the same program, providing their arguments differ in number, data type, or both number and data type.

    Could you please rectify this error at your earliest convenience

    ReplyDelete