Лабораторная работа Циклы и массивы
Циклы
Циклы, или итерационные структуры, позволяют повторять выполнение отдельных операторов или групп операторов. Число повторений в некоторых случаях фиксировано, а в других определяется в процессе счета на основе одной или нескольких проверок условий.
Циклы завершаются в следующих случаях:
1)обратилось в нуль условное выражение в заголовке цикла.;
2)в теле цикла выполнился оператор break;
3)в теле цикла выполнился оператор return.
В первых двух случаях управление передается на оператор, располагающийся непосредственно за циклом. В третьем случае происходит возврат из функции (завершение работы данной функции).
Бывают циклы с проверкой условия перед началом выполнения тела цикла (top-testing), по окончании выполнения тела (bottom-testing) или внутри тела (middle-testing). Ниже рассмотрены все указанные типы циклов.
Цикл while
Синтаксис цикла while (пока):
while (условное_выражение) оператор
Ясно, что в цикле типа while проверка условия производится перед выполнением тела цикла (оператор). Если результат вычисления условного выражения не равен нулю, то выполняется оператор (или группа операторов). Перед входом в цикл while в первый раз обычно инициализируют одну или несколько переменных для того, чтобы условное выражение имело какое-либо значение. Оператор или группа операторов, составляющих тело цикла, должны, как правило, изменять значения одной или нескольких переменных, входящих в условное выражение, чтобы в конце концов выражение обратилось в нуль, и цикл завершился.
Потенциальной ошибкой при программировании цикла while, как, впрочем, и цикла любого другого типа, является запись такого условного выражения, которое никогда не прекратит выполнение цикла. Такой цикл называется бесконечным (например цикл: while (a) printf(“Circle”), где а - любое число, отличное от 0. Цикл будет бесконечно выводить на экран дисплея текст Circle). Пример:
#include <stdio.h> // подключение библиотеки stdio.h
void main(void) // основная функция main
{ int a; // объявление переменных a
scanf ("%d", &a); // ввод значений переменных a и с клавиатуры
while(a>=0) // цикл повторяется пока а>=0
{ printf("a = %d\n", a); // вывод значения переменной a
a--; // уменьшение значения переменной а на один
}
}
Цикл do while
В цикле do while проверка условия осуществляется после выполнения тела цикла. Синтаксис цикла:
do оператор;
//тело цикла
while (условное_выражение)
В языке Си вместо одиночного оператора (например в теле рассматриваемого цикла) может быть подставлена группа операторов (блок). Цикл while прекращает выполняться, когда условное выражение обращается в нуль (становится ложным). Пример:
#include <stdio.h> // подключение библиотеки stdio.h
void main(void) // основная функция main
{ int a; // объявление переменных a
scanf ("%d", &a); // ввод значений переменных a и с клавиатуры
do{ // начало цикла
printf("a = %d\n", a); // вывод значения переменной a
a--; // уменьшение значения переменной а на 1
} while(a>=0); // цикл повторяется пока а>=0
}