Обшая форма цикла while имеет следующий вид:
while (<условие>) <оператор>;
Здесь оператор (тело цикла) может быть пустым оператором, единственным оператором или блоком. Условие (управляющее выражение) может быть любым допустимым в языке выражением. Условие считается истинным, если значение выражения не равно нулю, а оператор выполняется, если условие принимает значение ИСТИНА. Если условие принимает значение ЛОЖЬ, программа выходит из цикла и выполняется следующий за циклом оператор.
Оператор цикла с постусловием DO-WHILE
В отличие от циклов for и while, которые проверяют свое условие перед итерацией, do-while делает это после нее. Поэтому цикл do-while всегда выполняется как минимум один раз. Общая форма цикла do-while следующая:
do {
<оператор>;
} while (<условие>);
Если оператор не является блоком, фигурные скобки не обязательны, но их почти всегда ставят, чтобы оператор достаточно наглядно отделялся от условия. Итерации оператора do-while выполняются, пока условие не примет значение ЛОЖЬ.
Оператор цикла с параметром FOR
Во всех процедурных языках программирования циклы for очень похожи. Однако в С этот цикл особенно гибкий и мощный. Общая форма оператора for следующая:
for (<инициализация>; <условие>; <приращение>) <операторы>;
Цикл for может иметь большое количество вариаций. В наиболее общем виде принцип его работы следующий. Инициализация — это присваивание начального значения переменной, которая называется параметром цикла. Условие представляет собой условное выражение, определяющее, следует ли выполнять оператор цикла (часто его называют телом цикла) в очередной раз. Оператор приращение осуществляет изменение параметра цикла при каждой итерации. Эти три оператора (они называются также секциями оператора for) обязательно разделяются точкой с запятой. Цикл for выполняется, если выражение условие принимает значение ИСТИНА. Если оно хотя бы один раз примет значение ЛОЖЬ, то программа выходит из цикла и выполняется оператор, следующий за телом цикла for.
Пример
Составим программу, вычисляющую сумму положительных элементов матрицы некоторой размерности (от 1 до 10 – для строк и столбцов), состоящую из произвольных чисел.
#include <iostream>
int main()
{
int ch;
int mas[10][10];
printf(“введите размерность матрицы(меньше 10)). \n”);
scanf(“%d”,ch);
for (int i = 1; i <=ch; i++)
for (int j = 1;j <=ch; j++)
mas[i][j] = random(5);
int sum = 0;
for (int i = 1; i <=ch; i++)
for (int j = 1; j <=ch; j++)
if (mas[i][j] > 0) sum = sum + mas[i][j];
printf(“%d”,sum);
}