Описание тега order-of-operations
Порядок операций (или приоритет оператора) в языке программирования - это набор правил, которые определяют, какие операции должны выполняться первыми. Точное правило варьируется в зависимости от языка.
Например, язык программирования C++ определяет 18 различных уровней приоритета операторов. В выражении 1 + 2 * 3
, будет оцениваться до 7 - умножение будет применяться в первую очередь, потому что *
оператор имеет более высокий приоритет, чем +
оператор. Чтобы переопределить это поведение по умолчанию, требуются скобки; (1 + 2) * 3
будет оцениваться до 9 - потому что скобки имеют более высокий приоритет, чем любой из арифметических операторов.
Четвертый язык программирования, с другой стороны, не имеет определенного порядка операций, а скорее полагается на стековую природу самого языка. Выражение 3 2 * 1 +
оценил бы до 7, потому что только положение оператора определяет его приоритет. 3 1 2 + *
будет оцениваться до 9, потому что умножение выполняется последним.