Таблица приоритетности. Унарные, бинарные, тернарные и n-арные операции. Префиксная и постфиксная форма оператора

Таблица приоритетности. Унарные, бинарные, тернарные и n-арные операции. Префиксная и постфиксная форма оператора


Содержание


1. Таблица приоритетности операций (операторов) языка C#

Ниже приведена таблица приоритетности операций (операторов) в языке программирования C#. Операции и операторы следуют в порядке убывания приоритетности.

C# Таблица приоритетности операций

Исходя из таблицы, первыми обрабатываются операции или операторы, которые имеют наивысший приоритет.

Например, в выражении

x = a + b * (c — 5);

операции выполняются в последовательности, как показано на рисунке

C# Приоритет операций

Рисунок 1. Приоритет операций в соответствии с таблицей приоритетности

Объяснение к рисунку 1. Операции выполняются в следующей последовательности:

  • 1 — выполняется выражение в скобках (c-5);
  • 2 — выполняется бинарная операция ‘‘, которая получает два операнда: переменную c (слева) и число 5 (справа);
  • 3 — выполняется операция умножения *;
  • 4 — выполняется бинарный оператор + (сложение);
  • 5 — выполняется оператор присваивания =. Этот оператор имеет наиболее низкий приоритет (в соответствии с таблицей).

 

2. Какие операции (операторы) называются унарными, бинарными и n-арными?

Любая операция или оператор для проведения вычислений требуют наличия некоторого количества операндов. По количеству операндов операторы делятся на следующие группы:

  • унарные. Для проведения вычислений унарные операторы требуют наличия одного операнда в своем синтаксисе. Например, операция обозначения отрицательного числа — (минус) есть унарной и требует наличия операнда справа от знака операции (-8, -2.85);
  • бинарные. Для проведения вычислений бинарные операции требуют двух операндов. Как правило, эти операнды размещаются слева и справа от знака операции. Например, операция * (умножение) есть бинарной;
  • тернарные. Это специальные операции (операторы), которые для проведения вычислений требуют трех операндов. В языке C# существует тернарная операция ?:, которая может заменять управляющий оператор if;
  • nарные. Это операции, которые для проведения вычислений требуют более трех операндов.

Существуют операторы, которые по своему обозначению встречаются в более чем одной группе. Например, операция минус () может быть унарной (обозначение отрицательных чисел) и бинарной (операция вычитания чисел).

 

3. Что означает понятие префиксной и постфиксной формы?

Некоторые операторы в языке C# могут иметь префиксную и постфиксную форму. К таким операторам принадлежат операторы инкремента (++) и декремента (— —).

Операторы инкремента (++) увеличивают на 1 значение целочисленной величины. Соответственно операторы декремента уменьшают на 1 значение целочисленной величины.

В префиксной форме операторов инкремента и декремента оператор ++ или — — размещается перед переменной, которая обрабатывается. В постфиксной форме операторов инкремента и декремента соответствующий оператор размещается после обрабатываемой переменной.

Например.

int t = 5;
++t; // t = 6; - префиксная форма оператора ++
t++; // t = 7; - постфиксная форма оператора ++
--t; // t = 6; - префиксная форма оператора --
t--; // t = 5; - постфиксная форма оператора --

 


Связанные темы