- •Данных. Составные структуры данных
- •3.2.1 Общие положения
- •3.2.1.1 Алфавит языка
- •3.2.1.2 Формат программы
- •3.2.1.3. Комментарии
- •// Пример однострочного комментария
- •3.2.2.2 Типы данных
- •3.2.1.4 Зарезервированные слова
- •3.2.2 Данные
- •3.2.2.1 Идентификаторы данных
- •3.2.2.3 Постоянные
- •3.2.2.4 Переменные
- •3.2.2.5 Массивы
- •3.2.2.6 Структуры
- •3.2.2.7 Объединения
- •Масив X:
- •Адреса элементу:
- •Масив y:
- •3.2.2.8 Перечисления
- •3.2.2.9 Указатели
- •Int Hour;
- •Int Press;
- •3.2.2.9.1 Динамическое выделения памяти для хранения данных
- •3.2.2.9.2 Динамическое освобождение памяти от хранимых данных
- •3.2.2.9.3 Ссылка
- •3.2.2.10 Множества
- •3.2.3 Выражения
- •3.2.3.1 Арифметические операции
- •Char int float | signed unsigned | short (базовый) long
- •3.2.3.2 Битовые операции
- •3.2.3.2 Логические операции
- •3.2.3.4 Операции отношения
- •3.2.3.5 Операция присваивания
- •3.2.3.6 Специальные операции
- •3.2.3.7 Элементарные функции
- •3.8 Приведение типов данных
- •3.2.3.9 Приоритеты операций
- •3.2.3.10 Адресные выражения
3.2.3.9 Приоритеты операций
Для того чтобы компилятор мог разобраться в порядке выполнения операций при вычислении выражениий, операции сгруппированы. При этом между группами операций установлены приоритеты так, что в первую очередь выполняются операции с наивысшим приоритетом (таблица 3.2.3). При этом следует учитывать, что операции в группе могут выполняться слева-направо () или справа-налево ().
Таблица 3.2.3
Направление убывания приоритета |
Приоритет |
Направление порядка выполнения |
Операции группы |
|||||
1 |
|
:: |
X[i] |
function( ) |
X.Y |
XY |
|
|
2 |
|
-X |
+X |
~X |
!X |
*X |
&X |
|
++X |
--X |
X++ |
X-- |
sizeof(X) |
(тип) |
|||
3 |
X*Y |
X/Y |
X%Y |
|
|
|
||
4 |
|
X+Y |
X-Y |
|
|
|
|
|
5 |
X<<Y |
X>>Y |
|
|
|
|
||
6 |
X<Y |
X>Y |
X<=Y |
X>=Y |
|
|
||
7 |
X= =Y |
X!=Y |
|
|
|
|
||
8 |
X&Y |
|
|
|
|
|
||
9 |
X^Y |
|
|
|
|
|
||
10 |
X|Y |
|
|
|
|
|
||
11 |
X&&Y |
|
|
|
|
|
||
12 |
X||Y |
|
|
|
|
|
||
13 |
X?Y:Z |
|
|
|
|
|
||
14 |
|
X=Y |
X*=Y |
X/=Y |
X%=Y |
X+=Y |
X- =Y |
|
X&=Y |
X|=Y |
X>>=Y |
X<<=Y |
X^=Y |
|
|||
15 |
|
X,Y |
|
|
|
|
|
|
Кроме того, язык С++ предоставляет программисту возможность самостоятельно задавать порядок выполнения операций в выражении. С этой целью, как и в математике, операнды группируются при помощи скобок, которые могут быть вложенными друг в друга без ограничения уровня вложенности.
