C# Functions and Subroutines Mcqs

Our collections of Multiple choice questions and answers focuses on study of C# Functions and Subroutines. These questions are chosen from a collection of most authoritative and best reference books on C# Functions and Subroutines. Our aim is to prepare an individual for competitive exams like NTS, GAT, ECAT, University and College entrance exams and various tests and job interviews. One should practice our Mcqs to assimilate C# Functions and Subroutines comprehensively.

1.
Which of the following will be the correct output for the C#.NET program given below?
namespace McqsMentorConsoleApplication
{ 
    class SampleProgram
    {
        static void Main(string[] args)
        { 
            int num = 1;
            funcv(num); 
            Console.Write(num + ", "); 
            funcr(ref num); 
            Console.Write(num + ", ");
        }
        static void funcv(int num)
        { 
            num = num + 10; Console.Write(num + ", ");
        }
        static void funcr (ref int num)
        { 
            num = num + 10; Console.Write(num + ", ");
        } 
    } 
} 

1, 1, 1, 1,

11, 1, 11, 11,

11, 11, 11, 11,

11, 11, 21, 11,

2.
What will be the output of the C#.NET code snippet given below?
namespace McqsMentorConsoleApplication
{ 
    class SampleProgram
    { 
        static void Main(string[] args)
        { 
            int[]arr = newint[]{ 1, 2, 3, 4, 5 }; 
            fun(ref arr);
        }
        static void fun(ref int[] a)
        { 
            for (int i = 0; i < a.Length; i++)
            { 
                a[i] = a[i] * 5; 
                Console.Write(a[ i ] + " "); 
            } 
        } 
    } 
}

1 2 3 4 5

6 7 8 9 10

5 10 15 20 25

5 25 125 625 3125

3.
Which of the following statements are correct?

1. An argument passed to a ref parameter need not be initialized first.
2. Variables passed as out arguments need to be initialized prior to being passed.
3. Argument that uses params keyword must be the last argument of variable argument list of a method.
4. Pass by reference eliminates the overhead of copying large data items.
5. To use a ref parameter only the calling method must explicitly use the ref keyword.

1, 2

2, 3

3, 4

4, 5

4.
Which of the following statements are correct about functions and subroutines used in C#.NET?

1. A function cannot be called from a subroutine.
2. The ref keyword causes arguments to be passed by reference.
3. While using ref keyword any changes made to the parameter in the method will be reflected in that variable when control passes back to the calling method.
4. A subroutine cannot be called from a function.
5. Functions and subroutines can be called recursively.

1, 2, 4

2, 3, 5

3, 5

4, 5

5.
Which of the following will be the correct output for the C#.NET program given below?
namespace McqsMentorConsoleApplication
{ 
    class SampleProgram
    { 
        static void Main(string[] args)
        {
            int a = 5; 
            int s = 0, c = 0;
            Proc(a, ref s, ref c);
            Console.WriteLine(s + " " + c);
        }
        static void Proc(int x, ref int ss, ref int cc)
        {
            ss = x * x;
            cc = x * x * x;
        } 
    } 
} 

0 0

25 25

125 125

25 125

6.
What will be the output of the C#.NET code snippet given below?
namespace McqsMentorConsoleApplication
{
    class SampleProgram
    {
        static void Main(string[ ] args)
        {
            int i = 10;
            double d = 34.340;
            fun(i);
            fun(d);
        }
        static void fun(double d)
        {
            Console.WriteLine(d + " ");
        }
    }
}

10.000000 34.340000

10 34

10 34.340

10 34.34

7.
If a procedure fun() is to receive an int, a Single & a double and it is to return a decimal then which of the following is the correct way of defining this procedure?

 Fun(int i, Single j, double k) decimal 
{ ... }

Static decimal fun(int i, Single j, double k) 
{ ... }

 Fun(int i, Single j, double k) 
{
...
return decimal,
}

A procedure can never return a value.

8.
If a function fun() is to receive an int, a Single & a double and it is to return a decimal then which of the following is the correct way of defining this function?

Decimal static fun(int i, Single j, double k)
{ ... }

Decimal fun(int i, Single j, double k)
{ ... }

Static decimal fun(int i, Single j, double k)
{ ... }

Static decimal fun(int i, Single j, double k) decimal
{ ... }

9.
Which of the following statements are correct about functions used in C#.NET?

1. Function definitions cannot be nested.
2. Functions can be called recursively.
3. If we do not return a value from a function then a value -1 gets returned.
4. To return the control from middle of a function exit function should be used.
5. Function calls can be nested.

1, 2, 5

2, 3, 5

2, 3

4, 5

11.
What will be the output of the C#.NET code snippet given below?
 namespace McqsMentorConsoleApplication
{
    class SampleProgram
    {
        static void Main(string[ ] args)
        {
            object[] o = new object[] {"1", 4.0, "CompSci", 'B'};
            fun (o);
        }
        static void fun (params object[] obj)
        {
            for (int i = 0; i < obj.Length-1; i++)
            Console.Write(obj[i] + " ");
        }
    }
}

1 4.0 CompSci B

1 4.0 CompSci

1 4 CompSci

1 CompSci B

12.
How many values is a subroutine capable of returning?

Depends upon how many params arguments does it use.

Any number of values.

Depends upon how many ref arguments does it use.

Any number of values.

14.
What will be the output of the C#.NET code snippet given below?
namespace McqsMentorConsoleApplication
{
    class SampleProgram
    {
        static void Main(string[ ] args)
        {
            int i;
            int res = fun(out i);
            Console.WriteLine(res);
        }
        static int fun (out int i)
        {
            int s = 1;
            i = 7;
            for(int j = 1; j <= i; j++)
            {
                s = s * j;
            }
            return s;
        } 
    } 
} 

1

7

8

5040

15.
If a function fun() is to sometimes receive an int and sometimes a double then which of the following is the correct way of defining this function?

Static void fun(object i)
{ ... }

Static void fun(int i)
{ ... }

Static void fun(double i, int j)
{ ... }

Static void fun(int i, double j)
{ ... }

0Shares
0
Scroll to Top