profile="http://gmpg.org/xfn/11"> Операторы цикла в C (Си). | Разработчику о работе с 1С:Предприятие, Pascal, Паскаль

Операторы цикла в C (Си).

Операторы цикла в C (Си).
Цикл — в общем виде последовательность каких-либо действий за определенное количество раз. Количество называют итерациями. В C (Си) три оператора цикла. Наиболее часто используется for.

1. Оператор цикла for.
В общем виде записывается:
for (инициализация; условие; приращение) тело цикла (оператор цикла).
Тело цикла может состоять из одного оператора, а может состоять из блока операторов. В случае блока операторов, необходимо эти операторы заключить в фигурные скобки { … }.

Инициализация — подразумевается действие, в котором переменной присваивается начальное значение. Данную переменную называют: параметром цикла.

Условие — выражение, в котором проверяет логическое значение. Значение может принимать: или истина, или ложь. При истине выполняется тело цикла, при ложь — выполняется оператор, который следует за телом цикла.

Приращение — изменение параметра цикла.

Все три оператора цикла обязательно разделяются ; (точкой с запятой). Они так же называются секциями оператора for.

Рассмотрим пример цикла for, в котором выводятся числа от 1 до 10. Тело цикла заключили в фигурные строки. Но их можно не ставить, так, как тело цикла — это один оператор — функция printf().

Пример, без скобок.

	for (i=1; i<=10; i++)
   printf("\n %d", i);

Полный пример. Фигурные скобки присутствуют.

#include <stdio.h>
#include <conio.h>

int main() {
	/*Операторы цикла в C (Си). for*/
	int i;
	for (i=1; i<=10; i++) {
		printf("\n %d", i);
	}

	printf("\n Для завершения программы нажмите Enter");
	getch();
	return 0;
}


Результат:
Операторы цикла в C (Си), for
Операторы цикла в C (Си), for.

Переменная i объявленная в первой строке:

	int i;

в строке, заголовок цикла:

for (i=1; i<=10; i++) 

Переменной i присваивается начальное значение 1, затем записывается условие выполнения цикла i<=10 (i должна быть или меньше 10, или равной 10). Далее следует процесс увеличение переменной i на единицу.

В примере использовалось приращение равное 1 (i++). Но это не обязательно так.

Пример, в котором параметр цикла увеличивается на 2.

#include <stdio.h>
#include <conio.h>

int main() {
	/*Операторы цикла в C (Си). for*/
	int i;
	for (i=1; i<=10; i+=2)
   printf("\n %d", i);

	printf("\n Для завершения программы нажмите Enter");
	getch();
	return 0;
}


Результат:
Операторы цикла в C (Си), for, параметр цикла на 2
Операторы цикла в C (Си), for, параметр цикла увеличивается на 2.

Если условие всегда равно истине, цикл будет бесконечным.

Переменную i (параметр цикла) можно объявить в заголовке цикла, в секции инициализация.

#include <stdio.h>
#include <conio.h>

int main() {
	/*Операторы цикла в C (Си). for*/
	for (int i=1; i<=10; i++) {
		printf("\n %d", i);
	}

	printf("\n Для завершения программы нажмите Enter");
	getch();
	return 0;
}


В операторе цикла for для языка C (Си), можно использовать два параметра цикла, разделенные запятой.
В этом примере два параметра: i и k.

#include <stdio.h>
#include <conio.h>

int main() {
	/*Операторы цикла в C (Си). for*/
	int i, k, d;
	for (i=1, k= 4; i<=10; i++, k++) {
		d=i*k;
		printf("\n %d * %d = %d", i, k, d);
	}

	printf("\n Для завершения программы нажмите Enter");
	getch();
	return 0;
}


Результат:
Операторы цикла в C (Си), for, два параметра цикла
Операторы цикла в C (Си), for, два параметра цикла.

Важно: в секции условия может быть любой оператор отношений или логический оператор, может быть и несколько операторов.

#include <stdio.h>
#include <conio.h>

int main() {
	/*Операторы цикла в C (Си). for*/
	int i, k;
	for (i=1, k= 4; (i+k)<10; i++, k++) {
		printf("\n %d + %d меньше 10", i, k);
	}

	printf("\n Для завершения программы нажмите Enter");
	getch();
	return 0;
}


Результат:
Операторы цикла в C (Си), for, условия, несколько операторов
Операторы цикла в C (Си), for, условия, несколько операторов.

Любая секция оператора цикла for в C (Си) может быть пустой.

#include <stdio.h>
#include <conio.h>

int main() {
	/*Операторы цикла в C (Си). for*/
	int i;
	i=2;
	for (; i<10; ) {
		printf("\n Для выхода из цикла\n введите число больше 10\n");
		scanf("%d",&i);/* вводим число*/
	}

	printf("\n Для завершения программы нажмите Enter");
	getch();
	return 0;
}


Результат:
Операторы цикла в C (Си), for, пустые секции
Операторы цикла в C (Си), for, пустые секции, может отсутствовать одна секция, две секции или все секции пустые.

Комментарии запрещены.