Лекция: Оператор do … while

Ту же программу (см. пример 1) для сравнения напишем с помощью другого оператора цикла:

int mult, to, RES=1;

cout<<«Mult=»; cin>>mult;

cout<<«To=»; cin>>to;

do RES*=mult; // или RES=RES*mult;

while (RES< to);

cout<<"\nResult= "<<RES;

Общий вид оператора цикла с постусловием такой:

do { оператор1;

оператор2; …

операторN;

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

Сначала выполняется тело цикла, а затем вычисляется и проверяется значение выражения. Если оно, как и в первом операторе, истинно (не равно нулю), то операторы, записанные между ключевыми словами do и while, повторяются. В противном случае цикл прекращается. Заметим, что аналогичный оператор языка Pascal repeat … until работает по-другому; если выражение после until истинно, цикл прекращается.

Как в С++, так и в Pascal, в отличие от while повторяющаяся часть обязательно выполнится хотя бы один раз. В нашем примере, даже если введём, например, отрицательное значение to и mult=2, цикл do … while выполнится один раз, то есть RES станет равным 2, и выйдем из цикла. Этим и отличаются два казалось бы похожие операторы цикла.

Вторая особенность оператора do … while в том, что значения переменных выражения не обязательно надо определять до цикла, это можно сделать и внутри его.

 

еще рефераты
Еще работы по информатике