
- •1).Net Framework: общая характеристика, основные компоненты.
- •2).Net Framework: виртуальная машина и управляемый код
- •3) Алфавит языка c#. Лексемы: идентификаторы, ключевые слова, неименованные компоненты.
- •4) Типы данных языка с#: концепция, основные типы.
- •5) Переменные: правила описания, инициализация.
- •Область видимости переменных
- •6) Операции языка c#. Правила вычисления выражений.
- •1) Операция присваивания
- •2) Арифметические операции
- •3) Поразрядные операции
- •4) Операции отношения:
- •5) Логические операции:
- •6) Операция «приведение к типу»:
- •7) Строковые преобразования. Класс Convert:
- •8) Понятие исключения:
- •7) Операторы языка c#. Составной оператор. Блок. Метки
- •1) Оператор присваивания:
- •2) Вызов метода:
- •3) Блок или составной оператор:
- •4) Операторы ветвления:
- •4.1. Оператор if:
- •4.2. Оператор switch:
- •5) Операторы цикла:
- •5.1. Оператор for:
- •5.2. Оператор while:
- •5.3. Оператор foreach:
- •6) Операторы перехода:
- •6.1. Оператор goto:
- •6.2. Операторы break и continue:
- •6.3. Оператор return:
- •8) Операторы выбора: if и switch
- •4.1. Оператор if:
- •4.2. Оператор switch:
- •9) Операторы цикла.
- •5.1. Оператор for:
- •5.2. Оператор while:
- •5.3. Оператор foreach:
- •10) Операторы передачи управления.
- •11) Логические и поразрядные операции языка с#.
- •12) Классы. Основные понятия, спецификаторы доступа.
4) Операторы ветвления:
Для выбора одной из нескольких возможностей в языке C# имеются две конструкции – if и switch. Первую из них обычно называют альтернативным выбором, вторую - разбором случаев.
4.1. Оператор if:
Синтаксис оператора:
If (выражение_1) оператор_1 else if (выражение_2) оператор_2 ... else if (выражение_K) оператор_K else оператор_N
Выражения в круглых скобках должны быть булевого типа. Точнее, при вычислениях выражения должны давать значения true или false. Вспомним, что арифметический тип не имеет явных или неявных преобразований к булевому типу. Каждый из операторов может быть любым оператором – в частности, блоком или другим if-оператором. Поэтому возможна и такая конструкция:
if (выражение_1) if (выражение_2) if (выражение_3) ...
Ветви else и if, позволяющие организовать выбор из многих возможностей, могут отсутствовать. Может отсутствовать заключительная else-ветвь. Выполняется тот оператор, который записан после выражения, имеющего истинное значение. Проверка истинности выражений выполняется в порядке их написания. Если все выражения ложны, то выполняется оператор после else. Пример записи оператора:
if (k % 7 = = 0) { Console.WriteLine("Число делится на 7 нацело"); } else Console.WriteLine("Число не делится на 7");
4.2. Оператор switch:
Важным случаем выбора из нескольких вариантов является ситуация, при которой выбор варианта определяется значениями некоторого выражения. Такой выбор можно описать и оператором if, но тогда выражение придётся повторять в каждом условии. Более наглядным такой выбор можно сделать с помощью оператора switch. Вот его синтаксис:
switch (выражение) { case константное_выражение_1: операторы_1 оператор_перехода_1 ... case константное_выражение_K: операторы_K оператор_перехода_K default: операторы_N оператор_перехода_N }
Конструкция не очень строгая. Ветвь default может отсутствовать. Так же могут отсутствовать операторы перехода (если программисту так надо). А вот константные выражения в case должны иметь тот же тип, что и switch-выражение.
Из-за нестрогости конструкции семантика оператора switch чуть-чуть запутана. Вначале вычисляется значение switch-выражения. Затем оно поочерёдно в порядке следования case сравнивается на совпадение с константными выражениями. Как только достигнуто совпадение, выполняется соответствующая последовательность операторов case-ветви. Поскольку последний оператор этой последовательности является оператором перехода (чаще всего это оператор break), то обычно он завершает выполнение оператора switch. При его отсутствии управление "проваливается" в следующую case-ветвь. Если значение switch-выражения не совпадает ни с одним константным выражением, то выполняется последовательность операторов ветви default, если, конечно, она есть. Пример записи оператора:
switch (variant) { case 1: Console.Write("Сторона А = "); temp = Console.ReadLine(); a = Convert.ToDouble(temp); Console.Write("Сторона B = "); temp = Console.ReadLine(); b = Convert.ToDouble(temp); Console.WriteLine("Площадь прямоугольника = "+a*b); break; case 2: Console.Write("Сторона А = "); temp = Console.ReadLine(); a = Convert.ToDouble(temp); Console.Write("Высота H = "); temp = Console.ReadLine(); h = Convert.ToDouble(temp); Console.WriteLine("Площадь треугольниика = "+ a * h / 2); break; . . . . . . . . . . . . . . . . . . . . default: Console.WriteLine("Выбор неверен "); break; }