Главная / Программирование /
Основы программирования на C# / Тест 3
Основы программирования на C# - тест 3
Упражнение 1:
Номер 1
К значимым типам языка C# относятся:
Ответ:
 (1) все арифметические типы 
 (2) массивы 
 (3) строки 
 (4) все арифметические типы, кроме типа double
 
Номер 2
К ссылочным типам языка C# относятся:
Ответ:
 (1) тип double
 
 (2) массивы 
 (3) строки 
 (4) все арифметические типы, кроме типа double
 
 (5) структуры 
Номер 3
К типам, определяемым пользователем языка C#, относятся:
Ответ:
 (1) классы 
 (2) строки 
 (3) перечисления 
 (4) структуры 
Упражнение 2:
Номер 1
Отметьте истинные высказывания:
Ответ:
 (1) существует неявное преобразование переменных арифметического типа в объекты 
 (2) существует неявное преобразование объектов в переменные арифметического типа 
 (3) возможно явное преобразование объектов в переменные арифметического типа 
 (4) переменная арифметического типа в определенном контексте воспринимается как объект 
Номер 2
Отметьте истинные высказывания:
Ответ:
 (1) тип double
является классом, родителем которого является класс object
 
 (2) все типы являются наследниками класса object
 
 (3) значимые типы не входят в иерархию классов языка C# 
 (4) тип string
наследует методы родительского класса object
и определяет собственные методы 
 (5) тип int
наследует методы родительского класса object
и определяет собственные методы 
Номер 3
Отметьте истинные высказывания:
Ответ:
 (1) метод ToString()
может быть вызван переменной X
арифметического типа – X.ToString()
 
 (2) метод ToString()
может быть вызван объектом X
класса Т
, созданного пользователем – X.ToString()
 
 (3) объекту класса Т
, созданного пользователем, всегда можно присвоить объект базового класса Object
 
Упражнение 3:
Номер 1
Цель и источник согласованы по присваиванию, если
Ответ:
 (1) базовый тип цели и тип источника совпадают 
 (2) тип источника является потомком базового типа цели 
 (3) базовый тип цели является потомком типа источника 
 (4) базовый тип цели – object
 
Номер 2
Если формальный аргумент метода объявлен как объект класса T
, то фактический аргумент может быть:
Ответ:
 (1) только класса T
 
 (2) любого класса 
 (3) только класса object
 
 (4) класса, являющегося родителем класса T
 
 (5) класса T
или класса, являющегося потомком класса T
 
Номер 3
Если присваивание x= y; допустимо, то обратное присваивание y=x;
Ответ:
 (1) всегда допустимо 
 (2) всегда допустимо для переменных ссылочных типов 
 (3) всегда допустимо для переменных значимых типов 
 (4) может требовать явного преобразования типов 
 (5) всегда требует явного преобразования типов 
Упражнение 4:
Номер 1
Операции упаковки и распаковки (boxing, unboxing)
Ответ:
 (1) преобразуют объекты значимого типа в ссылочный и обратно 
 (2) обе операции выполняются автоматически, не требуя явного задания преобразования типов 
 (3) задают преобразование строк из кодировки Unicode в кодировку ASCII и обратно 
Номер 2
Преобразование к типу object
Ответ:
 (1) всегда возможно и выполняется автоматически 
 (2) возможно, но требует явного задания преобразования 
 (3) возможно только для объектов ссылочного типа 
Номер 3
Класс object
- это
Ответ:
 (1) родительский класс для объектов ссылочного типа 
 (2) родительский класс для объектов значимого типа 
 (3) родительский класс для объектов классов, создаваемых программистом 
Упражнение 5:
Номер 1
Укажите истинные высказывания:
Ответ:
 (1) операции упаковки и распаковки могут выполняться при замене формальных аргументов метода на фактические аргументы 
 (2) целью называется левая часть оператора присваивания, а также формальный аргумент при передаче фактического аргумента в процедуру или функцию в момент вызова 
 (3) присваивание может быть ссылочным или значимым в зависимости от типа цели 
Номер 2
Правда ли, что:
Ответ:
 (1) динамический тип сущности определяется типом объекта, с которым в данный момент связана сущность 
 (2) данные значимого типа хранятся в куче 
 (3) в программе на C# вместо типа int можно использовать системный тип Int32 
Номер 3
Правда ли, что:
Ответ:
 (1) данные ссылочного типа хранятся в куче 
 (2) базовый тип сущности определяется классом, заданным при объявлении 
 (3) если при присваивании источник имеет значимый тип, то и цель преобразуется к значимому типу