Иногда бывает удобно выйти из цикла не по результату проверки, осуществляемой в начале или в конце цикла, а каким-то другим способом. Такую возможность для циклов даёт оператор break. Он вызывает немедленный выход из цикла. Рассмотрим пример, в котором показана программа для угадывания цифры.
#include<iostream>
Int main()
{
int a,i;
for(i=0; i<=9; i++)
{
cout<<"Insert a numeral: ";
cin>>a;
if(a = = 6)
break; // если цифра угадана, то выход из цикла
cout<<"Failure!\n";
}
if(i!=10)
cout<<"Right!\n";
return 0;
}
В программе организован цикл с помощью оператора for на десять повторений. Если пользователь вводит цифру, отличную от 6, то на экран выводится сообщение «Failure!» и предлагается вновь ввести цифру. Если цифра угадана, то управление передаётся оператору break, который прекращает циклическую процедуру и на выполнение передаётся инструкция, стоящая за телом цикла. На экран выводится сообщение «Right!». Аналогичным образом break действует и в операторе switch, обеспечивая немедленный выход из оператора.
|
|
Оператор continue применяется только для циклов. Действие его состоит в прекращении текущей итерации цикла и переходу к проверке условия цикла. В большинстве случаев это означает переход к следующей итерации.
Рассмотрим пример использования оператора continue.
#include<iostream>
Int main()
{
int m[10]={5,-24,-8,2,3,84,-10,0,-2,28};
int i=0, s=0;
do
{
if(m[i]<=0)
{
i=i+1;
continue;
}
s=s+m[i];
i=i+1;
}
while(i<=9);
cout<<"Sum is equal <<s<<'\n';
return 0;
}
В этой программе подсчитывается сумма положительных элементов массива. Если элемент отрицательный, то оператор continue переводит выполнение на следующую итерацию цикла.