Приоритет операций выражений

Автор работы: Пользователь скрыл имя, 21 Ноября 2013 в 19:12, реферат

Описание работы

Выражение в программировании служит для определения порядка выполнения действий над элементами данных и состоит из операндов (констант, переменных, обращений к функциям), круглых скобок и знаков операций.
По количеству операндов операции делятся на унарные и бинарные. Унарные операции имеют только один операнд, перед которым располагается символ операции. К унарным относятся: операции изменения знака «-» (минус) и сохранения знака «+» (плюс), а также логическое отрицание «not» (НЕ) и взятия адреса @, например,

Файлы: 1 файл

Приоритет операции.docx

— 76.58 Кб (Скачать файл)

Приоритет операций выражений. 

Выражение в программировании служит для определения порядка  выполнения действий над элементами данных и состоит из операндов (констант, переменных, обращений к функциям), круглых скобок и знаков операций.

По количеству операндов  операции делятся на унарные и бинарные.

 

Унарные операции имеют  только один операнд, перед которым  располагается символ операции. К  унарным относятся: операции изменения  знака «-» (минус) и сохранения знака «+» (плюс), а также логическое отрицание «not» (НЕ) и взятия адреса @, например, 

Выражение

Результат

-7

-7

-(-9)

9

+5

5

not False

True


 

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

 

Выражение

Результат

5+7

12

(4-2)*5+10

20

True or False

True


 

По характеру выполняемых  действий операции разделяются на следующие группы:

1. Арифметические операции:

• унарные: +, -

• бинарные: +, -, *, /, div, mod

 

2. Операции отношения:

=, <>, <, >, <=, >=

 

3. Булевы (логические) операции:

not, and, or, xor

 

4. Поразрядные логические  и сдвиговые операции:

not, and, or, xor, shl, shr

 

5. Строковая операция (конкатенация):

+

 

6. Операции над множествами:

+, -, *, in, <=, >=

 

7. Операция взятия  адреса:

@

 

8.Операции над операндами  типа PChar:

    +, -

 

9.Операции над классами  и объектами:

    as,  is

 

10.Операции над операндами  вариантного типа:

    +, -, *, /,  div, mod, shl, shr, and, or, xor, not, =, <>, <, >, <=, >=  

 

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

• приоритетом операций;

• порядком расположения операций в выражении;

• использованием скобок.

 

По приоритету все  операции делятся на четыре группы:

Приоритет

Операции

Категория операций

Первый (высший)

+ - not @

Унарные операции

Второй

* / div mod and shl shr

Бинарные операции типа умножения

Третий

+ - or xor

Бинарные операции типа сложения

Четвертый (низший)

= <> < > <= >= in

Бинарные операции отношения


 
Для определения приоритета операций имеются четыре основных правила:

• Операнд, находящийся между двумя операциями с различными приоритетами, связывается с операцией, имеющий более высокий приоритет.

• Операция, находящаяся между двумя операциями с равными приоритетами, связывается с той операцией, которая находится слева.

• Выражение, заключенное в скобки, перед выполнением вычисляется как отдельный операнд.

• Операции с равным приоритетом производятся слева направо с возможным регулированием порядка выполнения скобками. 

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

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

Например A > B AND C > D -сначала выполнится B AND C, а затем A > (B AND C) и потом (A > B AND C) > D. Если поставить скобки – (A>B) AND (C>D) – сначала выполнится (A>B) затем (C>D) и только потом сравнение между этими скобками.


Информация о работе Приоритет операций выражений