Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Условные операторы




Операторы ветвления позволяют изменить порядок выполнения операторов в программе. К операторам ветвления относятся условный оператор if и оператор выбора switch.

Условный оператор if используется для разветвления процесса обработки данных на два направления. Он может иметь одну из форм: сокращенную или полную.

Форма сокращенного оператора if:

 

if (B) S;

 

где В – логическое или арифметическое выражение, истинность которого проверяется; S – оператор.

При выполнении сокращенной формы оператора if сначала вычисляется выражение B, затем проводится анализ его результата: если B истинно, то выполняется оператор S; если B ложно, то оператор S пропускается. Таким образом, с помощью сокращенной формы оператора if можно либо выполнить оператор S, либо пропустить его.

Форма полного оператора if:

 

if (B) S1; else S2;

 

где B – логическое или арифметическое выражение, истинность которого проверяется; S1, S2 – операторы.

При выполнении полной формы оператора if сначала вычисляется выражение B, затем анализируется его результат: если B истинно, то выполняется оператор S1, а оператор S2 пропускается; если B ложно, то выполняется оператор S2, а S1 – пропускается. Таким образом, с помощью полной формы оператора if можно выбрать одно из двух альтернативных действий процесса обработки данных.

Для примера, вычислим значение функции:

 

 

Указанное выражение может быть запрограммировано в виде

 

if (x <= a)

y = Math.Sin(x);

if ((x > a) && (x < b))

y = Math.Cos(x);

if (x >= b)

y = Math.Sin(x) / Math.Cos(x);

 

или с помощью оператора else:

 

if (x <= a)

y = Math.Sin(x);

else

if (x < b)

y = Math.Cos(x);

else

y = Math.Sin(x) / Math.Cos(x);

Важное примечание! В C-подобных языках программирования, к которым относится и C#, операция сравнения представляется двумя знаками равенства, например:

if (a == b)

 

Оператор выбора switch предназначен для разветвления процесса вычислений по нескольким направлениям. Формат оператора:

 

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

{

case <константное_выражение_1>:

[<оператор 1>];

<оператор перехода>;

case <константное_выражение_2>:

[<оператор 2>];

<оператор перехода>;

...

case <константное_выражение_n>:

[<оператор n>];

<оператор перехода>;

[default:

<оператор>;]

}

 

Замечание. Выражение, записанное в квадратных скобках, является необязательным элементом в операторе switch. Если оно отсутствует, то может отсутствовать и оператор перехода.

Выражение, стоящее за ключевым словом switch, должно иметь арифметический, символьный или строковый тип. Все константные выражения должны иметь разные значения, но их тип должен совпадать с типом выражения, стоящим после switch или приводиться к нему. Ключевое слово case и расположенное после него константное выражение называют также меткой case.

Выполнение оператора начинается с вычисления выражения, расположенного за ключевым словом switch. Полученный результат сравнивается с меткой case. Если результат выражения соответствует метке case, то выполняется оператор, стоящий после этой метки, за которым обязательно должен следовать оператор перехода: break, goto, return и т. д. При использовании оператора break происходит выход из switch и управление передается оператору, следующему за switch. Если же используется оператор goto, то управление передается оператору, помеченному меткой, стоящей после goto. Наконец, оператор return завершает выполнение текущего метода.

Если ни одно выражение case не совпадает со значением оператора switch, управление передается операторам, следующим за необязательной подписью default. Если подписи default нет, то управление передается за пределы оператора switch.

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

 

int dayOfWeek = 5;

switch (dayOfWeek)

{

case 1:

MessageBox.Show("Понедельник");

break;

case 2:

MessageBox.Show("Вторник");

break;

case 3:

MessageBox.Show("Среда");

break;

case 4:

MessageBox.Show("Четверг");

break;

case 5:

MessageBox.Show("Пятница");

break;

case 6:

MessageBox.Show("Суббота");

break;

case 7:

MessageBox.Show("Воскресенье");

break;

default:

MessageBox.Show("Неверное значение!");

break;

}

 

Поскольку на момент выполнения оператора switch в этом примере переменная dayOfWeek равнялась 5, то будут выполнены операторы из блока case 5.

В ряде случаев оператор switch можно заменить несколькими операторами if, однако не всегда такая замена будет легче для чтения. Например, приведённый выше пример можно переписать так:

 

int dayOfWeek = 5;

if (dayOfWeek == 1)

MessageBox.Show("Понедельник");

else

if (dayOfWeek == 2)

MessageBox.Show("Вторник");

else

if (dayOfWeek == 3)

MessageBox.Show("Среда");

else

if (dayOfWeek == 4)

MessageBox.Show("Четверг");

else

if (dayOfWeek == 5)

MessageBox.Show("Пятница");

else

if (dayOfWeek == 6)

MessageBox.Show("Суббота");

else

if (dayOfWeek == 7)

MessageBox.Show("Воскресенье");

else

MessageBox.Show("Неверное значение!");

 




Поделиться с друзьями:


Дата добавления: 2014-11-07; Просмотров: 542; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.008 сек.