Решения Коды решений к предыдущим упражнениям:
1. Решение цикла while, которое выводит числа от 1 до 10:
int x = 1;
while( x <= 10 )
{
79 |
С т р а н и ц а
cout << x << endl;
x++;
}
2. Решение цикла while, которое выводит числа от 1 до 10, в обратном порядке:
int x = 10; // x high
while( x >= 1 ) //
продолжается пока x не станет 0 или меньше
{
cout << x << endl;
x--; //
понижает значение x на 1
}
3. Решение цикла while, которое выводит числа от 2 до 20, инкрементируя на 2:
int x = 2;
while( x <= 20 )
{
cout << x << endl;
x+=2; // повышает значение x на 2
}
4. Решение цикла while, которое выводит числа от 1 до 16 с возведением их в
квадратную степень:
int x = 1;
while( x <= 16 )
{
cout << x << " " << x*x << endl; //
выводит значения x и их квадрат
x++;
}
Цикл do/while Цикл do/while (делать/пока) почти идентичен циклу while. Вот пример цикла
do/while, который эквивалентен первому циклу while, что мы рассматривали:
int x = 1;
do
{
cout << "x
равен " << x << endl;
x++;
} while( x <= 5 ); //
может идти назад по циклу, если x<=5
cout << "
Конец программы" << endl;
Единственная разница здесь в том, что нам не надо проверять условие while при
нашем первом входе в цикл. Это значит, что тело цикла do/while всегда
выполняется хотя бы один раз (в то время как цикл while может быть пропущен
полностью, если условие для входа в цикл while даёт не true, а false, когда мы
проверяем его первый раз).
80 |
С т р а н и ц а
Цикл for Цикл for имеет слегка иную анатомию, чем цикл while, и оба они очень похожи.
Давайте рассмотрим анатомию цикла for сравнённую с эквивалентным циклом
while. Вот пример отрывков кода: