Здавалка
Главная | Обратная связь

Условный оператор. Переключатель.Оператор перехода.



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

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 и никуда не передаёт управление, то выполняется группа операторов следующего варианта.

#include <iostream> using namespace std; int main() {int n=10,c; for(c=10;c<18;c++) {switch (c%n) {case 0:cout <<"monday\n"; break; case 1:cout <<"tusday\n"; break; case 2:cout <<"wednesday\n"; break; case 3:cout <<"thursday\n"; break; case 4:cout <<"friday\n"; break; case 5:cout <<"saturday\n"; break; case 6:cout <<"sunday\n"; break; default:cout <<"noday\n"; }} return 0; }  

Замечание. Оператор break в составе другого оператора выполняет выход из этого другого оператора на оператор, следующий за ним.

Основные операции языка С++

(по убыванию приоритетов, в группе приоритеты одинаковые)

Олерация. Действие
  Унарные операции
++ -- Sizeof ~ ! - + & * new delete (тип) Увеличение на 1 Уменьшение на 1 Размер Поразрядное отрицание Логическое отрицание Унарный минус (арифметическое отрицание) Унарный плюс Взятие адреса Разыменование Выделение динамической памяти Освобождение динамической памяти Преобразование типа
  Бинарные и тернарная операции
* / % Умножение Деление Остаток от деления
+ - сложение вычитание
<< >> Сдвиг влево Сдвиг вправо
< <= > >= Меньше Меньше или равно больше Больше или равно
== != Равно Не равно
& Поразрядная конъюнкция (И)
^ Поразрядная исключающее ИЛИ
| Поразрядная дизъюнкция (ИЛИ)
&& Логическое И
|| Логическое ИЛИ
? : Условная операция (тернарная)
= *= /= %= += -= <<= >>= &= |= ^= Присваивание Умножение с присваиванием Деление с присваиванием Остаток от деления с присваиванием Сложение с присваиванием Вычитание с присваиванием Сдвиг влево с присваиванием Сдвиг вправо с присваиванием Поразрядное И с присваиванием Поразрядное ИЛИ с присваиванием Поразрядное исключающее ИЛИ с присваиванием
, Последовательное вычисление

 







©2015 arhivinfo.ru Все права принадлежат авторам размещенных материалов.