Унарные, бинарные и тернарное выражения

Лекция №2

Операции и Выражения
Операнд – это константа, литерал, идентификатор, вызов функции, индексное выражение, выражение выбора элемента или более сложное выражение, сформированное комбинацией операндов, знаков операций и круглых скобок. Любой операнд, который имеет константное значение, называется константным выражением. Каждый операнд имеет тип.
Знаки операций определяют действия, которые должны быть выполнены над операндами.
Комбинация знаков операций и операндов, результатом которой является определенное значение, называется выражением. Каждый операнд в выражении может быть выражением. Значение выражения зависит от расположения знаков операций и круглых скобок в выражении, а также от приоритета выполнения операций.
Lvalues и Rvalues выражения
Lvalues –выражение (или именующее выражение) представляет собой локатор объекта, выражение, которое обозначает объект.
Модифицируемое именующее выражение – это идентифицирующее выражение, относящееся к объекту, к которому возможен доступ и допустимо его изменение в памяти. Так значения констант, описанные в модификаторе const, не являются модифицируемыми именующими выражениями. Исторически в слове Lvalues буква L означает «левый» (Left). Это означает, что Lvalue допускается в левой части оператора присваивания. Здесь в левой части оператора присваивания допустимы только модифицируемые именующие выражения. Например, если а и с – это не являющиеся константами целочисленные идентификаторы с правильно распределенными для них областями памяти, то оба они являются модифицируемыми именующими выражениями, и присваивания типа а=1; с=а+с; вполне допустимы.
Rvalues –выражения называют значением переменной (значением правой части выражения). Исторически в слове Rvalues буква R означает «правый» (Right).Так, например, выражение с+а не является именущим (присваивание типа с+а=с недопустимо), но является Rvalue –выражением.

Унарные, бинарные и тернарное выражения
Унарное выражение состоит из операнда и предшествующего ему знаку унарной операции и имеет следующий формат:
ЗнакУнарнойОперации Выражение .
Бинарное выражения состоит из двух операндов, разделенных знаком бинарной операции:
Выражение1 ЗнакБинарнойОперации Выражение2 .
Тернарное выражение состоит из трех операндов, разделенных знаками тернарной операции (?) и (:), и имеет формат:
Выражение1 ? операнд2 : операнд3 .
По количеству операндов, участвующих в операции, операции подразделяются на унарные, бинарные и тернарные.
Унарные операции выполняются справа налево.
Операции увеличения и уменьшения увеличивают или уменьшают значение операнда на единицу и могут быть записаны как справа так и слева от операнда. Если знак операции записан перед операндом (префиксная форма), то изменение операнда происходит до его использования в выражении. Если знак операции записан после операнда (постфиксная форма), то операнд вначале используется в выражении, а затем происходит его изменение.

Таблица 7 Унарные операции

Знак операции Операция Группа операций
+ Унарный плюс Аддитивные
Отрицание
++ Увеличение
Уменьшение
~ Поразрядное отрицание(дополнение) Поразрядные операции
! Логическое отрицание Логические операции
* Разадресация (косвенная адресация) Адресные операции
& Вычисление адреса
Sizeof Размер Size-операция

В отличие от унарных, бинарные операции, список которых приведен в табл.8, выполняются слева направо.
Таблица 8 Бинарные операции

Знак операции Операция Группа операций
* Умножение Мультипликативные
/ Деление
% Остаток от деления
+ Сложение Аддитивные
Вычитание
<< Сдвиг влево Операции сдвига
>> Сдвиг вправо
< Меньше Операции отношения
<= Меньше или равно
>= Больше или равно
== Равно
!= Не равно
& Поразрядное И Поразрядные операции
| Поразрядное ИЛИ
^ Поразрядное исключающее ИЛИ
&& Логическое И Логические операции
|| Логическое ИЛИ
, Последовательное вычисление Последовательного вычисления
= Присваивание Операции присваивания
*= Умножение с присваиванием
/= Деление с присваиванием
%= Остаток от деления с присваиванием
-= Вычитание с присваиванием
+= Сложение с присваиванием
<<= Сдвиг влево с присваиванием
>>= Сдвиг вправо присваиванием
&= Поразрядное И с присваиванием
|= Поразрядное ИЛИ с присваиванием
^= Поразрядное исключающее ИЛИ с присваиванием

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

12345678910Следующая ⇒

Дополнительная информация из Википедии по теме: Унарные, бинарные и тернарное выражения

Бу́лева фу́нкция (или логи́ческая функция, или функция а́лгебры ло́гики) от n аргументов — в дискретной математике — отображение B. Булевы функции названы по фамилии математика Джорджа Буля.

При работе с булевыми функциями происходит полное абстрагирование от содержательного смысла, который имелся в виду в алгебре высказываний. Тем не менее, между булевыми функциями и формулами алгебры высказываний можно установить взаимно-однозначное соответствие, если:

  • установить взаимно-однозначное соответствие между булевыми переменными и пропозициональными переменными,
  • установить связь между булевыми функциями и логическими связками,
  • оставить расстановку скобок без изменений.
Смотри полный текст на Wikipedia

Обсуждение темы

Ваш e-mail не будет опубликован. Обязательные поля помечены *