CSharp Programming

CSharp Programming

Functions and Subroutines has 21 Questions

Which of the following will be the correct output for the C#.NET program given below?
namespace ASTIWZConsoleApplication
{ 
    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,
What will be the output of the C#.NET code snippet given below?
namespace ASTIWZConsoleApplication
{ 
    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
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
A function returns a value, whereas a subroutine cannot return a value.

True
False
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
Which of the following will be the correct output for the C#.NET program given below?
namespace ASTIWZConsoleApplication
{ 
    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
What will be the output of the C#.NET code snippet given below?
namespace ASTIWZConsoleApplication
{
    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
Which of the following statements are correct?
  1. C# allows a function to have arguments with default values.
  2. C# allows a function to have variable number of arguments.
  3. Omitting the return value type in method definition results into an exception.
  4. Redefining a method parameter in the method's body causes an exception.
  5. params is used to specify the syntax for a function with variable number of arguments.

1, 3, 5
3, 4, 5
2, 5
4, 5
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.
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 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

{ ... }

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
How many values is a function capable of returning?

1
0
Depends upon how many params arguments does it use.
Any number of values.
What will be the output of the C#.NET code snippet given below?
namespace ASTIWZConsoleApplication
{
    class SampleProgram
    {
        static void Main(string[ ] args)
        {
            object[] o = new object[] {"1", 4.0, "Astiwz", '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 Astiwz B
1 4.0 Astiwz
1 4 Astiwz
1 Astiwz B
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.
0
Which of the following CANNOT occur multiple number of times in a program?

namespace
Entrypoint
Class
Function
What will be the output of the C#.NET code snippet given below?
namespace ASTIWZConsoleApplication
{
    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
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)

{ ... }

Which of the following statements are correct about subroutines used in C#.NET?
  1. If we do not return a value from a subroutine then a value -1 gets returned.
  2. Subroutine definitions cannot be nested.
  3. Subroutine can be called recursively.
  4. To return the control from middle of a subroutine exit subroutine should be used.
  5. Subroutine calls can be nested.

1, 2, 3
2, 3, 5
3, 5
3, 4
A function can be used in an expression, whereas a subroutine cannot be.

True
False
Which of the following statements are correct about the C#.NET program given below?
namespace ASTIWZConsoleApplication
{ 
    class SampleProgram
    { 
        static void Main(string[ ] args)
        { 
            int a = 5;
            int s = 0, c = 0; 
            s, c = fun(a); 
            Console.WriteLine(s +" " + c) ;
        }
        static int fun(int x)
        {
            int ss, cc;
            ss = x * x; cc = x * x * x; 
            return ss, cc;
        } 
    } 
}
  1. An error will be reported in the statement s, c = fun(a); since multiple values returned from a function cannot be collected in this manner.
  2. It will output 25 125.
  3. It will output 25 0.
  4. It will output 0 125.
  5. An error will be reported in the statement return ss, cc; since a function cannot return multiple values.

1, 3
2, 4
4, 5
1, 5
What will be the output of the C#.NET code snippet given below?
namespace ASTIWZConsoleApplication
{
    class SampleProgram
    {
        static void Main(string[ ] args)
        {
            int i = 5;
            int j;
            fun1(ref i);
            fun2(out j);
            Console.WriteLine(i + ", " + j);
        }
        static void funl(ref int x)
        {
            x = x * x;
        }
        static void fun2(out int x)
        {
            x = 6; 
            x = x * x; 
        }
    }
}

5, 6
5, 36
25, 36
25, 0