Оператор с предусловием while

Цикл с предусловием реализует структурную схему, приведенную на рис. 7.1, а, и имеет вид

while (выражение)

код цикла;

Выражение определяет условие повторения кода цикла, представленного простым или составным оператором.

Если выражение в скобках – истина (не равно 0), то выполняется код цикла. Это повторяется до тех пор, пока выражение не примет значение 0 (ложь). В этом случае происходит выход из цикла и выполняется оператор, следующий за конструкцией while. Если выражение в скобках изначально ложно (т.е. равно 0), то цикл не выполнится ни разу.

Код цикла может включать любое количество операторов, связанных с конструкцией while, которые нужно заключить в фигурные скобки (организовать блок), если их более одного.

Переменные, изменяющиеся в коде цикла и используемые при проверке условия продолжения, называются параметрами цикла. Целочисленные параметры цикла, изменяющиеся с постоянным шагом на каждой итерации, называются счетчиками цикла.

Начальные установки могут явно не присутствовать в программе, их смысл состоит в том, чтобы до входа в цикл задать значения переменным, которые в этом цикле используются.

Рис. 7.1. Схемы операторов цикла:

а – цикл с предусловием; б – цикл с постусловием

 

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

Для этого используют оператор continue – переход к следующей итерации цикла и break – выход из цикла (см. разд. 9.2, 9.3).

Передавать управление извне внутрь цикла не рекомендуется, так как получите непредсказуемый результат.

Например, необходимо сосчитать количество символов в строке. Предполагается, что входной поток настроен на начало строки. Тогда подсчет символов выполняется следующим образом:

int count = 0;

char ch = getchar();

while ( ch != \n') {

count++;

ch = getchar();

}

В языке Си в выражение, управляющее циклом, можно включить и оператор присваивания переменной ch, например:

char ch;

int count = 0;

while (( ch=getchar()) != '\n') count++;

Как видим, переменная ch применяется только в выражении, управляющем циклом, поэтому от ch можно отказаться:

int count = 0;

while ( getchar() !='\n') count ++;

 








Дата добавления: 2015-09-11; просмотров: 800;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.005 сек.