- •Операторы циклов
- •Оператор while
- •Void main()
- •Void main( )
- •If(!(a%2)) // !01 при четном числе
- •Void main()
- •Void main()
- •Void main()
- •Оператор do…while
- •Оператор цикла for
- •Void main()
- •Void main()
- •Void main()
- •Void main()
- •Void main()
- •Void main()
- •Операторы перехода Оператор безусловного перехода
- •Оператор возврата из функции return
- •Оператор выхода из цикла или переключателя break
- •Оператор выхода из текущей итерации continue
Операторы циклов
Операторы цикла задают многократное исполнение операторов тела цикла. Определены три разных оператора цикла:
цикл с предусловием:
while (выражение_условие)
тело_цикла
цикл с постусловием:
do тело_цикла
while (выражение_условие);
итерационный цикл:
for (инициализация_цикла; выражение_условие; список выражений)
тело_цикла
Все операторы цикла содержат тело_цикла и выражение_условие .
Тело_цикла – это отдельный оператор (в т.ч. и пустой), который заканчивается точкой с запятой, либо блок (составной оператор), который заключается в фигурные скобки.
Выражение_условие – это скалярное выражение (чаще всего отношение или арифметическое выражение), определяющее условие продолжения выполнения итераций (если его значение не равно нулю). Выражение_условие может быть сложным, состоять из нескольких выражений, разделенных запятой, в этом случае решение принимается по последнему выражению.
Оператор while
Оператор while – это оператор с предусловием (пока условие истинно, повторять тело цикла).
while (выражение_условие)
тело_цикла
При входе в цикл вычисляется выражение_условие . Если его значение истина (не равно 0 ), то выполняется тело цикла. Затем снова вычисляется выражение_условием и т.д. Выполнение цикла повторяется до тех пор, пока значение выражение_условие не станет равным 0 .
Рис.6. – Блок-схема работы оператора с предусловием
Пример 2.8 . Вычисляем сумму четных чисел, пока сумма меньше 20.
#include <stdio.h>
Void main()
{int a=0,cout=0,
int sum=0;
while(sum<20)
{cout+=1; // 1 2 3 4 – количество четных чисел
a+=2; // 2 4 6 8
sum+=a;} // 2 6 12 20 (0+2+4+6+8=20)
printf(“a=%d sum=%d cout=%d\n”,a,sum,cout);
}
На экране получим: a=8 sum=20 cout=4
Пример 2.9 . Вычисляем сумму чисел, кратных 5.
#include <stdio.h>
void main()
{int i=0, S_5=0;
while(i<5)
{printf(“i=%d\n”,i++); // 0 1 2 3 4
S_5+=5*i; // 5 15 30 50 75 (5+10+15+20+25=75)
}
printf(“i=%d S_5=%d\n”,i,S5);
}
На экране получим: i=5 S_5=75
Пример 2.10 ..
#include <stdio.h>
void main( )
{int i=0;
while (i++,i<3) printf(“Привет ”); // цикл выполнится 2 раза
}
На экране получим: Привет Привет
Пример 2.11 ..
#include <stdio.h>
void main( )
{int i=0;
while (i<3,i++)
printf(“Привет ”); //цикл выполнится ни разу (i сначала проверяется, а потом +1)
}
На экране ничего не выведется.
Пример 2.12 ..
#include <stdio.h>
void main( )
{int i=0;
while (i<3,++i)
printf(“Привет ”); //цикл выполнится 65535 раз (i=і+1, а потом i проверяется).
}
На экране получим: Привет Привет Привет Привет Привет...Привет Привет Привет
Внутри цикла могут стоять операторы continue , break , return .
Оператор continue заставляет пропустить остаток тела цикла и перейти к следующей итерации (повторению тела цикла сначала).
Оператор break завершит выполнение цикла.
Оператор return завершит выполнение всей программы.
Пример 2.13 . Находим сумму первых четырех нечетных чисел, которые вводятся с клавиатуры, а также подсчитываем число четных и нечетных вводимых чисел.
#include <stdio.h>