for (инициализация параметра; проверка условия окончания; коррекция параметра) {
блок операций;
}
for — параметрический цикл (цикл с фиксированным числом повторений). Для организации такого цикла необходимо осуществить три операции:
§ инициализация параметра - присваивание параметру цикла начального значения;
§ проверка условия окончания - сравнение величины параметра с некоторым граничным значением;
§ коррекция параметра - изменение значения параметра при каждом прохождении тела цикла.
Эти три операции записываются в скобках и разделяются точкой с запятой (;). Как правило, параметром цикла является целочисленная переменная. Инициализация параметра осуществляется только один раз — когда цикл for начинает выполняться. Проверка условия окончания осуществляется перед каждым возможным выполнением тела цикла. Когда выражение становится ложным (равным нулю), цикл завершается. Коррекция параметра осуществляется в конце каждого выполнения тела цикла. Параметр может как увеличиваться, так и уменьшаться.
Пример
#include <stdio.h> int main() {
int num;
for(num = 1; num < 5; num++)
printf("num = %d\n",num);
getchar();
return 0; }
Результат работы программы
Можно опустить одно или несколько выражений, но нельзя опускать точку с запятой, разделяющие три составляющие цикла. Пример
#include <stdio.h> int main() {
int num = 1;
for(; num < 5; num++)
printf("num = %d\n",num);
getchar();
return 0; }
Параметры, находящиеся в выражениях в заголовке цикла можно изменить при выполнении операции в теле цикла. В цикле for может использоваться операция запятая (,) для разделения нескольких выражений. Это позволяет включить в спецификацию цикла несколько инициализирующих или корректирующих выражений. Выражения, к которым применяется операция запятая, будут вычисляться слева направо. Пример
#include <stdio.h> int main() {
int i,j;
for(i = 1, j=2; i < 5; i++, j=j+2)
printf("i = %d j = %d\n",i,j);
getchar();
return 0; }
Результат работы программы
В Си допускаются вложенные циклы, то есть когда один цикл находится внутри другого:
for ( i=0; i<n; i++) { // цикл 1
for( j=0; j<n; j++) { // цикл 2
// блок операций цикла 2;
}
// блок операций цикла 1; }
Пример: Вывести числа от 0 до 99
#include <stdio.h> #include <stdlib.h> int main() {