Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
mL_6_oper.doc
Скачиваний:
1
Добавлен:
29.04.2019
Размер:
219.65 Кб
Скачать

Оператор цикла for

Синтаксис итерационного цикла следующий:

 for(инициализация_цикла; выражение_условие; список выражений)  

 тело_цикла 

Оператор начинается с ключевого слова  for , после которого в круглых скобках написаны через точку с запятой три выражения.

 Инициализация_цикла  – последовательность определений, описаний и выражений, разделенных запятыми, которая выполняется один раз перед началом выполнения цикла. Переменные, определенные при инициализации, будут действовать только в пределах цикла.

 Выражение_условие  – это условие повторения вычисления тела цикла. Тело цикла будет повторно вычисляться до тех пор, пока  выражение_условие  не станет равным  0 .  Выражение_условие  может отсутствовать, в этом случае считается, что его значение истинно.

Список выражений вычисляется после каждого вычисления тела цикла

После выполнения  инициализации_цикла  проверяется  выражение_условие . Если  выражение_условие  истинно (не равно  0 ), вычисляются  тело_цикла  и после  список_выражений . Затем снова проверяется  выражение_условие  и т.д.

Рис.9 – Блок-схема работы оператора итерационного цикла

Пример  2.21 .. Находим сумму четырех чисел, кратных 10, начиная с 0.

#include <stdio.h>

void main()

{int i, sum=0;

for(i=0; i<4; i++) //i=1, 2, 3, 4

sum+=10*i; // 0 10 30 60 (0+10+20+30)

printf(“sum=%d\n”,sum);

}

На экране получим:  sum=60 

Пример  2.22 .. Находим сумму трех двоек и сумму трех значений переменной n .

#include <stdio.h>

void main()

{int s1=0,s2=0;

for(int i=0,n=5; n<6,i<3; i++,s1+=2) // s1=2 4 6

s2+=++n; // 6 13 21 (6+7+8)

printf(“s2=%d\n”,s2);

}

На экране получим:  s2=21 

В этом операторе также можно пользоваться операторами  break ,  continue ,  return .

Пример  2.23 . Выводим на экран значение переменной i, кроме значения 4, которое пропускается.

#include <stdio.h>

void main()

{int i;

for(i=0; i<6; i++)

{if(i==4) continue; // когда i=4 переходим на начало цикла

printf(“%d ”, i); // 0 1 2 3 5

}

}

На экране получим:  0 1 2 3 5 

Пример  2.24 .. Выводим на экран значение переменной i и, если i>5, то выход из цикла.

#include <stdio.h>

void main()

{int i;

for(i=0; i<10; i++)

{if(i>5) break;

printf(“%d”, i); // 1 2 3 4

}

}

На экране получим:  1 2 3 4 

Пример  2.25 .. Вводим с клавиатуры пять чисел и подсчитываем их сумму. При вводе числа 5, цикл завершается.

#include <stdio.h>

void main()

{int i, k,sum=0;

for(i=0; i<5; i++)

{scanf(“%d”,&k); //пусть будем вводить 1 2 3 4 6 или 1 2 5

if (k==5) break;

sum+=k; } // 1 3 6 10 16 (1+2+3+4+6=16) или 1 2 (1+2=3)

printf(“sum=%d”,sum);}

На экране получим:  sum=16  или  sum=3 

Любое из трех выражений может быть опущено (в т.ч. и все три). В этом случае получим беско­нечный цикл, из которого можно выйти с помощью операторами  break ,  continue ,  return .

Пример  2.26 . . К начальному значению переменной m добавляется 1, от начального значения переменной k отнимается 1, до тех пор, пока k не равно 0.

#include <stdio.h>

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]