Урок 4.10. Приоритеты операций
4.10. Приоритеты операций
Приоритеты операций рассматривались по ходу их изложения. В настоящем разделе сведены описанные ранее операции и указан порядок их выполнения. Для сопоставления приоритетов операций они сведены в таблицу 5.6. в порядке убывания приоритетов: первая строка таблицы - операции наивысшего приоритета, последняя самого низкого.
Таблица 5.6. Приоритеты операций
Обозначение операций | Порядок выполнения |
() [] . (точка, селектор) ++ -- (постфиксные) | слева направо |
! ~ ++ -- -унарн +унарн (<тип>) sizeof | справа налево |
* / % | слева направо |
+ - | слева направо |
<< >> | слева направо |
< <= > >= | слева направо |
== != | слева направо |
& | слева направо |
^ | слева направо |
| | слева направо |
&& | слева направо |
|| | слева направо |
?: | cправа налево |
= += -= *= /= %= и т. д. | справа налево |
, | слева направо |
Графа таблицы "Порядок выполнения" определяют последовательность выполнения для операций одного и того же приоритета. Например, в выражении:
k = d += b -= 4 последовательность выполнения операций будет определяться порядком справа налево и в результате b уменьшится на 4, d увеличится на b-4, k станет равным d+b-4. Порядок выполнения, расписанный через простую операцию присваивания, будет следующим:
b=b-4
d=d+(b-4)
k=d
Рассмотрите таблицу, вспомните названия и действия указанных операций, сопоставьте их приоритеты по отношению друг к другу.
В результате изучения основных типов данных Си и элементарных операций над ними, можно сделать вывод, что концепция языка не ограничивает свободу действий над данными, но вся ответственность за злоупотребление предоставленной свободой ложится на программиста.
Оставить комментарий