Главная / Программирование /
Программирование на языке высокого уровня C# / Тест 5
Программирование на языке высокого уровня C# - тест 5
Упражнение 1:
Номер 1
Какие спецификаторы можно определить для класса в С#?
Ответ:
 (1) new
 
 (2) protected
 
 (3) readonly
 
 (4) volatile
 
Номер 2
Какие спецификаторы можно определить для класса в С#?
Ответ:
 (1) public
 
 (2) sealed
 
 (3) virtual
 
 (4) override
 
Упражнение 2:
Номер 1
Какие спецификаторы можно определить для класса в С#?
Ответ:
 (1) static
 
 (2) virtual
 
 (3) void
 
 (4) object
 
Номер 2
Какие спецификаторы можно определить для класса в С#?
Ответ:
 (1) internal
 
 (2) private
 
 (3) static
 
 (4) override
 
Номер 3
Какие спецификаторы можно определить для класса в С#?
Ответ:
 (1) abstract
 
 (2) private
 
 (3) override
 
 (4) extern
 
Упражнение 3:
Номер 1
Какие спецификаторы можно определить для класса в С#?
Ответ:
 (1) extern
 
 (2) sealed
 
 (3) static
 
 (4) void
 
Номер 2
Какие спецификаторы можно определить для класса в С#?
Ответ:
 (1) protected
 
 (2) static
 
 (3) void
 
 (4) override
 
Номер 3
Какие спецификаторы можно определить для класса в С#?
Ответ:
 (1) public
 
 (2) object
 
 (3) void
 
 (4) extern
 
Упражнение 4:
Номер 1
Какие спецификаторы можно определить для класса в С#?
Ответ:
 (1) abstract
 
 (2) new
 
 (3) public
 
 (4) extern
 
Номер 2
Какие спецификаторы можно определить для класса в С#?
Ответ:
 (1) protected
 
 (2) extern
 
 (3) sealed
 
 (4) object
 
Номер 3
Какое из утверждений описывает разницу между константами и полями?
Ответ:
 (1) при описании полей можно использовать модификатор new
 
 (2) константы могут быть любого значимого типа 
 (3) константы могут иметь перечисляемый тип 
 (4) поля могут быть помечены как static
 
Упражнение 5:
Номер 1
Какая переменная доступна только в методе, где она объявлена?
Ответ:
 (1) переменная-член 
 (2) локальная переменная 
 (3) переменная класса 
 (4) внешняя переменная 
Номер 2
Какие из следующих утверждений правильные?
Ответ:
 (1) поля класса могут быть описаны с модификатором extern
 
 (2) поля класса могут быть описаны с модификатором volatile
 
 (3) поля класса могут быть описаны с модификатором internal
 
 (4) поля класса могут быть описаны с модификатором virtual
 
Номер 3
Какие из следующих утверждений правильные?
Ответ:
 (1) поля класса могут быть описаны с модификатором void
 
 (2) поля класса могут быть описаны с модификатором public
 
 (3) поля класса могут быть описаны с модификатором new
 
 (4) поля класса могут быть описаны с модификатором old
 
Упражнение 6:
Номер 1
Какие из следующих утверждений правильные?
Ответ:
 (1) поля класса могут быть описаны с модификатором clear
 
 (2) поля класса могут быть описаны с модификатором protected
 
 (3) поля класса могут быть описаны с модификатором static
 
 (4) поля класса могут быть описаны с модификатором virtual
 
Номер 2
Какие из следующих утверждений правильные?
Ответ:
 (1) поля класса могут быть описаны с модификатором demo
 
 (2) поля класса могут быть описаны с модификатором readonly
 
 (3) поля класса могут быть описаны с модификатором public
 
 (4) поля класса могут быть описаны с модификатором override
 
Номер 3
Какие из следующих утверждений правильные?
Ответ:
 (1) поля класса могут быть описаны с модификатором external
 
 (2) поля класса могут быть описаны с модификатором static
 
 (3) поля класса могут быть описаны с модификатором virtual
 
Упражнение 7:
Номер 1
Какие из следующих утверждений правильные?
Ответ:
 (1) поля класса могут быть описаны с модификатором abstract
 
 (2) поля класса могут быть описаны с модификатором public
 
 (3) поля класса могут быть описаны с модификатором new
 
 (4) поля класса могут быть описаны с модификатором casual
 
Номер 3
Даны описания:
class One {
int a;
public int b;
public static int c;
}
…
One x = new One();
Укажите правильные способы обращения к полям:
Ответ:
 (1) x.a
 
 (2) x.b
 
 (3) One.a
 
 (4) One.c
 
Упражнение 8:
Номер 1
Даны описания:
class One {
int a;
public int b;
public static int c;
}
…
One x = new One();
Укажите правильные способы обращения к полям:
Ответ:
 (1) a.x
 
 (2) b.x
 
 (3) One.a
 
 (4) One.c
 
Номер 2
Даны описания:
class One {
int a;
public int b;
public static int c;
}
…
One x = new One();
Укажите правильные способы обращения к полям:
Ответ:
 (1) one.b
 
 (2) one.x.b
 
 (3) x.b
 
 (4) x.c
 
Номер 3
Даны описания:
class One {
int a;
public int b;
public static int c;
}
…
One x = new One();
Укажите правильные способы обращения к полям:
Ответ:
 (1) One.a
 
 (2) (one)x.a
 
 (3) One.c
 
 (4) x.c
 
Упражнение 9:
Номер 1
Даны описания:
class X {
int a;
public const int b = 1;
public static int z;
}
…
X x = new X();
Укажите правильные способы обращения к полям:
Ответ:
 (1) a.x
 
 (2) x.z
 
 (3) X.z
 
 (4) z.X
 
Номер 2
Даны описания:
class X {
int a;
public const int b = 1;
public static int z;
}
…
X x = new X();
Укажите правильные способы обращения к полям:
Ответ:
 (1) a.X
 
 (2) X.b
 
 (3) X.z
 
 (4) X.x
 
Номер 3
Даны описания:
class X {
int a;
public const int b = 1;
public static int z;
}
…
X x = new X();
Укажите правильный способ обращения:
Ответ:
 (1) b.x
 
 (2) x.b
 
 (3) X.a
 
 (4) z.x
 
Упражнение 10:
Номер 1
Даны описания:
class X {
int a;
public const int b = 1;
public static int z;
}
…
X x = new X();
Укажите правильные способы обращения к полям:
Ответ:
 (1) z.a
 
 (2) X.z
 
 (3) X.a
 
 (4) x.X
 
Номер 2
Даны описания:
class One {
const int a;
public int b;
public static int c;
}
…
One x = new One();
Укажите правильные способы обращения к полям:
Ответ:
 (1) x.a
 
 (2) b.One
 
 (3) a.One
 
 (4) One.c
 
Номер 3
При вызове метода его аргументы и параметры должны соответствовать друг другу:
Ответ:
 (1) По именам 
 (2) По количеству 
 (3) По типу 
 (4) По порядку следования 
Упражнение 11:
Номер 1
Параметр метода описан как "ref int a"
.
При вызове метода аргумент, соответствующий параметру, может быть:
Ответ:
 (1) константой типа int
 
 (2) инициализированной переменной типа int
 
 (3) выражением типа int
 
 (4) только переменной типа int
с именем а 
Номер 2
Параметр метода описан как "ref int a"
.
При вызове метода аргумент, соответствующий параметру, может быть:
Ответ:
 (1) неинициализированной переменной типа int
 
 (2) инициализированной переменной типа int
 
 (3) выражением типа int
 
 (4) выражением, результат которого имеет неявное преобразование к типу int
 
Номер 3
Параметр метода описан как "ref int a"
.
При вызове метода аргумент, соответствующий параметру, может быть:
Ответ:
 (1) константой, тип которой имеет неявное преобразование к типу int
 
 (2) выражением типа int
 
 (3) инициализированной переменной типа int
 
 (4) выражением любого целого типа 
