- •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) Классы. Основные понятия, спецификаторы доступа.
6) Операторы перехода:
Операторов перехода, позволяющих прервать естественный порядок выполнения операторов блока, в языке C# несколько.
6.1. Оператор goto:
Сразу нужно отметить, что использование этого оператора не рекомендуется. В принципе он допустим, так как достался языку C# в наследство от языка C. Однако, его использование не соответствует структурному стилю программирования, и делает запутанной логику программы. Оператор goto имеет три варианта записи.
А) goto метка; Б) goto case константное_выражение; В) goto default;
Первый вариант основан на следующем соображении. Все операторы языка C# могут иметь метку - уникальный идентификатор, предшествующий оператору и отделённый от него символом двоеточия. Передача управления помеченному оператору – это классическое использование оператора goto. Два других варианта используются внутри оператора switch. Они обеспечивают передачу управления в case-ветвь или default-ветвь.
6.2. Операторы break и continue:
Хорошим стилем программирования считается, когда используются "переходы вперёд" (но не назад), позволяющие при выполнении некоторого условия выйти из цикла, из оператора ветвления, из блока. Для этой цели можно использовать оператор goto, но лучше применять специально предназначенные для этих целей операторы break и continue.
Оператор break может стоять в теле цикла или завершать case-ветвь в операторе switch. Пример его использования в операторе switch уже демонстрировался. При выполнении оператора break в теле цикла завершается выполнение самого внутреннего цикла. В теле цикла, чаще всего, оператор break помещается в одну из ветвей оператора if, проверяющего условие преждевременного завершения цикла. Пример:
do { ... Console.Write("Завершаем работу? (Y,N)"); temp = Console.ReadLine(); otv = char.Parse(temp); if (otv = = 'Y' || otv = = 'y') break; ... }while(...);
Оператор continue используется только в теле цикла. В отличие от оператора break, завершающего внутренний цикл, continue осуществляет переход к следующему шагу цикла. Пример – вычисление значений функции на интервале от -10 до +10:
for (int i = -10; i < 11; i++) { if (i > -4 && i < 4) continue; y= Math.Sqrt(i * i - 9); Console.WriteLine("Значение функции = {0} при значении аргумента {1}", y, i); }
Здесь переход к следующему шагу цикла без вычислений необходим потому, что на отрезке [-3, 3] значение функции не существует.
6.3. Оператор return:
Ещё одним оператором, относящимся к группе операторов перехода, является оператор return, позволяющий завершить выполнение метода (процедуры или функции). Его мы рассмотрим позднее в другой отдельной статье.
8) Операторы выбора: 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");