Лабораторная работа: Операторы цикла в языке программирования Си++"
do i++; while (getchar()!=’R’);
printf("Символ R %d-й",i);
}
Программа, представленная выше, теперь написана с циклом do-while. Результат программы будет таким же.
Оператор цикла f or
Описание: for (выражение 1; выражение 2; выражение 3) оператор;
Действие:
В круглых скобках содержится три выражения. Первое из них служит для инициализации счетчика. Она осуществляется только один раз – когда цикл for начинает выполняться. Второе выражение необходимо для проверки условия, которая осуществляется перед каждым возможным выполнением тела цикла. Когда выражение становится ложным, цикл завершается. Третье выражение вычисляется в конце каждого выполнения тела цикла, происходит приращение числа на шаг.
Комментарий: в операторе цикла for точка с запятой после закрывающейся круглой скобки не ставится. Любое из трех или все три выражения в операторе могут отсутствовать, однако разделяющие их точки с запятыми опускать нельзя. Если отсутствует выражение 2, имеем бесконечный цикл. Например:for (scanf("%d",&p);;p++) оператор;
В языке СИ предусмотрены две нетрадиционные операции: (++) – для увеличения на единицу и (--) – для уменьшения на единицу значения операнда. Операции ++ и -- можно записывать как перед операндом, так и после него. В первом случае (++n или --n) значение операнда (n) изменяется перед его использованием в соответствующем выражении, а во втором (n++ или n--) – после его использования.
Если отсутствуют выражения 1 и 3, цикл становится эквивалентным while. Например:for (;a<20;) оператор;
Каждое из выражений может состоять из нескольких выражений, объединенных операцией "запятая". Например: for(i=0, j=1; i<100; i++, j++) a[i]=b[j];
Тело цикла заключается в фигурные скобки, если в нем более одного оператора.
Пример:
/*демонстрация цикла for*/
#include <stdio.h>
main()
{int i,j=1,k;
for (i=1;i<=3;i++)
printf("Минск\t");
/*В цикле for три раза выполняется функция вывода*/
/*Здесь i-управляющая переменная цикла*/
printf("\nУкажите число повторений цикла\n");
scanf("%d",&k);
for (i=1;i<=k;i++)
{j*=i;
printf("%d",j);}
/*Здесь две инструкции (более одной), поэтому они заключаются в фигурные скобки*/
j=i;