Цикл for состоит из двух частей:
· заголовка цикла;
· тела цикла.
В заголовке цикла указывается, сколько раз будет исполняться цикл, а в теле цикла указываются (записываются) те команды, которые должны выполняться снова и снова при каждом повторе (проходе) цикла.
Заголовок цикла выглядит следующим образом (мы приведем для начала общую форму):
for ( начальное значение счетчика; логическое условие "до каких пор продолжать повторы"; изменение счетчика при каждом повторе )
Важно обратить внимания на обязательные требования записи заголовка:
· служебное слово for пишется маленькими буквами;
· поле него – пара круглых скобок;
· после начального значения счетчика и после логического условия ставится знак "точка с запятой" (;);
· после закрывающей скобки в заголовке не ставится знак "точка с запятой" (то есть – конец команды).
Примеры записи заголовка цикла for:
· for (int i=1; i<=10; i++)
· for (int i=1; i<=10; i+=2)
· for (int i=10; i>0; i-=3)
Объяснения этих примером будут приведены чуть позже.
Общий принцип работы цикла for можно описать примерно так:
1. сначала переменная цикла (счетчик) устанавливается в начальное значение;
2. затем выполняется первый проход (повтор) цикла, при котором выполняются команды, записанные в теле цикла;
3. затем переменная цикла (счетчик) изменяется в соответствии с правилом, записанным в заголовке; правило это выполняется сразу после исполнения тела цикла – и до того, как проверено условием
4. проверяется условие продолжения выполнения цикла
4.1. если значение измененного переменной цикла (счетчика) соответствует условию, записанному в заголовке, снова выполняются пункты 2, 3 и 4;
4.2. если это условие не выполняется – цикл завершен и исполнение передается команде, записанной после цикла (после тела цикла).
Как видно из описания общего принципа работы цикла for, одной из важных компонент цикла является переменная цикла-счетчик. Кстати, именно поэтому у цикла for есть еще одно название: "цикл со счетчиком".
Изменение этой переменной цикла-счетчика, собственно, является одним из фактором, влияющих на число проходов (повторов) цикла – и это можно установить по заголовку. Приведем несколько примеров, используя, среди прочих, и те, которые только что были записаны выше в качестве примеров.
Заголовок цикла | Смысл заголовка |
for (inti=1; i<=10; i++) | · Начальное значение счетчика (переменная i) устанавливается равным 1 · За каждый проход счетчик увеличивается на 1 · Повторы цикла продолжаются, пока значение счетчика остается не больше 10 · Всего выполняется 10 повторов цикла |
for (inti=1; i<=10; i+=2) | · Начальное значение счетчика (переменная i) устанавливается равным 1 · За каждый проход счетчик увеличивается на 2 · Повторы цикла продолжаются, пока значение счетчика остается не больше 10 · Всего выполняется 5 повторов цикла |
for (int i=10; i>0; i-=3) | · Начальное значение счетчика (переменная i) устанавливается равным 10 · За каждый проход счетчик уменьшается на 1 · Повторы цикла продолжаются, пока значение счетчика остается больше 0 · Всего выполняется 4 повтора цикла |
for (int i=1; i<=a; i++) | · Начальное значение счетчика (переменная i) устанавливается равным 1 · За каждый проход счетчик увеличивается на 1 · Повторы цикла продолжаются, пока значение счетчика остается не больше значения переменной а · Всего выполняется а-1+1 повторов цикла |
for (int i=a; i<=10; i+=2) | · Начальное значение счетчика (переменная i) устанавливается равным а · За каждый проход счетчик увеличивается на 2 · Повторы цикла продолжаются, пока значение счетчика остается не больше 10 · Всего выполняется (10-а+1)/2 повторов цикла (обратите внимание – речь идет не про деление, а про вычисление частного!) |
for (int i=a; i>b; i-=3) | · Начальное значение счетчика (переменная i) устанавливается равным а · За каждый проход счетчик уменьшается на 3 · Повторы цикла продолжаются, пока значение счетчика остается больше b · Всего выполняется (a-b)/3 повторов цикла (обратите внимание – речь идет не про деление, а про вычисление частного!) |
Как видите, даже если в заголовке цикла используются не только числа, но и дополнительные переменные, всегда заранее известно, сколько проходов (повторов) выполнит цикл – ведь эти переменные должны иметь значения!
Главное достоинство такого цикла в том, что его заголовок (цикла for) всегда можно записать в максимально простом и понятном виде. Именно это и делает базовую, "классическую" форму заголовка цикла for наиболее распространенной.