Операции, приоритет и ассоциативность
Операция ∙ Действие ∙ Пример
• Наивысший приоритет
Направленность действия (ассоциативность) =>
() ∙ Вызов функции ∙ sqr()
[] ∙ Элемент массива ∙ х[6]В данной книге для отделения целой части числа от дробной используется точка, а не запятая. — Примеч. ред.
. ∙ Элемент структуры ∙ PIA1.CRA
-> ∙ Элемент структуры по указателю ∙ PIA1—>CRA
• Унарные операторы
Направленность действия (ассоциативность) <=
! ∙ Логическое отрицание ∙!х
~ ∙ Инверсия (обратный код) ∙ ~х
- ∙ Изменение знака ∙ у = — х
+ ∙ Унарный плюс ∙ у = x —+ (y+z)
++ ∙ Инкрементирование ∙ Х++ или ++Х
- ∙ Декрементирование ∙ X- или — X
& ∙ Определение адреса ∙ &х
* ∙ Обращение по адресу ∙ *адрес
( тип ) ∙ Преобразование типа ∙ (long)x
sizeof ∙ Определение размера в байтах ∙ sizeof х
• Арифметические операции
Направленность действия (ассоциативность) =>
* ∙ Умножение ∙ z = х*у
/ ∙ Деление ∙ z = x/y
% ∙ Остаток от деления (деление по модулю) ∙ z = x%y (только целые типы)
+ ∙ Сложение ∙ z = x+y
- ∙ Вычитание ∙ z = x-y
• Операции сдвига
Направленность действия (ассоциативность) =>
>> ∙ Сдвиг влево ∙ z = x»3
<< ∙ Сдвиг вправо ∙ z = x<<3
• Операции отношения
Направленность действия (ассоциативность) =>
< ∙ Меньше, чем ∙ while(x < 3)
<= ∙ Меньше или равно ∙ while(x <= 3)
> ∙ Больше, чем ∙ while(x > 3)
>= ∙ Больше или равно ∙ while(x >= 3)
== ∙ Равно ∙ while(x == 3)
!= ∙ Не равно ∙ while(x!= 3)
• Побитовые операции
Направленность действия (ассоциативность) =>
& ∙ Побитовое И ∙ x & 0xFE (Сброс 0-го бита)
^ ∙ Побитовое Исключающее ИЛИ ∙ х ^ 0x01 (Инвертирование 0-го бита)
| ∙ Побитовое ИЛИ ∙ х | 0x01 (Установка 0-го бита)
• Логические операции
Направленность действия (ассоциативность) =>
&& ∙ Логическое И ∙ х && у истина, если истинны оба операнда
|| ∙ Логическое ИЛИ ∙ х || у истина, если истинен хотя бы один из операндов
?: ∙ Условная операция ∙ х = (у > z)?5:10х = 5, если у > z, иначе х = 10
• Операции присваивания
Направленность действия (ассоциативность) <=
= ∙ Простое присваивание ∙ х = 3
+= ∙ Присваивание со сложением ∙ х += 3 (х = х + 3)
-= ∙ Присваивание с вычитанием ∙ x — = 3 (= x — 3)
*= ∙ Присваивание с умножением ∙ х *= 3 (х = х * 3)
/= ∙ Присваивание с делением ∙ х/=3(х = х/3)
%= ∙ Присваивание с делением по модулю ∙ х %= 3 (х = х % 3)
&= ∙ Присваивание с побитовым И ∙ х &= 3 (х = х & 3)
^= ∙ Присваивание с побитовым Исключающее ИЛИ ∙ X^= 3 (x = x^3)
|= ∙ Присваивание с побитовым ИЛИ ∙ х |= 3 (х = х | 3)
<<= ∙ Присваивание со сдвигом влево ∙ х <<= 3 (х = х << 3)
>>= ∙ Присваивание со сдвигом вправо ∙ х >>= 3 (х = х >> 3)
Направленность действия (ассоциативность) =>
, ∙ Последовательное выполнение ∙ if(x = 0, у = 3; х < 10, х++)
• Низший приоритет