General Questions

Question 1 :

Which of the following statements is correct about the C#.NET code snippet given below?

class Student s1, s2; // Here 'Student' is a user-defined class.
s1 = new Student(); 
s2 = new Student();


A). Contents of s1 and s2 will be exactly same.
B). The two objects will get created on the stack.
C). Contents of the two objects created will be exactly same.
D). The two objects will always be created in adjacent memory locations.
E). We should use delete() to delete the two objects from memory.
Answer : Option C

Question 2 :

Which of the following statements is correct about the C#.NET code snippet given below?

class Sample
{
    private int i;
    public Single j;
    private void DisplayData()
    {
        Console.WriteLine(i + " " + j);
    }
    public void ShowData()
    {
        Console.WriteLine(i + " " + j);
    }
}


A). j cannot be declared as public.
B). DisplayData() cannot be declared as private.
C). DisplayData() cannot access j.
D). ShowData() cannot access to i.
E). There is no error in this class.
Answer : Option E

Question 3 :

Which of the following statements are correct?

1. Instance members of a class can be accessed only through an object of that class.
2. A class can contain only instance data and instance member function.
3. All objects created from a class will occupy equal number of bytes in memory.
4. A class can contain Friend functions.
5. A class is a blueprint or a template according to which objects are created.


A). 1, 3, 5
B). 2, 4
C). 3, 5
D). 2, 4, 5
E). None of these
Answer : Option A

Question 4 :

Which of the following statements is correct?


A). Procedural Programming paradigm is different than structured programming paradigm.
B). Object Oriented Programming paradigm stresses on dividing the logic into smaller parts and writing procedures for each part.
C). Classes and objects are corner stones of structured programming paradigm.
D). Object Oriented Programming paradigm gives equal importance to data and the procedures that work on the data.
E). C#.NET is a structured programming language.
Answer : Option D

Question 5 :

Which of the following is the correct way to create an object of the class Sample?

1. Sample s = new Sample();
2. Sample s;
3. Sample s; s = new Sample();
4. s = new Sample(); 5.


A). 1, 3
B). 2, 4
C). 1, 2, 3
D). 1, 4
E). None of these
Answer : Option A

Question 6 :

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

namespace IndiaparinamConsoleApplication
{ 
    class Sample
    { 
        int i; 
        Single j; 
        public void SetData(int i, Single j)
        { 
            i = i;
            j = j;
        }
        public void Display()
        { 
            Console.WriteLine(i + " " + j);
        } 
    } 
    class MyProgram
    { 
        static void Main(string[ ] args)
        { 
            Sample s1 = new Sample();
            s1.SetData(10, 5.4f); 
            s1.Display(); 
        } 
    } 
}


A). 0 0
B). 10 5.4
C). 10 5.400000
D). 10 5
E). None of the above
Answer : Option A

Question 7 :

The this reference gets created when a member function (non-shared) of a class is called.


A). True
B). False
Answer : Option A

Question 8 :

Which of the following statements are correct?

1. Data members ofa class are by default public.
2. Data members of a class are by default private.
3. Member functions of a class are by default public.
4. A private function of a class can access a public function within the same class.
5. Member function of a class are by default private.


A). 1, 3, 5
B). 1, 4
C). 2, 4, 5
D). 1, 2, 3
E). None of these
Answer : Option C

Question 9 :

Which of the following statements is correct about the C#.NET code snippet given below?

namespace IndiaparinamConsoleApplication
{ 
    class Sample
    { 
        public int index; 
        public int[] arr = new int[10]; 
        
        public void fun(int i, int val)
        { 
            arr[i] = val;
        }
    }
     
    class MyProgram
    { 
        static void Main(string[] args)
        {
            Sample s = new Sample(); 
            s.index = 20; 
            Sample.fun(1, 5); 
            s.fun(1, 5); 
        } 
    } 
}


