- •Занятие 3 Выражения. Переменные. Операции.
- •1. Переменные
- •2. Операции
- •2.1 Операция присваивания
- •2.2 Бинарные арифметические операции
- •2.4 Неявное преобразование типов
- •2.5 Логические операции и операции отношения
- •2.6 Поразрядные (побитовые) операции
- •2.7 Операции сдвига
- •2.8 Операция sizeof
- •2.10 Операция следования
- •2.11 Условная операция (?:)
- •3. Выражения
2. Операции
Любое действие над данными, выполняемое программой, можно рассматривать как некоторое вычисление. На заре развития электронной техники это свойство было отражено в самом названии компьютера, машины первого и второго поколения назывались вычислительными устройствами, а позднее электронными вычислительными машинами (ЭВМ).
Вычисляемое выражение состоит из операндов, соединенных знаками операций.
Знак операции – это символ или группа символов, сообщающих компилятору о необходимости выполнений арифметических, логических или других действий.
Операнд – это константа, литерал, идентификатор, вызов функции, индексное выражение. Комбинацию операндов можно также рассматривать как операнд. В простейшем случае операнд – это переменная или константа.
При вычислении выражения операции выполняются в строгой последовательности, определяемой их приоритетом, или рангом. Порядок выполнения операций может регулироваться с помощью круглых скобок. Операции с более высоким рангом выполняются до операций с более низким рангом, если часть выражения заключена в скобки, то вначале вычисляется выражение внутри скобок.
В зависимости от количества операндов, которые используются в операциях, они делятся на несколько видов:
Унарные (с одним операндом);
Бинарные (с двумя операндами);
Тернарные (с тремя операндами.
В таблице 1 приведен список основных операций, определенных в С++ в соответствие с их приоритетами (по убыванию приоритетов).
Таблица 1. Основные операции языка С++
Операция |
краткое описание |
Унарные операции (одинаковый приоритет) |
|
++ |
увеличение на 1 |
-- |
уменьшение на 1 |
sizeof |
размер |
~ |
поразрядное отрицание |
! |
логическое отрицание |
- |
арифметическое отрицание (унарный минус) |
+ |
унарный плюс |
& |
взятие адреса |
* |
разадресация |
new |
выделение памяти |
delete |
освобождение памяти |
(type) |
преобразование типа |
Бинарные и тернарные операции |
|
* / % |
умножение деление остаток от деления |
+ - |
сложение вычитание |
<< >> |
сдвиг влево сдвиг вправо |
< <= > >= |
меньше меньше или равно больше больше или равно |
== != |
равно не равно |
& |
поразрядная конъюнкция (И) |
^ |
поразрядное исключающее ИЛИ |
| |
поразрядная дизъюнкция (ИЛИ) |
&& |
логическое И |
|| |
логическое ИЛИ |
?: |
условная операция (тернарная) |
= *= /= %= += -= <<= >>= &= |= ^= |
присваивание умножение с присваиванием деление с присваиванием остаток от деления с присваиванием сложение с присваиванием вычитание с присваиванием сдвиг влево с присваиванием сдвиг вправо с присваиванием поразрядное И с присваиванием поразрядное ИЛИ с присваиванием поразрядное исключающее ИЛИ с присваиванием |
, |
последовательное вычисление |