Упражнение 12:
Номер 1
Параметр метода описан как "ref int a"
.
При вызове метода аргумент, соответствующий параметру, может быть:
Ответ:
 (1) константой типа int
 
 (2) переменной типа int
 
 (3) выражением, результат которого имеет неявное преобразование к типу int
 
 (4) выражением любого типа 
Номер 3
Параметр метода описан как "ref int a"
.
При вызове метода аргумент, соответствующий параметру, может быть:
Ответ:
 (1) константой любого целого типа 
 (2) переменной типа int
 
 (3) выражением любого типа 
Упражнение 13:
Номер 2
Параметр метода описан как "ref int a"
.
При вызове метода аргумент, соответствующий параметру, может быть:
Ответ:
 (1) константой, тип которой имеет неявное преобразование к типу int
 
 (2) выражением целого типа 
 (3) переменной целого типа 
 (4) выражением любого типа 
Номер 3
Параметр метода описан как "ref int a"
.
При вызове метода аргумент, соответствующий параметру, может быть:
Ответ:
 (1) выражением любого типа 
 (2) выражением, результат которого имеет неявное преобразование к типу int
 
 (3) переменной типа int
 
 (4) выражением любого целого типа 
Упражнение 14:
Номер 1
Заголовок метода имеет вид:
public f(ref int a, float b, char c);
Укажите правильные варианты вызова метода, если переменные в
вызывающей функции описаны так:
int a; char b; float d, x;
Ответ:
 (1) f(ref 2, d, b);
 
 (2) f(ref a, a, b);
 
 (3) f(ref a, x, 'b');
 
 (4) f(ref a, d-x/2, b);
 
Номер 2
Заголовок метода имеет вид:
<code> public f(char a, ref float b, float c);</code>
Укажите правильные варианты вызова метода, если переменные в
вызывающей функции описаны так:
char a, c; float b, x; int d;
Ответ:
 (1) f(a, ref c, b);
 
 (2) f(a, ref b, x);
 
 (3) f(c, ref b, d);
 
 (4) f(a, ref x, c);
 
Номер 3
Заголовок метода имеет вид:
public f( float a, float b, ref float c);
Укажите правильные варианты вызова метода, если переменные в
вызывающей функции описаны так:
int a; char b, c; float d, x;
Ответ:
 (1) f(a, b, a+1);
 
 (2) f(a, b, ref c);
 
 (3) f(d+a, c, ref x);
 
 (4) f(x, 'c', ref d);
 
Упражнение 15:
Номер 1
Заголовок метода имеет вид:
public f( float a, ref int b, float c);
Укажите правильные варианты вызова метода, если переменные в
вызывающей функции описаны так:
float a, x; int b, c;
Ответ:
 (1) f(a, ref 28, x);
 
 (2) f(a, ref b, c);
 
 (3) f(a, ref x, c);
 
 (4) f(x, ref c, 28);
 
Номер 2
Заголовок метода имеет вид:
public int P(ref int a, char b, float c);
Укажите правильные варианты вызова метода, если переменные в
вызывающей функции описаны так:
int a; char b, c; float d, x;
Ответ:
 (1) P(ref a, b, d-a);
 
 (2) P(ref a, b, c);
 
 (3) P(ref 3, b, x);
 
 (4) P(ref a, c, d-x/2);
 
Номер 3
Заголовок метода имеет вид:
public int P(int a, char b, float c);
Укажите правильные варианты вызова метода, если переменные в
вызывающей функции описаны так:
char a; float c; int d;
Ответ:
 (1) P(d, a, c);
 
 (2) P(3200, 'a', c/2*d);
 
 (3) P(a, c, d-1);
 
 (4) P(c, a, d);
 
Упражнение 16:
Номер 1
Заголовок метода имеет вид:
public int P(float a, float b, ref char c);
Укажите правильные варианты вызова метода, если переменные в
вызывающей функции описаны так:
float a, k; char d, m; int c;
Ответ:
 (1) P(a, a, ref d);
 
 (2) P(1, k+1, ref m);
 
 (3) P(a, k, ref 'c');
 
 (4) P(a, d, ref c);
 
