Теоретические сведения. Циклом называется непрерывная группа последовательных операторов, заканчивающаяся командой перехода (передачи управления) на начало этой части
Циклом называется непрерывная группа последовательных операторов, заканчивающаяся командой перехода (передачи управления) на начало этой части. То есть, основным свойством цикла является многократное выполнение некоторой группы операторов. При этом компьютер должен выполнить одни и те же действия над разными данными.
Оператор цикла for вида
for (выражение_1; выражение-условие; выражение_3)
операторы;
может быть заменен оператором while следующим образом:
выражение_1;
while (выражение-условие)
{
выражение_3;
операторы;
}
Так же, как и при выполнении оператора for, в операторе while вначале происходит проверка условия.
Приведем примеры решения одной и той же задачи с применением:
1. оператора цикла с параметром (оператор for);
2. оператора цикла с предусловием (оператор while);
3. оператора цикла с постусловием (оператор do...while).
Задача.Вводятся вещественные числа и вычисляются сумма положительных и сумма отрицательных чисел. Окончание работы – ввод нулевого числа.
Пример 1. Для решения задачи применяется цикл с параметром.
#include <stdio.h>
void main () {
float x, sumPlus=0, sumMinus=0;
for(x=1; x != 0;) {
printf("x="); scanf("%f",&x);
if (x < 0)
sumMinus+=x;
else
sumPlus+=x;
}
printf("sumPlus=%.3f\n",sumPlus);
printf("sumMinus=%.3f\n",sumMinus);
}
Пример 2. Для решения задачи применяется цикл с предусловием.
#include <stdio.h>
void main () {
float x, sumPlus=0, sumMinus=0;
x=1;
while (x != 0){
printf("x="); scanf("%f",&x);
if (x < 0)
sumMinus+=x;
else
sumPlus+=x;
}
printf("sumPlus=%.3f\n",sumPlus);
printf("sumMinus=%.3f\n",sumMinus);
}
Пример 3. Для решения задачи применяется цикл с постусловием.
#include <stdio.h>
void main () {
float x, sumPlus=0, sumMinus=0;
do {
printf("x="); scanf("%f",&x);
if (x < 0)
sumMinus+=x;
else
sumPlus+=x;
}
while(x != 0);
printf("sumPlus=%.3f\n",sumPlus);
printf("sumMinus=%.3f\n",sumMinus);
}
Дата добавления: 2015-02-16; просмотров: 560;