
- •Int main()
- •Int main()
- •Глава 3: Основные типы данных
- •Int main()
- •Int main()
- •Int main()
- •Int main()
- •Int main()
- •Int main()
- •Глава 4: Инструкции управления
- •Int main()
- •Int main()
- •Int main()
- •Int main()
- •Int main()
- •Int main()
- •Int main()
- •Int main(){
- •Int main()
- •Int main()
- •Int main()
- •Int main()
- •Int main()
Int main()
{
int num;
do {
cout << "Введите число (100 - для выхода): ";
cin >> num;
}while(num != 100);
return 0;
}
Использование инструкции continue
Инструкция continue позволяет немедленно перейти к выполнению следующей итерации цикла.
В C++ существует средство "досрочного" выхода из текущей итерации цикла. Этим средством является инструкция continue. Она принудительно выполняет переход к следующей итерации, опуская выполнение оставшегося кода в текущей. Например, в следующей программе инструкция continue используется для "ускоренного" поиска чётных чисел в диапазоне от 0 до 100.
#include <iostream>
using namespace std;
Int main()
{
int x;
for(x=0; x<=100; x++) {
if(x%2) continue;
cout << x << ' ';
}
return 0;
}
Здесь выводятся только четные числа, поскольку при обнаружении нечётного числа происходит преждевременный переход к следующей итерации, и cout-инструкция опускается.
В циклах while и do-while инструкция continue передает управление непосредственно инструкции, проверяющей условное выражение, после чего циклический процесс продолжает "идти своим чередом". А в цикле for после выполнения инструкции continue сначала вычисляется инкрементное выражение, а затем— условное. И только после этого циклический процесс будет продолжен.
Использование инструкции break для выхода из цикла
Инструкция break позволяет немедленно выйти из цикла.
С помощью инструкции break можно организовать немедленный выход из цикла, опустив выполнение кода, оставшегося в его теле, и проверку условного выражения. При обнаружении внутри цикла инструкции break цикл завершается, а управление передается инструкции, следующей, после цикла. Рассмотрим простой пример.
#include <iostream>
using namespace std;
Int main()
{
int t;
// Цикл работает для значений t от 0 до 9, а не до 100!
for(t=0; t<100; t++) {
if(t==10) break;
cout << t <<' ';
}
return 0;
}
Эта программа выведет на экран числа от 0 до 9, а не до 100, поскольку инструкция break при значении t, равном 10, обеспечивает немедленный выход из цикла.
Инструкция break обычно используется циклах, в которых при создании особых условий необходимо обеспечить немедленное их завершение. Следующий фрагмент содержит пример ситуации, когда по нажатию клавиши выполнение цикла останавливается.
for(i=0; i<1000; i++) {
// Какие-то действия.
if(kbhit()) break;
}
Инструкция break приводит к выходу из самого внутреннего цикла. Рассмотрим пример.
#include <iostream>
using namespace std;
Int main()
{
int t, count;
for(t=0; t<100; t++) {
count = 1;
for(;;) {
cout << count << ' ';
count++;
if(count==10) break;
}
cout << '\n';
}
return 0;
}
Эта программа 100 раз выводит на экран числа от 0 до 9. При каждом выполнении инструкции break управление передается назад во внешний цикл for.
На примере предыдущей программы вы убедились, что в C++ с помощью инструкция for можно создать бесконечный цикл. (Бесконечные циклы можно также создавать, используя инструкции while или do-while, но цикл for — это традиционное решение.) Для выхода из бесконечного цикла необходимо использовать инструкцию break. (Безусловно, инструкцию break можно использовать и для завершения небесконечного цикла.)
Вложенные циклы
Как было продемонстрировано на примере предыдущей программы, один цикл можно вложить в другой. В C++ разрешено использовать до 256 уровней вложения. Вложенные циклы используются для решения задач самого разного профиля. Например, в следующей программе вложенный цикл for позволяет найти простые числа в диапазоне от 2 до 1000.
/* Эта программа выводит простые числа, найденные в диапазоне от 2 до 1000.
#include <iostream>
using namespace std;