Условный оператор. Переключатель.Оператор перехода. ⇐ ПредыдущаяСтр 3 из 3
Условный оператор: if (выражение) оператор1; else оператор2 ; Если значение выражения истинное, выполняется оператор1, иначе оператор2.,а затем оператор , стоящий за if,т.е.if задаёт альтернативу: выполнить оператор1 или оператор2, это полный if. Возможен и короткий: if (выражение) оператор1 ; он задаёт альтернативу: выполнить или нет оператор1.Если на месте оператора1 или оператора2 нужно поставить группу операторов, их заключают в фигурные скобки и синтаксически группа становится одним оператором. if (выражение) { оператор; … оператор;}; еlse { оператор;… оператор; }; Если вместо оператора1 стоит условный оператор, то необходимо разрешить возникающую иногда коллизию; для этого есть правило: else всегда относится к ближайшему if. If (a>b) if (x>c)m=0; else m=1; Возможны 2 толкования этого оператора: If (a>b) if (x>c)m=0; else m=1; (1) – по правилу это работает. If (a>b) if (x>c)m=0; else m=1; (2) Если нужен (2), можно If (a>b) { if (x>c)m=0; } else m=1; Примеры. Int a,b,m; a)if (a>b) m=a; else m=b; b)m=a; if (b>m) m=b; c)m=(a+b)/2 + fabs(a-b)/2; Все три примера решают такую задачу m=max(a,b); , но вариант a) более наглядный. Переключатель реализует развилку на несколько направлений. Общий вид оператора: Switch(выражение) {Caseконстантное_выражение1 :[оператор; … оператор;] Caseконстантное_выражение2 :[оператор; … оператор;] ………………………………………………………………………………………Case константное_выражениеN :[оператор; … оператор;] [default : оператор; … оператор;] } Переключающее выражение – селектор – целого типа или символьного. Константные выражения приводятся к типу селектора. Все константные выражения в одном переключателе должны иметь различные значения. Switch передает управление тому из операторов, помеченных с помощью case, у которого значение константного выражения совпадает со значением селектора. Если же оно не совпадает ни с одним из константных выражений, то управление получает оператор, помеченный меткой default. Если нет группы default, то оператор Switch не выполнит ничего. Если выбран некоторый вариант и группа его операторов выполняется, последним в этой группе часто стоит оператор break, который выполняет выход из переключателя на оператор, следующий за ним. Если группа операторов варианта не заканчивается оператором break и никуда не передаёт управление, то выполняется группа операторов следующего варианта.
Замечание. Оператор break в составе другого оператора выполняет выход из этого другого оператора на оператор, следующий за ним. Основные операции языка С++ (по убыванию приоритетов, в группе приоритеты одинаковые)
©2015 arhivinfo.ru Все права принадлежат авторам размещенных материалов.
|