Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ответы на вопросы_2003.doc
Скачиваний:
7
Добавлен:
16.04.2019
Размер:
275.46 Кб
Скачать

20. Цикл while.

Цикл while имеет одно ограничение — если условие заведомо неверно, то дей­ствие не будет выполнено вообще ни разу.

Оператор while используется в том случае, когда количество итераций заранее неизвестно. Существуют две формы оператора: префиксная и постфиксная. В префиксной форме его синтаксис таков:

while (<Условие>)

<Тело_цикла>

Здесь <while> — зарезервированное слово; <Выражение> — выражение типа bool; <Тело_цикла> — произвольный оператор или блок операторов.

Постфиксная форма:

do

<Тело_цикла>

while (<Условие>)

Таким образом, в префиксной форме сначала проверятся истинность условия и только после этого выполняется тело цикла, а в постфиксной сначала выполняется тело цикла и лишь потом проверяется условие: если оно истинно тело цикла выполняется заново. В префиксной форме тело цикла может не выполниться ни разу, в то время как в постфиксной оно будет выполнено хотя бы один раз.

Очевидно, что в операторе while проверяемое условие должно изменяться в теле цикла, в противном случае цикл никогда не завершится естественным образом, и программа «зациклится».

21. Оператор do.

В отличие от оператора цикла while и for, где условие проверяется в самом начале цикла, в операторе do-while условие выполнения цикла проверяется в самом его конце. Это означает, что цикл do-while выполняется хотя бы один раз. Общая форма оператора цикла выглядит так:

do {

операторы;

} while (условие);

При наличии лишь одного оператора фигурные скобки необязательны. Тем не менее они зачастую используются для того, чтобы сделать конструкцию do-whileболее удобочитаемой и не путать её с конструкцией while. Цикл do-whileвыполняется до тех пор, пока условное выражение истинно.

22. Оператор for.

Оператор forочень гибкий оператор в C#.

Общая форма оператора for

for(инициализация; условия; итерация)

{ оператор(ы) }

где инициализация, как правило, представлена оператором присваивания, задающим первоначальное значение переменной, которая выполняет роль счетчика и управляет циклом; условие — это логическое выражение, определяющее необходимость повторения цикла; а итерация — выражение, определяющее величину, на которую должно изменяться значение переменной, управляющей циклом, при каждом повторе цикла. Все три основные части цикла forдолжны быть разделены точкой с запятой. Выполнение цикла forбудет продолжаться до тех пор, пока проверка дает истинный результат. Как только эта проверка даст ложный результат, цикл завершиться, а выполнение программы будет продолжено с оператора, следующего после цикла for.

Цикл forможет продолжаться как в положительном, так и в отрицательном направлении, изменяя значения переменной управления циклом на любую величину.

В отношении циклов forследует особо подчеркнуть, что условное выражение всегда проверяется в самом начале цикла. Это означает, что код в цикле может вообще не выполниться, если проверяемое условие с самого начала оказывается ложным.

Оператор цикла forотносится к самым универсальным операторам языка C#, поскольку он допускает самые разные варианты своего применения. Некоторые разновидности:

1. применение нескольких переменных управления циклом;

в операторе цикла forразрешается использовать две и более переменных для управления циклом. В этом случае операторы инициализации и инкремента каждой переменной разделяются запятой.

2. условное выражение;

Условным выражением, управляющим циклом for, может быть любое действительное выражение, дающее результат типа bool. В него не обязательно должна входить переменная у правления циклом.

3. объявление управляющих переменных в цикле for;

Нередко переменная, управляющая циклом for, требуется только для выполнения самого цикла и нигде больше не используется. В таком случае управляющую переменную можно объявить в инициализирующей час ти цикла for. Например:

for(int=I; i<=5; i++) {…}