Ключевые слова break и continue.
Условие.
Изменение управляющей переменной.
Инициализация управляющей переменной.
Некоторые особенности синтаксиса for.
Комментарий к примеру.
Пример использования.
Рассмотрим простой уже знакомый пример: с помощью цикла показать на экран цифры от 1 до 5 включительно. Только сделаем это с помощью оператора for.
#include <iostream> using namespace std; void main() { for(int i=1;i<=5;i++) { cout<<i; } } |
1. Внутри цикла объявляется переменная i равная 1. Это и будет управляющая переменная.
2. Затем, осуществляется проверка значения этой переменной с помощью условия i<=5;
3. Если условие истинно (а так будет, пока i не достигнет значения 6) выполняется показ значения i на экран (cout<<i;) и изменение управляющей переменной i на 1 (i++). Затем, снова проверяется условие.
2. Если условие ложно (то есть значение i стало равно 6), то программа переходит на следующую строчку за закрывающейся фигурной скобкой цикла.
Примечание: Обратите внимания, что первый шаг - СОЗДАНИЕ И ИНИЦИАЛИЗАЦИЯ ПЕРЕМЕННОЙ - всегда выпоняется только один раз.
Несмотря на простоту работы оператора, он обладает некоторыми особенностями форм записи.
1. Инициализация и создание переменной производится в цикле.
for(int x=1;x<=100;x++) { cout<<x; } |
2. Cоздание переменной производится до цикла, а инициализация в цикле.
int x; for(x=1;x<=100;x++) { cout<<x; } |
3. Инициализация и создание переменной производятся до цикла.
int x=1; for(;x<=100;x++) { cout<<x; } |
Все три примера являются абсолютно функционирующими и равновесными.
Изменение управляющей переменной можно перенести внутрь тела цикла, как это происходит в while и do while.
for(int x=1;x<=100;) { cout<<x; x++; } |
Условие конструкции также можно пропустить, однако в этом случае оно будет считаться по умолчанию истинным. Таким образом, мы получаем постоянно истинное условие и, как следствие - ВЕЧНЫЙ ЦИКЛ.
for(int x=1;;x++) { cout<<x; } |
Примечание: Если хотите узнать, как пропустить условие и избежать вечного цикла - читайте следующий раздел урока.
Исходя из вышеописанного, мы можем сделать следующий вывод: Ни одна из частей цикла for не является обязательной.
Как видите, работа for проста и аналогична работе while. Что выбрать?! Это зависит от поставленной задачи и от вашего решения.
Нередко при работе с циклами, возникает необходимость искусственно прервать выполнение цикла. Для этого используется, уже знакомый вам (по изучению switch), оператор break. Этот оператор должен находиться в теле цикла, в том месте где необходимо сделать остановку. Например, именно с помощью этого оператора, мы можем решить проблему вечного цикла, в ситуации, когда условие в цикле for не указывается. Рассмотрим пример:
#include <iostream> using namespace std; void main() { for(int x=1;;x++) { if(x==4) break;// если x стал равен 4 - остановить цикл cout<<x; } cout<<"Bye!"; } |