{
case’+’: x = x +z; break;
case ’-‘: x = y -z; break;
}
Оператор может быть помечен несколькими case.
switch(ts)
{
case’+’:
case ’-‘:
case’*’:
fanc(ts):{вызов функции}
}
п.8.6.Циклические операторы.
п.8.6.а) Оператор цикла с предусловием.
while(<выражение>)
<оператор>;
Выполнение: Вычисляется значение <выражения>, если оно не равно нулю, то выполняется <оператор>, если значение выражения равно нулю (т.е. ложно), то оператор следующий за while.
Примеры:
1) int x=100;)
while (x>0)
{y= f(x);
x--;
}
2) while((c=getch())!=’y’);
getchс()-читает символ с клавиатуры. Функция ожидает нажатия клавиши и возвращает код, соответствующий символу клавиатуры, одновременно отображая введенный символ на экран.
getch()-действует аналогично , но не выводит символ на экран.
Прототипы этих функций находятся в conio.h.
п.8.6.б) Оператор цикла с постусловием.
do<оператор>
while(<выражение>);
Выполнение: Выполняется оператор цикла, а затем вычисляется значение выражения, если значение истинно, то выполнение оператора повторяется, если ложно, то выходим из цикла.
Пример:
¥
S= S(xi /i!) суммирование прекращаем, если очередное слагаемое £ eps
i=0
#include<stdio.h>
void main(void)
{
float s=0,eps;
int i=1;
scanf(“%f”,&eps);
do
{
s1*=x/i;
i++; s+=s1*=x/i
s+=s1;
}
while(s1>eps);
}
п.8.6.в) Оператор пошагового цикла.
for([<начальное выражение>];[<условное выражение>];[<выражение приращения>])
<оператор>;
<Начальное выражение> используется для инициализации параметра цикла.<Условное выражение> задает условие при котором должно произойти завершение цикла.<Выражение приращения> используется для изменения значения параметра.
Си++ позволяет объявлять и инициализировать переменную управления циклом внутри цикла for. В Си++ можно объявлять переменные непосредственно перед оператором, который их использует, а не обязательно в начале блока как в Си. Но это используется редко, т.к. нарушается удобочитаемость программы.
Выполнение:
1. Вычисляется <начальное выражение>, если есть.
2. Вычисляется <условное выражение>, если оно истинно выполняется <оператор> цикла.
3. Вычисляется <выражение приращения>, если оно есть.
4. Процесс продолжается, пока<условное выражение>не станет ложно.
Если <условное выражение> опушено, то предполагается что оно истинно и цикл становится бесконечным. for( ; ; )-тоже бесконечный цикл.
Пример:
for(<выражение1>;<выражение2>;<выражение3>)
{
<оператор>
}
эквивалентно
<выражение1>;
while(<выражение2>)
{
<оператор>
<выражение3>;
}
Цикл for похож на аналогичные циклы в других языках программирования, но в то же время гораздо более гибкий и применим во многих ситуациях.
Пример: демонстрирует гибкости цикла for.(в ущерб понятности)
for(i=100 ; i>=0 ; printf(“\n%d”,i) , i-=2)
операция последовательного вычисления выражений
По синтаксису <выражение3>-одно, но используя операцию ,(запятая) можно выполнить и более чем одно выражение.
п.8.7.Оператор продолжения continue.
Передает управление не следующую итерацию в циклах do, for, while, может появляться только в теле этих операторов. Оставшиеся операторы в теле цикла при этом не выполняются. В операторах do и while следующая операция начинается с вычисления условного выражения. В операторе for с вычисления выражения приращения.
Пример:
while(i-- >0)
{ Выполнение: Если х=1, то у не вычисляется, мы идем на следующую
x=f(i); итерацию, в противном случае вычисляем у.
if(x==1) continue;
else y=x*x;
}
п.8.8.Оператор разрыва break.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.