Home / C# Programming / Functions and Subroutines :: General Questions

C# Programming :: Functions and Subroutines

  1. Which of the following will be the correct output for the C#.NET program given below?

     namespace FreshergateConsoleApplication
     {    
        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 + ", ");      
        }    
      }  
    }
    

  2. A.

    1, 1, 1, 1,

    B.

    11, 1, 11, 11,

    C.

    11, 11, 11, 11,

    D.

    11, 11, 21, 11,

    E.

    11, 11, 21, 21,


  3. What will be the output of the C#.NET code snippet given below?

     namespace FresherGateConsoleApplication
     {   
         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 5;                 
                     Console.Write(a[ i ] + " ");             
               }        
             }  
     
          } 
       }
    
    

     

  4. A.

    1 2 3 4 5

    B.

    6 7 8 9 10

    C.

    5 10 15 20 25

    D.

    5 25 125 625 3125

    E.

    6 12 18 24 30


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

  6. A.
    1, 2
    B.
    2, 3
    C.
    3, 4
    D.
    4, 5
    E.
    None of these

  7. A function returns a value, whereas a subroutine cannot return a value.

  8. A.
    True
    B.
    False

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

  10. A.
    1, 2, 4
    B.
    2, 3, 5
    C.
    3, 5
    D.
    4, 5
    E.
    None of these

  11. Which of the following will be the correct output for the C#.NET program given below?

     namespace FreshergateConsoleApplication
     {   
         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;     
              }         
           }    
       }  
    
    

  12. A.

    0 0

    B.

    25 25

    C.

    125 125

    D.

    25 125

    E.

    None of the above


  13. What will be the output of the C#.NET code snippet given below?

    namespace FreshergateConsoleApplication 
    {  
       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 + " ");    
         }   
      } 
    }

     

     

  14. A.

    10.000000 34.340000

    B.

    10 34

    C.

    10 34.340

    D.

    10 34.34


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

  16. A.
    1, 3, 5
    B.
    3, 4, 5
    C.
    2, 5
    D.
    4, 5
    E.
    None of these

  17. 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?

  18. A.
    fun(int i, Single j, double k) decimal  { ... }
    B.
     static decimal fun(int i, Single j,  
     double k) 
     { ... }
    C.
     fun(int i, Single j, double k) 
     {   
        ...   
        return decimal;  
     }
    D.
     static decimal fun(int i, Single j,  
     double k) decimal 
     { ... }
    E.

    A procedure can never return a value.


  19. 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?

  20. A.
     decimal static fun(int i, Single j,   
     double k)
     { ... }
    B.
    decimal fun(int i, Single j, double k) { ... }
    C.
      static decimal fun(int i, Single j,   
      double k)
      { ... }
    D.
     static decimal fun(int i, Single j,  
     double k) decimal
     { ... }
    E.
     static fun(int i, Single j, double k)
     {  
        ...   
        return decimal; 
     }