Циклы
- Цикл с предпроверкой.
Реализуется оператором while.
Формат:
while (выражение) st;
Здесь выражение - условие выполнения цикла.
st - оператор (простой или составной) - тело цикла.
TODO: вставить изображение блок-схемы оператора WHILE!!!
Пример:
Подсчитать сумму чисел от 1 до 100.
int i = 1, s = 0;
while (i<=100)
{
s += i;
i++;
}
- Цикл с постпроверкой.
Реализуется оператором do...while.
Формат:
do{
st;
} while (выражение);
TODO: вставить изображение блок-схемы оператора DO...WHILE!!!
Пример:
do{
s += i;
i++;
} while (i<100);
- Наиболее общий способ организации циклов. Оператор for.
Оператор for имеет следующий формат:
for(выр1;выр2;выр3) st;
выр1 обычно используется для установки начальных значений переменных, управляющих циклом.
выр2 - условие выполнения цикла.
выр3 определяет изменение переменных, управляющих циклом, после каждого выполнения тела цикла.
Схема выполнения:
1. Вычисляется выражение 1;
2. Вычисляется выражение 2;
3. Если значение выражения 2 отлично от 0, то выполянется тело цикла, вычисляется выражение 3 и см. п.2. В противном случае происходит выход из цикла.
Схему for можно записать через while следующим образом:
выр1;
while (выр2)
{
st;
выр3;
}
Пример:
int s = 0;
for (int i = 1; i <= 100; i++)
{
s += i;
}
Следует отметить, что одно или несколько выражений оператора for могут отсутствовать.
- Цикл с выходом из середины.
TODO: вставить изображение блок-схемы оператора с выходом из середины!!!
Данный алгоритм легко реализуется с помощью любого оператора цикла. Необходимо в тело цикла вставить операторы if и break.
Пример:
Необходимо подсчитать произведение неизвестного заранее количества сомножителей. 0 - признак конца ввода.
float p = 1, x;
do{
scanf("%f", &x);
if (!x ) break;
p *= x;
} while (1);
printf("%f", p);

