Что напечатает на экране следующая программа?
Определить, что напечатает программа
Уважаемые гении, я буду предельно счастлив, если вы поможете мне с этим заданием. Язык C.
Указатель на структуру — что напечатает программа
Возьмём пример на языке Си: #include <stdio.h> typedef struct MyStruct; .
Что напечатает данная программа?
Dim s As Integer Dim k As Integer s = 0 For k = 3 To 15 s =.
Определить, что напечатает программа
Парни, спасайте, завтра сессия по информатике, я дун-дун в этом, ПОМОГИТЕ!! (фото прикрепил)
Напишите, что напечатает программа
Напишите, что напечатает следующая программа: program pl; var a,b:integer; procedure f1.
Линейный алгоритм — что напечатает программа?
Линейный алгоритм 1. Объясни, что будет напечатано программой Код Pascal Program e1; Var.
Алгоритмическая структура «цикл». Что напечатает программа?
1. Объяснить, что будет напечатано программой Program e1; Var x: byte; Begin For x:=1 to 5 do.
Сколько "звездочек" напечатает следующая инструкция
n : = 0 ; repeat write ( ‘ * ‘ ) ; n : = n+1; until n<5; Ответ: ___________ Измените.
ООП | Вопросы с ответами
27. Полиморфными объектами или полиморфными переменными называются?
>> Переменные, которым в процессе выполнения программы может быть присвоено значение, ти которого отличается от типа переменной.
28. К изменению свойств объекта возможен только через принадлежащие ему?
>> методы
29. В момент времени объект характеризуется:?
>> Свойствами
30. Деструкторы?
>> Методы освобождающие состояние объекта и/или разрушающие сам объект
31. Формирование представления о качествах или свойствах предмета путем мысленного удаления некоторых частей или материальных объектов – это?
>> Абстракция
32. Строго определенный набор открытых операций, которые можно применять к данному объекту, называется его?
>> Интерфейсом
33. Составной объект, в который входят элементы данных любых типов, за исключением функций, — это?
>> Структуры
34. Сообщение в ООП – это?
>> Понятие, которое представляет выполняемое объектом действие.
35. Со спецификатором доступа public-компонент может быть использован?
>> любой функцией.
36. Реализация операции динамической модели для объектов данного класса называется ее?
>> Методом.
37. Реакция объекта на событие определяется?
>> Его состоянием.
38. Процесс, при котором различный код и данные различных модулей соединяются друг с другом в процессе исполнения, называют компоновкой?
>> Динамической.
39. Программная единица, рассматриваемая как целое в контекстах хранения в наборе данных, трансляции, объединения с другими программными единицами и загрузки в оперативную память для выполнения, называется?
>> Программный модуль.
40. Пользователь абстрактного типа данных не может производить доступ к?
>> представлениям абстрактного типа данных.
41. Определение требуемого количества памяти при ее исходном распределении производится?
>> с использованием типа
42. Объектно-ориентированная программа состоит из?
>> Отдельных фрагментов кода, обрабатывающего данные, которые взаимодействуют друг с другом через определенные интерфейсы.
43. Объект в методологии ООП – это?
>> Инкапсулированная абстракция
44. ООП позволяет программисту моделировать объекты определенной предметной области путем?
>> программирования их содержания и поведения в пределах класса
45. Метод в ООП – это?
>> Реакция объекта на сообщение
46. Между объектами модели можно устанавливать зависимости по данным. Эти зависимости выражают связи или отношения между?
>> классами
47. Концепция объектно-ориентированного программирования подразумевает, что основой управления процессом реализации программы является?
>> передача сообщений объектам.
48. Конструкция "класс" для реализации абстрактных типов данных обеспечивает механизм?
>> Инкапсуляции
49. Ключевое слово this?
>> Обеспечивает доступ к текущему экземпляру класса
50. Операция точки (операция доступа в члену класса) объединяет следующие два элемента (слева направо)?
>> Объект класса и член класса
51. Реализация полиморфизма. Перегрузка?
>> используется, когда определяется несколько функций с одним именем – одно и то же имя функции может много кратно использоваться в разных местах программы, выбор нужной функции может определяется типами аргументов, областью видимости.
52. Методы, для которых должно реализовываться позднее связывание получили название?
>> Виртуальные
53. Методы, для которых должно реализовываться ранее связывание получили название?
>> Статические методы
54. Абстрактный класс может использоваться для других классов только в качестве класса?
>> Базового
55. Перегрузкой называется определение нескольких функций, имеющих?
>> Одинаковое имя, но разные списки аргументов.
56. Использование одного и того же имени в нескольких смыслах применительно к функции, когда выбранный смысл зависит от типов аргументов функции, — это?
>> Перегрузка
57. Если производный класс был выведен из более чем одного базового класса, такой способ называется наследованием?
>> Множеством
58. Переопределенный атрибут (свойство) или метод?
>> такой атрибут или метод, который объявлен в родителе (или потомке), но заново реализованный в дочернем классе.
59. Новый метод или атрибут?
>> Метод или атрибут, описанный в дочернем классе, но отсутствующий в его предках
60. Рекурсивный (унаследованный) атрибут или метод?
>> Атрибут или метод определен в предке, но не переопределен в потомке
61. Позднее связывание?
>> Это динамическое связывание вызова метода с определением метода, которое осуществляется во время выполнения, если некоторая информация отсутствует на этапе компиляции и становится известной, только когда приложения выполняется.
62. Простое наследование?
>> Появляется, когда один потомок наследуется от одного родителя
63. Многоуровневое наследование?
>> Появляется, когда потомок наследуется от родителя, а затем сам становится родителем.
64. Множественное наследование?
>> Используется, когда отношение включает нескольких родителей и одного потомка
65. Множественное наследование классов поддерживается в языке?
>> Верных ответов нет
66. Альтернатива множественному наследованию классов в C#?
>> Множественное наследование интерфейсов
67. Основная особенность абстрактного класса?
>> Может служить только базовым для других классов. Нельзя создавать его экземпляры.
68. Что происходит, когда класс помечается словом sealed?
>> Его нельзя наследовать
69. class A
class B : A
class Program public static void Main(string[] args)
Console.WriteLine(a is B); Console.WriteLine(b is A);
Console.WriteLine(b is B); >> что будет в результате?
>> True False True True
73. 1) sealed class MyClass
2) 3) int x;
4) . >
5) class MyClass2: MyClass
6) 7) > в какой строке ошибка?
>> В 5-й
76. using System;
classMyClass
a.x = 10;b.x = 20;a = b;b.x = 30;
Console.WriteLine("a.x , b.x ", a.x, b.x);>>чтовыведетсяврезультате?
>> a.x. 30, b.x. 30
77. Когда вызываются статические конструкторы классов в C#?
>> Один раз при первом создании экземпляра или при первом обращении к статическим членам класса.
78. Каким образом можно перехватить добавление и удаление делегата из события?
>> Для этого существуют специальные ключевые слова add и remove
79. Что произойдет при исполнении следующего кода? int i = 5; object o = i; long j = (long)o;?
>> Средой исполнения будет вызвано исключение InvalidCastException
80. Реализацией какого паттерна (шаблона проектирования) являются события в C#?
>> Издатель-подписчик (Publisher-Subscriber)
81. Чем отличаются константы и доступные только для чтения поля?
>> Константы инициализируются во время компиляции, доступные только для чтения поля — во время выполнения
82. Выберите элементы, которые нельзя пометить атрибутом?
>> Все перечисленное можно пометить атрибутом.
83. Что такое статическая переменная?
>> Переменная, значение которое общее для всех экземпляров класса.
84. Какое утверждение верно?
Значение констант может меняться во время выполнения программы
Константы не являются членами класса
Константы не могут быть инициированы через другие константы
>> Константы не могут определяться со словом static
Верных ответов нет
85. Что такое оператор foreach?
>> Это цикл по всем элементам некой определенной коллекции
86. Какие типы можно использовать в предложении foreach?
>> Массивы, коллекции. Классы в которых реализован интерфейс System.Collections.IEnumerable
87. Что означает модификатор virtual?
>> При наследовании класса. Данный метод м.б. переопределен в производных классах с помощью ключевого слова override.
88. Наследуются ли переменные с модификатором private?
>> Да, но они не являются доступными.
89. Можно ли запретить наследование от своего собственного класса?
>> Да. Для этого служит ключевое слово “sealed”.
90. Можно ли разрешить наследование класса, но запретить перекрытие метода?
>> Да. Указываем класс как public, а метод как sealed.
91. using System;
public class A
public class B : A
class App
Console.Write(b is A); Console.WriteLine(b is B);>> Что будет выведено?
>> True false true true
94. Какое утверждение о реализации интерфейсов справедливо?
>> Реализация интерфейсов бывает явной и неявной
97. Необходимыми условиями создания пользовательского атрибута являются?
>> Наследование от класса Attribute.
98. namespace Program
public A(int newID)
static void Main(string[] args)
arrayOfA[1] = new A(4); arrayOfA[2] = new A(58);
arrayOfA[3] = new A(31); System.Array.Sort(arrayOfA);>>
В ходе выполнения данного кода генерируется исключение при вызове метода Sort(). Выберите одно из решений, реализация которого позволит этому коду отработать корректно?
>> Унаследовать класс от интерфейса IComparable и реализовать его метод CompareTo()
99. using System;
namespace ConsoleApplication6
>
interface ICounter
interface IListCounter : IList, ICounter
class Program
x.Count = 1; //3
>
static void Main(string[] args) >> В какой строке ошибка?
>> 3
101. Какое ключевое слово используется в производном классе для вызова конструктора класса-предка?
>> base
103. Переменная типа А присваивается переменной типа В. В каком случае происходит упаковка (boxing)?
>> A = char, B = object.
104. Классификация форм наследования по Тимоти Бадду. Специализация?
>> Класс-наследник является специализированной формой родительского класса — в наследнике просто переопределяются методы.
105. Классификация форм наследования по Тимоти Бадду. Спецификация?
>> Дочерний класс реализует поведение, описанное в родительском классе. В С# эта форма реализуется наследованием от абстрактного класса.
106. Классификация форм наследования по Тимоти Бадду. Конструирование?
>> Класс-наследник использует методы базового класса, но не является его подтипом.
107. Классификация форм наследования по Тимоти Бадду. Расширение?
>> В класс-потомок добавляют новые методы, расширяя поведение родительского класса.
Операторы печати
Мне нужна помощь в решении этой проблемы в уме, поэтому, если у кого-то была похожая проблема, это мне очень помогло бы.
Задача: Что напечатает следующий код:
Я не понимаю, почему печать выглядит так:
В первой функции печати мое мнение о том, почему она печатает 2, заключается в том, что у нас есть два данных типа char в объединении.
Во второй функции она выводит 2, потому что у нас есть два элемента массива типа char.
В третьей функции она печатает 1, потому что у нас есть одни данные типа char.
В четвертой функции она печатает 41, потому что «A» вводится в данные char в объединении, а 41 — это шестнадцатеричное значение A.
Я вообще не понимаю пятую функцию для печати, потому что мне непонятно условие тернарного оператора.
Может ли кто-нибудь объяснить мне, почему распечатка такая?
4 ответа
Определена переменная с именем u типа объединения, объявленная в той же строке. Переменная также инициализируется значением «A», которое представляет собой завершающуюся нулем последовательность из 2 char с. Инициализация нацелена на первый из вариантов объединения, массив char с двумя элементами. Массив получает ‘A’ в индексе 0 и ‘\0’ в индексе 1.
Тернарный оператор используется для проверки индекса 1 массива (который содержит нулевой терминатор; логическое значение false). Следовательно, параметр, выбранный троичным, — это «05:%d» , т. е. спецификатор формата для целочисленной интерпретации. Который используется для вывода второго варианта объединения. Таким образом, на выходе получается целочисленное значение 65, по умолчанию представленное в десятичном формате.
u — это тип union , содержащий два члена: двухэлементный массив char[] с именем s и один char с именем c . Все элементы union перекрываются в памяти, поэтому размер union равен размеру самого большого члена, в данном случае это s . А поскольку sizeof(char) равно 1, размер s равен sizeof(char) * 2 = 2 , поэтому размер union равен 2.
s — это массив char[2] , поэтому его размер равен sizeof(char) * 2 = 2 .
c — это один char , поэтому его размер равен sizeof(char) = 1 .
Вы инициализируете u строковым литералом «A» . Инициализация union инициализирует его 1-й элемент (если только не используется назначенный инициализатор, чего вы не делаете). Таким образом, u.s инициализируется . И поскольку u является union , u.c перекрывает 1-й элемент массива u.s в памяти, поэтому u.c теперь содержит символ ‘A’ , который имеет десятичное значение ASCII 65. Вы указываете printf() напечатать значение u.c как шестнадцатеричное целое число, а шестнадцатеричное значение 65 равно 0x41.
?: условный оператор оценивает свой второй операнд, только если его 1-й операнд отличен от нуля, в противном случае он оценивает свой 3-й операнд. В этом случае вы, по сути, делаете эквивалент этого:
Как указано выше, u.s[1] инициализируется символом ‘\0’ , который имеет числовое значение ASCII, равное 0. Поскольку 1-й операнд ?: равен 0, оценивается 3-й операнд, который равно «05:%d» . Таким образом, вы говорите printf() печатать значение u.c как десятичное целое число, а не как символ. И, как указано выше, u.c содержит символ ‘A’ , который имеет десятичное значение 65.
Имеет такое же поведение, как это:
Теперь должно быть ясно. Прочтите о тернарном операторе в вашем учебном материале.
Строка /*2*/ : ошибки в фразе "Heto Wrokf
К Что будет выведено на консоль в результате выполнения следующего кода:
static void Main(string[] args)
string @string = "ABC"; Console.Write L ine(string);
v Возникнет ошибка компиляции System. String Пустая строка © ABC
ШЧто напечатает следующий код:
static bool Methodl()
Console.WriteLine("in Method1" ) ; return false;
static bool Method2()
Console.WriteLine("in Method2"); return true;
static void Main(string[] args)
Console.WriteLine ( " inside if " );
in Methodl in Method2
(§) in Methodl in Methodl inside if
Пояснение: Правый операнд оператора ftft не нуждается в вычислении, так как Methodl вернул false.
18 Можно ли в конструктор передать параметр с ключевым словом ref?
ККакими способами из перечисленных может быть перегружен метод в С#?
[71 другой тип возвращаемого значения П v другое количество параметров П v другой тип параметров Г71 другое имя метода
^ Что напечатает следующий код:
static void Main()
int a = 1, b = 2; Swap(a, b);
Console.WriteLine("a =" + a + b=" + b); Console.ReadLine();
private static void Swap(int a, int b)
int с = a; a = b; b = c;
Возникнет ошибка времени выполнения а=2, b=1 <§) v а=1, Ь=2
Возникнет ошибка компиляции
* Какое ключевое слово используется для прекращения выполнения конструкций switch, for, while?
Ваш ответ: [break Правильные ответы: break
Что будет выведено на консоль в результате выполнения следующего метода: | Операторы и опер< |
public void TestMethodQ | |
Console. ReadLineQ; > | |
117 / 33 | |
<§) 3 | 871 / 33 |
5 ✓ 4 | 2026 / 33 |
Возникнет ошибка компиляции 329 / 33 |
Пояснение: Постинкремент к++ вернет 1 и увеличит к на 1, в результате преинкремент увеличит к-2 на 1 и сумма будет равна 4.
Ш Какие из следующих модификаторов валидны в С#?
1 external П у/ private П ✓ public
[71 protected external Г71 v protected internal
К Укажите имя класса, от которого наследуются все исключения.
Ваш ответ: [Exeption,System. Exeptio] Правильные ответы: Exception,System.Exception
t Скомпилируется ли данный фрагмент кода успешно?
private int GetID (string inputText)
return 1; else if (inputText == "") return 0j
Что напечатает следующий код:
static void Main()
int a = 1, b = 2; change(ref a, ref b);
Console.WriteLine("a=" + a + b=" + b); Console.Read Line();
private static void change(ref int a, ref int b)
int с = a; a « b; b = c;
Возникнет ошибка компиляции Возникнет ошибка времени выполнения
Ш Дана переменная Операторы и от
Как можно проинициализировать num , чтобы код
Выдал результат Not equal
f71 Такой вариант невозможен 2069 /
Пояснение: В результате действия оператора 0 / 0. OF получается результат, который не является числом (NAN • not a number), поэтому выражение (пит == пит) нельзя рассматривать с логической точки зрения
ККакие модификаторы доступа из перечисленных по умолчанию даются классу, описанному в Классы и об
□ public 2136/ [3 private 2798 /
□ protected 793 /
□ ✓ internal 4354 / П Ни один из перечисленных 370 /
Пояснение: Невложенный класс — класс, который находится непосредственно в namespace. Такой класс может иметь 2 модификатора доступа • public и internal. По умолчанию класс имеет модификатор internal.
Скомпилируется ли следующий код (как часть некоторого метода):
string[] str = new string[5]; try
str[4] = "anything"; catch (Exception e)
Console.WriteLine(e. Message); catch (IndexOutOfRangeException e) Console.WriteLine(e. Message);
Пояснение: Код не компилируется.
Обработка исключений должна идти в восходящем порядке по иерархии исключений (от классов-детей к суперклассам).
К Укажите все правильные способы объявления массива:
И int k[]; 0 int k[3];
[3 ✓ int[] k = new int [3];
К Укажите все правильные способы объявления массива в результате которых массив будет корректно инициализирован
int someArray[] = new int[4]; П int[] someArray = ; [Zl ^ int[] someArray = new int[] ; Г7| У int[] someArray = new int[4]; I7l int[4] someArray; СИ int[] someAoay = new int[4] ;
К Что выведет на консоль следующая программа:
public delegate void MethodDelegate(string param);
private void privateMethod(string str)
public void GetMeth(out MethodDelegate md)
HeUo ® _worid : v HeUo.wortd
Ошибка времени выполнения
ШЗадано классы:
Какие фрагменты кода выполнятся успешно?
□ v А а = new В(); а = null;
0 ✓ Object а = new В(); В b = a as В;
Object а = new А(); Object b = (В)а;
Ш Что будет выведено в результате работы программы?
Возникнет ошибка компиляции, т.к. С# не поддерживает директивы препроцессора (§) Возникнет ошибка во временя выполнения
v При компиляции в debug моде будет выведено "DEBUG", а при release — "RELEASE"(если определенны эти константы)
Пояснение: Ctt поддерживает директивы препроцессора___________________________________________________________________
ШЧто напечатает следующим код:
static void Main()
int a = 1, b = 2; change (ref a, ref b);
Console.WriteLine("a =" + a + b=" + b); Console.ReadLine();
private static void change (ref int a, ref int b)
int с = a j a = b; b = c;
Возникнет ошибка компиляции Возникнет ошибка времени выполнения
К Укажите все правильные способы объявления массива в результате которых массив будет корректно инициализирован
0 ■У int[] someAnay = new int[] ; fTl ✓ int[] someAnay — new int[4] ; ^Jl V int[] someAnay = new intJ4]; □ v int[] someAnay — ; П int[4] someAnay;
int someAnay[] = new int[4];
* A::Print B:: Print B:: Print
Пояснение: В блоке catch не обязательно указывать идентификатор исключения