Урок 8. Оператор цикла while

Всем привет. Цикл — разновидность управляющей конструкции в высокоуровневых языках программирования, предназначенная для организации многократного исполнения набора инструкций. А сегодня рассмотрим оператор цикла while (переводится — в то время как).

While по своей конструкции очень похож на if, который мы рассматривали на предыдущем уроке.

Структура: while(условие) тело цикла; Рассмотрим на примере:

#include 
 
int main () {
int a=5;
while (a<=10) {
printf ("a=%d\n", a);}
return 0;
}

Результат выполнения:

а=5
а=5
а=5
и тд до бесконечности.

То есть цикл повторяется до тех пор, пока условие истинно. А так как значение переменной а не меняется, то условие всегда истинно.

Для того, чтобы пропустить цикл, нам нужно условие сделать ложным:

#include 
 
int main () {
int a=5;
while (a<=10) {
printf ("a=%d\n", a);
a++;}
return 0;
}

Результат выполнения:

a=5
a=6
a=7
a=8
a=9
a=10

Программа очень похожа на предыдущую, за исключением седьмой строки, где мы увеличиваем значение переменной на одну единицу. То есть выполняясь седьмой раз, значение переменной а будет равно 11, соответственной она больше 10 (ложь) и цикл прекратит работу.

В языке Си так же существует такие логические операторы:

  • ! — не
  • || — или
  • && — и
  • != — исключение или
  • == — эквивалентно

Пример использования логического оператора:

#include 
 
int main () {
int a=5, b=17;
while (a!=10 && b==17) {
printf ("a!=10 и b==17\n");
a++;
b=b+a;}
while (a!=10 || b<=10){ printf ("a!=10 или b<=10\n");
return 0;}
return 0;
}

Д/З:

1. Проанализируйте работу последней программы.
2. Напишите программу которая переводит оценку из 100 бальной системы в 5 бальную при условии: 30 и менее 1, 31-50 — 2, 51-72 -3, 73-86 -4 , 87-100 — 5.