Операции, приоритет и ассоциативность

Операция ∙ Действие ∙ Пример

• Наивысший приоритет

Направленность действия (ассоциативность) =>

() ∙ Вызов функции ∙ 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, х++)

• Низший приоритет