Номер 3
Какое из утверждений описывает разницу между статическим методом и методом экземпляра?
Ответ:
 (1) в статических методах нельзя описывать параметры-массивы 
 (2) только в методах экземпляра можно описывать параметры с ключевым словом out
 
 (3) только методы экземпляра можно вызывать из описаний полей, помеченных как readonly
 
 (4) только в методах экземпляра можно описывать параметры с ключевым словом ref
 
 (5) статические методы нельзя объявить как виртуальные 
Упражнение 17:
Номер 1
При обращении к нестатическому методу перед его именем указывается
Ответ:
 (1) имя класса 
 (2) имя экземпляра объекта 
 (3) ничего не указывается 
 (4) имя сборки 
Номер 3
При обращении к статическому методу перед его именем указывается
Ответ:
 (1) имя класса 
 (2) имя экземпляра объекта 
 (3) ничего не указывается 
 (4) имя сборки 
Упражнение 18:
Номер 1
При обращении к нестатическому методу перед его именем указывается
Ответ:
 (1) имя класса 
 (2) имя экземпляра объекта 
 (3) спецификатор static
 
 (4) имя System
 
Номер 3
При обращении к статическому методу перед его именем указывается
Ответ:
 (1) имя класса 
 (2) имя экземпляра объекта 
 (3) спецификатор static
 
 (4) имя сборки 
Упражнение 19:
Номер 1
Могут ли совпадать имена аргументов метода и имена полей класса?
Ответ:
 (1) могут 
 (2) нет 
 (3) могут только для нестатических методов 
 (4) могут только для статических методов 
Номер 2
При определении метода в описание класса включается
Ответ:
 (1) только заголовок метода 
 (2) полное описание метода 
 (3) ничего не включается 
 (4) ссылка на метод 
Номер 3
Где располагаются описания методов внутри класса?
Ответ:
 (1) до описания полей данных 
 (2) после описания полей данных 
 (3) в произвольном порядке 
 (4) в специальной секции 
Упражнение 20:
Номер 1
Может ли класс иметь более одного конструктора?
Ответ:
 (1) может 
 (2) не может 
Номер 2
Какие из следующих утверждений НЕверные?
Ответ:
 (1) конструктор возвращает значение типа void
 
 (2) класс может иметь несколько конструкторов с разными параметрами для разных видов инициализации 
 (3) конструктор не может иметь параметров 
 (4) каждый класс обязан иметь конструктор без параметров 
Номер 3
Какие из следующих утверждений верные?
Ответ:
 (1) конструктор не возвращает значение 
 (2) конструктор возвращает значение типа void
 
 (3) конструкторы наследуются 
 (4) если программист не задал ни одного конструктора, выдается синтаксическая ошибка 
Упражнение 21:
Номер 1
Какие из следующих утверждений НЕверные?
Ответ:
 (1) конструкторы наследуются 
 (2) конструкторы нельзя описывать с модификатором const
 
 (3) конструкторы нельзя описывать с модификатором virtual
 
 (4) если программист не задал ни одного конструктора, выдается ошибка времени выполнения 
Номер 2
Какие из следующих утверждений неверные?
Ответ:
 (1) при написании конструктора производного класса всегда требуется явно вызывать конструкторы базовых классов 
 (2) класс может иметь несколько конструкторов с разными параметрами для разных видов инициализации 
 (3) конструктор, вызываемый без параметров, называется конструктором по умолчанию 
 (4) если программист не задал ни одного конструктора, выдается ошибка времени выполнения 
Номер 3
Как реализовать свойство, доступное только для чтения?
Ответ:
 (1) использовать в объявлении свойства спецификатор доступа readonly
 
 (2) задать для свойства спецификатор доступа sealed
 
 (3) реализовать только метод get
 
 (4) задать для свойства спецификатор доступа protected
 
Номер 4
Как реализовать свойство, доступное только для чтения?
Ответ:
 (1) использовать в объявлении свойства спецификатор доступа readonly
 
 (2) задать для свойства спецификатор доступа private
 
 (3) задать для свойства спецификатор доступа sealed
 
 (4) реализовать только метод get