Лекции по проге / 4_Управл операторы - циклы (2)
.pdf
Лекция №4. Управляющие операторы: операторы цикла и передачи управления
Операторы цикла Операторы передачи управления
1
Управляющие операторы языка Си
Управляющие
операторы
Операторы
ветвления
if...else
условный
оператор
switch
оператор
выбора
"полезный"
оператор
оператор
ограниченного
2использования
Операторы
цикла
while
цикл с предусловием
do...while
цикл с постусловием
for
цикл со параметром
"опасный"
оператор
Операторы
передачи
управления
goto
безусловный переход
break
прерывание управляющего оператора
continue
переход к следующей итерации цикла
return
возврат из функции
Оператор цикла с предусловием while
Условие применения: имеется оператор, который выполняется либо многократно, либо ни разу
while( <условие> )
<оператор>
3
Оператор цикла с предусловием while
Сначала проверяется <условие>. Если <условие> истинно, то выполняется <оператор> до тех пор, пока условие не станет ложным
Если <условие> стало ложным, то управление передается оператору, следующему за циклом
<Условие> – это условие продолжения цикла
<Оператор> – это тело цикла (повторяющееся действие + действие для выхода из цикла)
<Оператор> может не выполниться ни разу, если
4условие изначально ложно
Задание
Текущее население города составляет N человек. Через сколько лет оно превысит K, если удваивается каждый год. Результат поместите в переменную year
5
Использование оператора цикла с предусловием while
/* Подсчитать кол-во лет, необходимое для превышения заданного кол-ва населения */ year = 0;
while(N <= K)
{
year++; //в очередном году
N *= 2; //удваиваем население
}
6
Оператор цикла с постусловием do...while
Условие применения: имеется оператор, который выполняется многократно, но не менее одного раза
do
<оператор>
while ( <условие> );
7
Оператор цикла с постусловием do...while
Сначала выполняется <оператор>, затем проверяется <условие>. Если <условие> истинно, то снова выполняется <оператор>. Это продолжается до тех пор, пока <условие> не станет ложным
<Условие> – это условие продолжения цикла
<Оператор> – это тело цикла (повторяющееся действие + действие для выхода из цикла)
<Оператор> всегда выполняется хотя бы один раз
8
Задание
Программа запрашивает у пользователя целое число в диапазоне [0, 10]. Если пользователь вводит неверное число, то программа снова запрашивает число. Организуйте ввод числа x.
Для ввода числа используйте следующий оператор
scanf("%d", &x);
9
Использование оператора цикла с постусловием do...while
// Запросить у пользователя // целое число от 0 до 10 do
{
scanf("%d", &x);
}
while( x < 0 || x > 10 );
10
