1.4.7. Оператор for

Содержание
Возврат к предыдущей части 1.4.5,1.4.6 Оператор Switch, break

Оператор for — это наиболее общий способ организации цикла. Он имеет следующий формат:

1
for ( выражение 1 ; выражение 2 ; выражение 3 ) тело

Выражение 1 обычно используется для установления начального значения переменных, управляющих циклом. Выражение 2 — это выражение, определяющее условие, при котором тело цикла будет выполняться. Выражение 3 определяет изменение переменных, управляющих циклом после каждого выполнения тела цикла.

Схема выполнения оператора for:

  • 1. Вычисляется выражение 1.
  • 2. Вычисляется выражение 2.
  • 3. Если значения выражения 2 отлично от нуля (истина), выполняется тело цикла, вычисляется выражение 3 и осуществляется переход к пункту 2, если выражение 2 равно нулю (ложь), то управление передается на оператор, следующий за оператором for.

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

Пример:

1
2
3
       int main()
       { int i,b;
          for (i=1; i<10; i++) b="i*i;" return 0; }

В этом примере вычисляются квадраты чисел от 1 до 9.

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

Пример:

1
2
3
4
5
6
7
8
9
       int main()
       {  int top,  bot;
          char string[100],  temp;
          for ( top=0, bot=100 ; top < bot ; top++, bot--)
          {  temp=string[top];
             string[bot]=temp;
          }
          return 0;
        }

В этом примере, реализующем запись строки символов в обратном порядке, для управления циклом используются две переменные top и bot. Отметим, что на месте выражение 1 и выражение 3 здесь используются несколько выражений, записанных через запятую, и выполняемых последовательно.

Другим вариантом использования оператора for является бесконечный цикл. Для организации такого цикла можно использовать пустое условное выражение, а для выхода из цикла обычно используют дополнительное условие и оператор break.

Пример:

1
2
3
4
5
       for (;;)
       { ...
         ...  break;
         ...
       }

Так как согласно синтаксису языка Си оператор может быть пустым, тело оператора for также может быть пустым. Такая форма оператора может быть использована для организации поиска.

Пример:

1
for (i=0; t[i]<10 ; i++) ;

В данном примере переменная цикла i принимает значение номера первого элемента массива t, значение которого больше 10.

Читать далее. Раздел 1.4.8 Оператор While
Содержание

Добавить комментарий