Перейти к содержимому

Фінальный тест 2021

Це деякі відповіді до тесту, який проводився наприкінці 3 семестру для потоку ІТШІ з дисципліни С#

Какое действие необходимо выполнить для того, чтобы программа скомпилировалась?

namespace Test
{
    class TypeA
    {
 
        public class TypeB:TypeA
        {
            public override void MethodA() { Console.WriteLine("TypeB"); }
        }
 
        public virtual void MethodA() { Console.WriteLine("TypeA"); }
    }
 
    class Program
    {
        static void Main(string[] args)
        {
            TypeA a = new TypeA();
            TypeB b = new TypeB();
            a.MethodA();
            b.MethodA();
            Console.ReadLine();
        }
    }
}

Ответ: изменить строчку “TypeB b = new TypeB();” на “TypeA.TypeB b = new TypeA.TypeB();”


Какой вариант вызова функции не эквивалентен приведенному в Main?

class Program
    {
        static int MyFunc(int p1, int p2 = 2)
        {
            return p1 + p2;
        }
 
        static void Main(string[] args)
        {
            MyFunc(1, 2);
        }
    }

Ответ: MyFunc();


Чему будет равно значение переменной i после выполения вышеприведенного кода?

int i = 0;
            Circle c1 = new Circle(1, 1, 1);
            Circle c2 = new Circle(1, 1, 1);
            if (c1 == c2)
                i++;
            else
                i--;
            c2 = new Circle(2, 2, 2);
            c1 = c2;
            if (c1 == c2)
                i--;
            else
                i++;
            Console.WriteLine(i);

Ответ: -2.


Чему равно значение x?

int x = 0;
int? y = null;
x = y ?? 0;

Ответ: 0


Что будет выведено на консоль после выполнения приведенного выше приложения?

Public static void Main(){
Coordinates c1 = new Coordinates();
Coordinates c2 = new Coordinates();
Int x = 30;
c1.X=30;
c2.X=30;
Test(ref c1, c2, x);
Console.WriteLine(“C1.X=”+c1.X.ToString()+”,C2.X=”+ c2.X.ToString()+”,X=”+ X.ToString());
Console.Read();
}
Public static void Test(ref Coordinates Coord1, Coordinates Coord2, int X){
Coord1= new Coordinates();
Coord2= new Coordinates();
Coord1.X = 0;
Coord2.X=0;
X=0;
}

Ответ: C1.X = 0, C2.X = 30, X = 30


Какой из ниже перечисленных фрагментов кода является примером корректного использования

Ответ:

int i = 0;
if(i == 0) {
Console.WriteLine(“i is 0”);
}

Что напечатает следующий код?

class Program
    {
   
        static void Main(string[] args)
        {
            B b = new B();
         }
 
        public class A
        {
            public A()
            {
                Console.WriteLine("This is A");
            }
        }
 
        public class B : A
        {
            public B()
            {
                Console.WriteLine("This is B");
            }
        }
 
    }

Ответ: This is A This is B


Каким будет результат выполнения следующего кода?

static void Main(string[] args)
        {
 
            string s;
            s += "string";
            Console.WriteLine(s);
        }

Ответ: Ошибка компиляции


Приняв во внимание код, приведенный выше, как необходимо объявить объект objManager для последующей полиморфной работы с ним?

Ответ: Employee objManager = new Manager();


Что напечатает следующий код?

B b = new B();
A a = b;
a.M();

Ответ: This is A


Чему будет равно значение i в результате выполнения кода, приведенного выше?

int i = 5, j = 2, k = 3;
            i++;
            i *= k;
            i = j = k;

Ответ: 3


Какое объявление двумерного массива не является корректным?

Ответ: int[][] matrix = new int[2, 2] { { 10, 20 },  { 30, 40 }  };


Каким способом правильно создать и явно инициализировать двумерный массив?

Ответ: int[,] k = new int [2,3]


Что будет результатом выполнения кода, приведенного выше?

int i, j, k = 5;
j = 2;
j *= k;
j += i;
System.Console.WriteLine(i);

Ответ: ошибка времени компиляции.


public Circle() : this(0, 0, 1) {}

В данном контексте this это

Ответ: указатель на функцию.


Какой метод класса object не является открытым?

Ответ: Finalize.


Какое утверждение о наследовании не является верным?

Ответ: пользовательский класс может не иметь базового класса.


Какое утверждение о статических конструкторах не является верным?

Ответ: статический конструктор вызывается во время компиляции.


Класс является абстрактным, если.

Ответ: он объявлен с ключевым словом abstract.


Какая операция не может быть перегружена в C#?

Ответ: =.


 Какое утверждение об интерфейсах не является верным?

Ответ: Нельзя строить иерархию интерфейсов


Какое ключевое слово дает возможность объявить класс, от которого не возможно получение производного класса?

Ответ: sealed.


Какое утверждение об индексаторе не справедливо?

Ответ: в классе может быть реализован только один индексатор.


Какой тип не относится к ссылочным типам, т.е. к типам, характеризуемым ссылкой?

Ответ: структуры.


Какой из следующих модификаторов не возможен в C#?

Ответ: external.


Какой тип не может иметь неявного “родителя”?

Ответ: интерфейсы.


Что не может иметь отношения к парциальному классу?

Ответ: Объявлен с различными именами класса.


Какое утверждение об интерфейсах является верным?

Ответ: если класс наследует некоторый интерфейс, то он (класс) должен переопределять абсолютно все его члены.

Добавить комментарий