Операторы цикла
Любой цикл состоит из тела цикла (операторов, которые должны выполняться несколько раз), начальных установок, модификации параметра и проверки условия выполнения.
В языке C/C++ есть три вида операторов цикла:
оператор цикла с предусловием;
оператор цикла с постусловием;
оператор цикла с параметром;
Оператор цикла с предусловием
Формат оператора:
while (выражение) оператор;
Действие: Вычисляется значение выражения. Если оно истинно (не равно нулю), выполняется оператор (тело цикла). Выполнение продолжается до тех пор, пока значение выражения не станет ложным (равным нулю).
Пример
Составить таблицу значений функции y=x2, если x меняется от -2 до 10 с шагом 0.5.
#include <iostream.h>
#include <conio.h>
void main()
{
float x,y;
clrscr();
x=-2;
while (x<=10)
{
y=x*x;
cout<<"При x="<<x<<" \tЗначение y="<<y<<endl;
x+=0.5;
}
}
Оператор цикла с постусловием
Формат оператора:
do оператор while (выражение);
Действие: Выполняется оператор (тело цикла), затем вычисляется значение выражения. Если оно истинно (не равно нулю), цикл выполняется еще раз. Цикл завершится, когда условие станет ложным (равным нулю).
Пример
Проверка ввода (требуется, чтобы было введено отрицательное число).
#include <iostream.h>
#include <conio.h>
void main()
{
int x;
clrscr();
do
{
cout << "Ввести отрицательное число=";
cin >> x;
}
while (x>=0);
}
Оператор цикла с параметром
Формат оператора:
for (инициализация;выражение;модификации) оператор;
где
инициализация – присвоение начальных значений величинам, используемым в цикле.
выражение – определяет условие выполнения цикла. Пока оно истинное, цикл выполняется (фактически цикл с параметром реализован как цикл с предусловием).
модификации – выполняются после каждого прохода цикла и служат для изменения параметров цикла.
Примечания
1 Любая из частей оператора for может быть опущена, но точки с запятой должны оставаться на своих местах.
2 Любой цикл while может быть приведен к эквивалентному циклу for и наоборот по следующей схеме:
for (инициализация;выражение;модификации) оператор;
инициализация;
while (выражение);
{
оператор;
модификации;
}
Пример цикла с параметром
Составить таблицу значений функции y=x2, если x меняется от -2 до 10 с шагом 0.5.
#include <iostream.h>
#include <conio.h>
void main()
{
float x,y;
clrscr();
for (x=-2;x<=10;x+=0.5)
{
y=x*x;
cout<<"При x="<<x<<" \tЗначение y="<<y<<endl;
}
}
Операторы передачи управления
В языке C/C++ существуют следующие операторы, изменяющие естественный порядок выполнения:
оператор безусловного перехода goto;
оператор выхода break;
оператор перехода к следующей итерации цикла continue;
оператор возврата из функции return.
Оператор goto
Формат:
goto метка;
При этом в теле функции должна быть строка вида метка:оператор; В качестве метки используют произвольный свободный идентификатор.
Оператор goto обычно используют в следующих случаях:
принудительный выход из нескольких вложенных циклов или переключателей;
переход из нескольких мест в одно, например – на завершение функции.
Запрещается:
передавать управление внутрь циклов, операторов if и switch;
переходить внутрь блоков, содержащих инициализацию переменных, минуя эти строки инициализации (значения переменных будут неопределенными).
Оператор break
Используется внутри операторов цикла или оператора switch для перехода в точку программы, расположенную за оператором, в котором находится break.
Оператор continue
Действие: Пропускает все операторы, оставшиеся до конца тела цикла и передает управление в начало следующей итерации.
Оператор return
Формат:
return выражение;
Действие: Завершает выполнение функции. Выражение должно иметь скалярный тип. Если функция, в которой находится return имеет тип void, то выражение должно отсутствовать (может отсутствовать также оператор return).
