Шаг 48.
Приоритет операций

    На этом шаге мы рассмотрим порядок выполения операций.

    Последовательность выполнения операций определяется тремя факторами:

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

Таблица 1. Приоритет операций
Приоритет Операции Категория операций
Первый (высший) + - not @ Унарные операции
Второй * / div mod and as shl shr Бинарные операции типа умножения
Третий + - xor or Бинарные операции типа сложения
Четвертый (низший) = <> < > <= >= in is Бинарные операции отношения

   


    Операции as и is являются нововведением языка Object Pascal.


    Примеры сложных выражений.

    А *  (((X  - Y / Z) * 3 + 5) / (В + С) - D * Е) - 14 
    (А <> В) and ((I  <  J) or (J < К)) andin D)

    На следующем шаге мы дадим классификацию операций.




Предыдущий шаг Содержание Следующий шаг