A). s.index = 20 will report an error since index is public.
B). The call s.fun(1, 5) will work correctly.
C). Sample.fun(1, 5) will set a value 5 in arr[ 1 ].
D). The call Sample.fun(1, 5) cannot work since fun() is not a shared function.
E). arr being a data member, we cannot declare it as public.
Answer : Option B

Question 10 :

Which of the following statements are correct about the C#.NET code snippet given below?

sample c;
c = new sample();
1. It will create an object called sample.
2. It will create a nameless object of the type sample.
3. It will create an object of the type sample on the stack.
4. It will create a reference c on the stack and an object of the type sample on the heap.
5. It will create an object of the type sample either on the heap or on the stack depending on the size of the object.


A). 1, 3
B). 2, 4
C). 3, 5
D). 4, 5
E). None of these
Answer : Option B

Question 11 :

Which of the following statements is correct about the C#.NET code snippet given below?

int i;
int j = new int();
i = 10;
j = 20; 
String str; 
str = i.ToString(); 
str = j.ToString();


A). This is a perfectly workable code snippet.
B). Since int is a primitive, we cannot use new with it.
C). Since an int is a primitive, we cannot call the method ToString() using it.
D). i will get created on stack, whereas j will get created on heap.
E). Both i and j will get created on heap.
Answer : Option A

Question 12 :

Which of the following statements are correct about the this reference?

1. this reference can be modified in the instance member function of a class.
2. Static functions of a class never receive the this reference.
3. Instance member functions of a class always receive a this reference.
4. this reference continues to exist even after control returns from an instance member function.
5. While calling an instance member function we are not required to pass the this reference explicitly.


A). 1, 4
B). 2, 3, 5
C). 3, 4
D). 2, 5
E). None of these
Answer : Option B

Question 13 :

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

namespace IndiaparinamConsoleApplication
{ 
    class Sample
    { 
        int i; 
        Single j; 
        public void SetData(int i, Single j)
        { 
            this.i = i; 
            this.j = j;
        }
        public void Display()
        { 
            Console.WriteLine(i + " " + j);
        } 
    } 
    class MyProgram
    { 
        static void Main(string[ ] args)
        {
            Sample s1 = new Sample(); 
            s1.SetData(36, 5.4f); 
            s1.Display(); 
        } 
    } 
}


A). 0 0.0
B). 36 5.4
C). 36 5.400000
D). 36 5
E). None of the above
Answer : Option B

Question 14 :

Which of the following statements are correct about objects of a user-defined class called Sample?

1. All objects of Sample class will always have exactly same data.
2. Objects of Sample class may have same or different data.
3. Whether objects of Sample class will have same or different data depends upon a Project Setting made in Visual Studio.NET.
4. Conceptually, each object of Sample class will have instance data and instance member functions of the Sample class.
5. All objects of Sample class will share one copy of member functions.


A). 1, 3
B). 2, 4
C). 4, 5
D). 3, 5
E). None of these
Answer : Option C

Question 15 :

Which of the following statements are correct about the C#.NET code snippet given below?

namespace IndiaparinamConsoleApplication
{ 
    class Sample
    { 
        int i, j; 
        public void SetData(int ii, int jj)
        {
            this.i = ii;
            this.j = jj 
        } 
    } 
    class MyProgram
    { 
        static void Main(string[ ] args)
        { 
            Sample s1 = new Sample(); 
            s1.SetData(10, 2); 
            Sample s2 = new Sample(); 
            s2.SetData(5, 10); 
        } 
    } 
}


A). The code will not compile since we cannot explicitly use this.
B). Using this in this program is necessary to properly set the values in the object.
C). The call to SetData() is wrong since we have not explicitly passed the this reference to it.
D). The definition of SetData() is wrong since we have not explicitly collected the this reference.
E). Contents of this will be different during each call to SetData().
Answer : Option E

Question 16 :

Which of the following statements is correct about classes and objects in C#.NET?


A). Class is a value type.
B). Since objects are typically big in size, they are created on the stack.
C). Objects of smaller size are created on the heap.
D). Smaller objects that get created on the stack can be given names.
E). Objects are always nameless.
Answer : Option E