О п е р а ц и и отношения и эквивалентности
Над данными вещественного, целого, символьного, строкового, логического типов определены следующие отношения:
|
= = |
равно |
Арифметический |
Операнды должны иметь совместимые типы, за исключением целых и действительных типов, которые могут сравниваться между собой |
|
Указатель |
Только если оба операнда указывают на элементы одного и того же массива |
||
|
!= |
не равно |
Арифметический, Указатель |
------------ “ ----------------- “ ---------------------- |
|
< |
меньше |
------------ “ ----------- |
------------ “ ----------------- “ ---------------------- |
|
> |
больше |
------------ “ ----------- |
------------ “ ----------------- “ ---------------------- |
|
<= |
меньше или равно |
------------ “ ----------- |
------------ “ ----------------- “ ---------------------- |
|
>= |
больше или равно |
------------ “ ----------- |
------------ “ ----------------- “ ---------------------- |
Л о г и ч е с к и е о п е р а ц и и
! логическое НЕ
&& логическое И
|| логическое ИЛИ
Обозначим f - false, t - true
|
a |
a !a |
|
a b |
a b a && b |
a b a || b |
|
Приоритет операций |
||
|
false |
true |
|
false false |
False |
false |
|
1 |
|
! |
|
true |
false |
|
false true |
False |
true |
|
2 |
|
&& |
|
|
|
|
true false |
False |
true |
|
3 |
|
|| |
|
|
|
|
true true |
True |
true |
|
|
|
|
Приоритет и ассоциативность операций
Приоритет – определяет порядок выполнения операций с разным приоритетом в сложных выражениях.
Ассоциативность – определяет порядок выполнения операций с одинаковым приоритетом.
В первой строке таблицы приведены операции с наивысшим приоритетом
|
Операции |
Ассоциативность |
|
() [] -> :: |
Слева направо |
|
! ~ + (унарный) - (унарный) ++ -- & (взятие адреса) *(разыменование) sizeofe new delete |
Справа налево |
|
. * -> * |
Слева направо |
|
* (умножение) / % |
Слева направо |
|
+ - |
Слева направо |
|
<< >> |
Слева направо |
|
< <= > >= |
Слева направо |
|
== != |
Слева направо |
|
& |
Слева направо |
|
^ |
Слева направо |
|
| |
Слева направо |
|
&& |
Слева направо |
|
|| |
Справа налево |
|
?:: |
Слева направо |
|
= *= /= %= += -= &= ^= |= <<= >>= |
Справа налево |
|
, |
Слева направо |
