Оператор переключения switch. 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Оператор переключения switch.



 

Этот оператор используется для выбора одной из многих ветвей решения задач. Работает оператор следующим образом: происходит проверка соответствия значения выражения с одной из констант-выражений ветвей. Если это сравнение имеет положительный результат, то выполняется соответствующий оператор. Если нет – то продолжается сравнение со следующим константой-выражением.

Форма записи:

switch (выражение)

{

case константа_1 - выражение: оператор_1;

                          break;

case константа_2 - выражение: оператор_2;

                          break;

default:              оператор_d;

}

Если выражение не совпадает ни с одной из констант, то выполняется

[ default: оператор_d;]

В качестве выражений и констант-выражений могут служить целочисленные или символьные данные.

Каждая ветвь case помечена целочисленной константой или выражением. Работает та ветвь, у которой выражение у самого оператора совпадает с выражением ветвей case; если выражение не совпадает ни с одной из констант, то выполняется ветвь default.

Работа оператора switch организуется как переход на метку, и после выполнения выбранной ветви оператор переходит на выполнение следующей ветви. Для выхода используются дополнительные операторы (инструкции), например break или return.

Пример 3.12: вычислить у по одной из формул:

y=a+b, y=a-b, y=a*b, y=a/b.

В качестве управляющего символа взять знаки операций

 ”+”, ”-”, ”*”, ”/”.

void main()

{

char oper

float a,b,y;

printf(“Введите a, b\n”);

scanf(“%f _ _ %f”, &a, &b);

printf(“Введите(укажите) операцию”);

scanf(“%c”,& oper);

switch(oper)

{ case ‘+’:   y=a+b; break;

case ‘-‘:    y=a-b; break;

case ‘*’:   y=a*b; break;

case ‘/’:  y=a/b;

default: printf(“Операция указана не верно”);}

printf(“y = %.2f\n”, y);

}

Операторы цикла.

Операторы цикла предназначены для организации многократных повторений наборов действий (циклов) в программах. Все операторы цикла работают следующим образом:

1. Переменной цикла присваивается начальное значение;

2. Для полученного значения переменной цикла выполняются, необходимые в соответствии с условием задачи, действия и преобразования;

3. Значение переменной цикла изменяется на заданный шаг;

4. Выполняется проверка на достижение переменной цикла конечного значения.

 

Приведенную последовательность действий можно отразить с помощью блок-схемы. Такая структура цикла называется цикл с постусловием.

     
1
0


Если проверка на окончание цикла выполняется в начале, то есть до выполнения тела цикла, то цикл с такой структурой называется цикл с предусловием.

 

 

Согласно указанных структур в Си различают три вида операторов цикла:

- Цикл типа while;

- Цикл типа do... while;

- Цикл типа for.

Рассмотрим каждый из операторов цикла.

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

Структура выглядит следующим образом и реализует цикл с предусловием:

while (выражение) 

оператор;

где < выражение > - логическое выражение;

оператор - оператор или несколько операторов (тело цикла), что выполняется в цикле.

Схема работы такого цикла while: пока условие истина (true), выполняется оператор, и снова проверяется условие и т.д. Когда условие станет ошибочной (false) цикл завершает работу. Такой цикл является циклом с предусловием. Если в теле цикла необходимо выполнять набор операторов, тогда этот набор операторов надо взять в фигурные скобки и образовать составной оператор.

while (<условие>)

{

оператор_1;

.........
.........

 

оператор_n;

 }

Пример 3.13: вычислить выражение y = √ | x |- x 2

для -2 ≤ x ≤ 2 с Δx = 0.1;

определить k - количество y которые > 0;

вывести на экран значения x, y  на каждом шаге вычислений;

вывести на экран значения k – в конце программы.

Текст программы.

#include <stdio.h>

#include <math.h>

void main ()

{

float x=-2, y;

int k=0;

while (x<=2)

{

y=sqrt(fabs(x))–x*x;

printf("x=%.1f y=%.3f\n", x, y);

if(y>0) k++;

x+=0.1;

}

printf(“k=%d\n”,k);

}

 



Поделиться:


Последнее изменение этой страницы: 2021-04-04; просмотров: 51; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.191.44.23 (0.009 с.)