Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
26-30.docx
Скачиваний:
5
Добавлен:
21.09.2019
Размер:
37.14 Кб
Скачать

Операция присваивания

Левым операндом должна быть переменная. Нельзя записать:

5 = x;

Операнду находящемуся в левой части присваивается значение операнда стоящего в правой части операции:

x = 5;

cout << x; // на экран будет выведено: 5

Теперь в переменной x хранится значение 5. И его можно использовать.

Арифметические операции с присваиванием

Данные операции позволяют сократить код:

int x = 5;

x += 5; // две последние строки эквивалентны

x = x + 5;

Арифметические операции с присваиванием используются когда необходимо внести изменения в переменную используюя при этом значение, которое хранится в этой переменной в данный момент.

Условная операция

Условная операция ?: - единственная тернарная (то есть принимающая три операнда) операция в C++. Использовать её можно вместо простого ветвления if else.

x > y ? flag = 1 : flag = 0;

В первом операнде записывается условная операция. Если она возвращает единицу, то выполняется второй операнд, если ноль, то выполняется третий операнд. Приведённый код эквивалентен следующему:

if (x > y)

{

flag = 1;

}

else

{

flag = 0;

}

Логические операции

|| - логическое ИЛИ, && - логическое И. Операция логического И обладает более высоким приоритетом.

Данные операции используются для объединения нескольких условных операций:

if (x = y)

{

if (z > x)

{

}

}

Вот вместо этой чудовищной конструкции можно использовать следующую:

if ((x == y) && (x < z))

{

}

Только когда выполняются два условия, выполняется и тело ветвления.

Операция || работает аналогично:

if ((x == y) || (x < z))

{

}

Тело ветвления выполняется, когда выполняется любое из условий, т.е. если выполняется хоть одно условие.

Поразрядные логические операции

| ^ &. Здесь перечислены операции в порядке увеличения их приоритета.

Поразрядные логические операции в отличие от логических возвращают значения такого же типа, как и их операнды.

При выполнении этих операций вычисления ведутся над двоичным представлением операндов.

В комментариях указано как эти числа представлены в двоичном виде.

Операция проверки на равенство (неравенство)

Операции отношения могут возвращать только два значения: ноль (false - ложь) и единицу (true - истина).

== и !=. Данные операции возвращают булевы значения.

x == y;

Если x равен y, то операция вернёт единицу.

x != y;

Операция вернёт единицу если x не равен y.

Более высокий приоритет у операций < (меньше), <= (меньше или равно), > (больше), >= (больше или равно). Думаю тут всё понятно. Только запомните что в операциях больше или равно и меньше или равно сначала пишется угловая скобка, а затем знак равенства. Следущий знак в C++ не имеет смысла: =<.

Арифметические операции

Приоритет этих операции такой же как и в математике. Операции умножения, деления выполняются раньше чем операции суммы, вычитания.

Для операции умножения в C++ используется знак *.

Кроме того сюда же относится операция взятия остатка %. Данная операция делит первый операнд на второй и берёт остаток от деления:

int x = 3;

int y = 10;

int z;

z = x % y; // z = 3

Мы делим три на десять. Результат - 0,3. Отбрасываем ноль и берём остаток. Результат - 3.

Данная операция хоть и не так распространена как например другие арифметические операции, но тем не менее используется довольно часто. И иногда бывает просто незаменима.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]