Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Билеты 1-12 (от Кати).doc
Скачиваний:
3
Добавлен:
24.04.2019
Размер:
298.5 Кб
Скачать

5) Операторы цикла:

5.1. Оператор for:

Синтаксис оператора:

for (инициализаторы; условие; список_выражений) оператор

Оператор, стоящий после круглой закрывающей скобки, задаёт тело цикла. В большинстве случаев телом цикла является блок, но может быть и любой одиночный оператор. Сколько раз будет выполняться тело цикла, зависит от трёх управляющих элементов, заданных в скобках. Инициализаторы задают начальное значение одной или нескольких переменных, часто называемых счётчиками или просто переменными цикла. В большинстве случаев цикл for имеет один счётчик, но иногда бывает полезно иметь несколько счётчиков. Значение условия определяет, должен продолжаться цикл или должен завершиться. Если значение условия true, то цикл продолжается. Если false, то цикл завершается. Список выражений, записанный через запятую, показывает, как меняются счётчики цикла на каждом шаге выполнения.

Выполнение начинается с выполнения инициализаторов. Затем проверяется условие. Если условие цикла истинно, то выполняется тело цикла, затем изменяются значения счётчиков и снова проверяется условие. Как только условие становится ложным, цикл завершает свою работу. В цикле for тело цикла может ни разу не выполняться, если условие цикла ложно после инициализации, а может происходить зацикливание, если условие всегда остаётся истинным. В нормальной ситуации тело цикла выполняется конечное число раз. Счётчики цикла зачастую объявляются непосредственно в инициализаторе и, соответственно, являются переменными, локализованными в цикле, так что после завершения цикла они перестают существовать. Пример записи оператора – вычисление факториала натурального числа:

for (int i = 1, r = 1; i <= n; i++) {  r = r*i; }

5.2. Оператор while:

Цикл while является универсальным видом цикла, включаемым во все языки программирования. Тело цикла выполняется до тех пор, пока остаётся истинным выражение while. В языке C# у этого вида цикла две модификации – с проверкой условия в начале (цикл с предусловием) и в конце цикла (цикл с постусловием). Первая модификация имеет следующий синтаксис:

while (выражение) оператор

Эта модификация соответствует стратегии: "сначала проверь, а потом делай". В результате проверки может оказаться, что и делать ничего не нужно. Тело такого цикла может ни разу не выполняться. Конечно же, возможно и зацикливание. В нормальной ситуации каждое выполнение тела цикла – это очередной шаг к завершению цикла. С помощью этого вида цикла факториал вычисляется так:

i = 1; r = 1; while (i <= n) { r = r * i; i++; }

Цикл, проверяющий условие завершения в конце, соответствует стратегии: "сначала делай, а потом проверь". Вот синтаксис этой модификации:

do оператор while(выражение);

Тело такого цикла выполняется, по меньшей мере, один раз. Пример записи цикла:

i = 1; r = 1; do { r = r * i; i++; }while (i <= n)

5.3. Оператор foreach:

Новым видом цикла, не унаследованным от С++, является цикл foreach, удобный при работе с массивами. Рассмотрим его подробно в другой моей статье при изучении массивов Массивы в c#.