Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Операторы повторения



Язык C++ предусматривает три типа структур повторения (цикла) в форме операторов for, while и do..while, которые позволяют программам многократно выполнять некоторые действия, пока условие (называемое условием продолжения цикла) остается истинной. Операторы for и while выполняют действие (или группу действий) в своем теле 0 или большее число раз. Оператор do..while по крайней мере один раз выполняет действие в своем теле.

Оператор цикла while

Оператор while имеет следующий синтаксис:

while (условие)

оператор;

Если условие истинно (возвращает значение true), то выполняется оператор, после чего условие проверяется снова. Так будет продолжаться до тех пор, пока условие не станет ложным (значение false): тогда цикл while завершится, а выполнение программы продолжится со следующей строки.

Листинг 3.3 демонстрирует оператор while. Условие, проверяемое в операторе while, может быть таким же сложным, как и любое другое выражение языка C++. Оно может состоять из нескольких выражений, объединенных логическими операторами && (AND — И), | | (OR — ИЛИ) и! (NOT — HE).

Листинг 3.3. Пример использования оператора while

1. #include <iostream>

2. using namespace std;

3. int main()

4. {

5. unsigned short small;

6. unsigned long large;

7. const unsigned short MAXSMALL=65535;

8.

9. cout << "Enter a small number: ";

10.cin >> small;

11.cout << "Enter a large number: ";

12.cin >> large;

13.

14.cout << "small: " << small << "...";

15.

16.// при каждой итерации проверять два условия

17.while (small < large && small < MAXSMALL)

18.{

19. // после каждых 5000 строк выводить точку

20. if (small % 5000 == 0)

21. cout << ".";

22.

23. small++;

24. large-=2;

25.}

26.cout << "\nSmall: " << small << " Large: "

27. << large << endl;

28.return 0;

29.}


Результат

Enter a small number: 2

Enter a large number: 100000

small: 2…….

Small: 33335 Large: 33334

Анализ

Это простая игра. Введите два числа. Затем меньшее число (small) начнет увеличиваться на единицу, а большее (large) — уменьшаться на два до тех пор, пока они не "встретятся". Цель игры: угадать число, на котором значения "встретятся".

В строках 9—12 осуществляется ввод значений. В строке 17 проверяются два условия продолжения цикла:

1. меньшее число меньше большего (small < large);

2. меньшее число меньше максимально допустимого (small < MAXSMALL).

В строке 20 вычисляется остаток от деления числа small на 5000, причем значение переменной small не изменяется. Если small делится на 5000 без остатка и в результате получается 0, то на экран выводится точка. Затем в строке 23 значение переменной small увеличивается на 1, а в строке 24 значение large уменьшается на 2.

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





Дата публикования: 2015-11-01; Прочитано: 1084 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.006 с)...