Оператор цикла for
Краткие теоретические сведения
Программирование циклических вычислительных процессов
Операторы циклов применяют, когда надо повторить некоторые действия (операторы и операции) несколько раз, и такие участки алгоритмов называют циклы.
Основная форма оператора цикла for имеет вид:
for (выражение_1; выражение_2; выражение_3)
оператор;
где выражение_1 – инициализация начального значения параметра цикла;
выражение_2 – проверка условия на продолжение цикла;
выражение_3 – изменение параметра цикла (коррекция параметра);
оператор – простой или составной оператор языка С.
Схема работы оператора следующая: только один раз вначале вычисляется выражение_1, затем проверяется выражение_2, и если оно - «истина», то выполняется циклический участок программы, затем производится коррекция параметра, и так до тех пор, пока выражение_2 не примет значение «ложь».
Например: for (k=1; k<5; k++)
printf(“\n %d”, k);
В результате выполнения этого оператора печатаются в столбик цифры от 1 до 4.
|
|
В качестве параметра цикла можно использовать переменную любого базового типа.
Например: for(ch=’a’; ch<=’z’; ch++) /* вывод на экран БУКВ */
printf(“ %c”,ch); /* латинского алфавита */
Необходимо тщательно контролировать структуру циклов for в программе, чтобы не получился бесконечный цикл (из которого нет выхода).
Например: for(k=10; k>6;k++)
printf(“бесконечный цикл\n”);
Выйти из цикла досрочно можно следующими способами:
- по дополнительному условию;
- используя операторы:
× break; - завершения работы цикла, в котором находится break, управление передается на первый после цикла выполняемый оператор;
× exit(int Kod); - происходит выход из программы;
× return; - осуществляется выход из функции;
- с помощью оператора безусловного перехода goto <метка>;
Досрочное завершение текущего циклического шага возможно при помощи дополнительного условия или оператора continue, который прерывает выполнение текущего шага цикла, т.е. пропускает операторы оставшейся части цикла и передает управление в головной оператор цикла для коррекции параметра и проверки условия.
Передавать управление извне вовнутрь цикла запрещается.
Любое из выражений цикла for в круглых скобках может отсутствовать, но символ «;» опускать нельзя.
Например: int i=0;
for(; i<3; i++)
puts(“Hello!”);
Основная форма циклического оператора while:
while (условие)
оператор;
где оператор – это простой, составной или пустой оператор.
Цикл выполняется до тех пор, пока условие принимает значение «истина», т.е. выражение в скобках возвращает ненулевой результат. Это цикл с предусловием – сначала проверяется условие, затем выполняется оператор. Поэтому цикл while не выполнится ни разу, если изначально результат вычисления условия будет равен 0.
Основная форма оператора do – while: