Шаг 34.
Оператор continue

    Этот шаг посвящен оператору, завершающему выполнение текущего шага тела цикла.

    Оператор continue употребляется только в операторах цикла. С его помощью завершается текущий шаг выполнения тела цикла и осуществляется переход на заголовок цикла, то есть проверяется условие для дальнейшего продолжения цикла. Оператор continue действует только самый внутренний цикл, частью которого он является.

    Приведем несколько примеров использования оператора continue.


Пример 1. Подсчитать среднее значение только положительных элементов одномерного массива.
#include <iostream.h>
void main()
{
	int a[20],n,k,i;
	float s;
	cout << "\nЗадайте количество чисел: ";
	cin >> n;
	cout << '\n';
	for (i=0;i<n;i++)
	{
		cout << i+1 <<"-е число: ";
		cin >> a[i];
		cout << '\n';
	 }
	for (s=0,k=0,i=0;i<n;i++)
		 {  if (a[i]<=0) continue;
			 k++;
			 s+=a[i];
		 }
	if (k>0) { s/=k;
		  cout << "\nСреднее значение: "<< s ; }
	else
	  cout << "\nВсе члены массива не положительны\n";
}
Текст этой программы можно взять здесь.

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


    Пример 2.
#include <iostream.h>
main ()
{
   int z;
   cout << "Мы будем вычислять значение функции y=2*x+z\n";
   cout << "в промежутках [1,6] и [13,18]." << endl;
   cout << "Введите значение z= "; 
   cin >> z;
   for  (int x=1; x<18; x++)
   {
         if  ((x>6) && (x<13)) continue;
         int y = 2*x + z;
         cout << "x = " << x << ", y = " << y << endl;
      }
   }
Текст этой программы можно взять здесь.

    Если x принадлежит промежутку [7,12], то "оставшаяся" часть итерации пропускается и происходит переход к началу следующей.

    На следующем шаге мы разберем использование оператора return.


Предыдущий шаг Содержание Следующий шаг