1. Основы C# Flashcards
Что такое тип переменной?
Формат хранения информации в памяти.
Как преобразовать строковое представление числа в double?
Вариант ответа 1, простой:
double.Parse, Convert.ToDouble
Вариант ответа 2, более сложный: double.TryParse -
3/2+1.5
2.5
Math.Round(5)/2 + 3.5
6.0
Что такое метод?
Именованная последовательность инструкций
Как объявить метод в C#?
Указать возвращаемое значение, имя метода, список аргументов в скобках с указанием их типов
Если метод “глобальный”, то надо указать static
static bool Method(int arg1, double arg2)
Что такое var?
Можно ли написать так: var a;
Синтаксический сахар, предлагающий компилятору вывести наиболее подходящий тип на основании возвращаемого справа значения.
var a = new int[5]; эквивалентно int[] a = new int [5];
Если справа нет значения, то компилятор не сможет вывести тип var и выдаст ошибку.
Как прочитать целое число из консоли?
Вариант ответа 1, простой: Console.ReadLine, а затем int.Parse
Вариант ответа 2, более сложный: Console.Read до символа-разделителя или -1, а затем int.Parse
Пусть n и m имеют тип int и n < m.
Возможно ли, что m*m < n?
При каких m и n?
int.Max - это (2^31 - 1)
Достаточно, чтобы m*m было больше int.Max, чтобы произошло переполнение.
Например, 2^15 будет достаточно.
Строго говоря, переполнение впервые произойдет на 46341, но не надо его считать.
Пусть a и b имеют тип double. Какое значение у следующего выражения? Почему так?
(a + b)(a + b) == aa + 2ab + b*b
Обычно true, но при некоторых значениях, например
double a = Math.Sqrt(7);
double b = Math.Sqrt(3);
будет false.
Существует ограниченное количество чисел с плавающей точкой, поэтому вычисления происходят с некоторой погрешностью. Как следствие, порядок вычислений влияет на погрешность и результат.
Какие типы ошибок могут возникать в процессе разработки программы?
В курсе явно указывались ошибки компиляции, времени выполнения, стилистические. Ничего страшного, если будет указано больше: ошибки алгоритма, проектирования
Как запустить программу под отладчиком в Visual Studio?
Ответ 1: Использовать клавишу F5.
Ответ 2: Также можно подключиться к существующему процессу через Debug/Attach Process
Когда стоит использовать enum?
Когда есть конечное число значений
Что может находиться внутри круглых скобок выражения if?
Выражение, возвращающее значение типа bool
Для чего применяется слово default в выражении switch?
Чтобы указать инструкции, которые надо выполнить, если ни один из case не подошел.
<p>Как можно улучшить код:if (a) return 25;else return 0;</p>
<p>Ответ 1: if (a) return 25;return 0;
Ответ 2 (более сложный) return a ? 25 : 0;</p>
Перепишите for с помощью цикла while:for (var i = 0; i < 10; i += 2) {}
{ var i = 0; while(i < 10) { i += 2; }}
Что может находиться в 1-ой секции for?
Декларация либо присваивание значений нескольким переменным одного типа