Приоритет операций в Си
Цитируется по книге «Язык программирования C» пятое издание Сэмюел П. Харбисон, Гай Л. Стилл ISBN 5-9518-0048-XM
Операции языка Си, в порядке снижения приоритета
Лексемы |
Операция |
Класс |
Приоритет |
Ассоциативность |
имена, литералы |
простые лексемы |
первичный |
16 |
нет |
a[k] |
индексы |
постфиксный |
16 |
слева направо |
f(…) |
вызов функции |
постфиксный |
16 |
слева направо |
. |
прямой выбор |
постфиксный |
16 |
слева направо |
-> |
опосредованный выбор |
постфиксный |
16 |
слева направо |
++ -- |
положительное и отрицательное приращение |
постфиксный |
16 |
слева направо |
( имя типа ) {init} |
составной литерал (C99) |
постфиксный |
16 |
слева направо |
++ -- |
положительное и отрицательное приращение |
префиксный |
15 |
справа налево |
sizeof |
размер |
унарный |
15 |
справа налево |
~ |
побитовое НЕ |
унарный |
15 |
справа налево |
! |
логическое НЕ |
унарный |
15 |
справа налево |
- + |
изменение знака, плюс |
унарный |
15 |
справа налево |
& |
адрес |
унарный |
15 |
справа налево |
* |
опосредование (разыменование) |
унарный |
15 |
справа налево |
( имя типа ) |
приведение типа |
унарный |
14 |
справа налево |
* / % |
мультипликативные операции |
бинарный |
13 |
слева направо |
+ - |
аддитивные операции |
бинарный |
12 |
слева направо |
<< >> |
сдвиг влево и вправо |
бинарный |
11 |
слева направо |
< > <= >= |
отношения |
бинарный |
10 |
слева направо |
== != |
равенство/неравенство |
бинарный |
9 |
слева направо |
& |
побитовое И |
бинарный |
8 |
слева направо |
^ |
побитовое исключающее ИЛИ |
бинарный |
7 |
слева направо |
| |
побитовое ИЛИ |
бинарный |
6 |
слева направо |
&& |
логическое И |
бинарный |
5 |
слева направо |
|| |
логическое ИЛИ |
бинарный |
4 |
слева направо |
? : |
условие |
тернарный |
3 |
справа налево |
= += -= *= /= %= <<= >>= &= ^= |= |
присваивание |
бинарный |
2 |
справа налево |
, |
последовательная оценка |
бинарный |
1 |
слева направо |
Известные компиляторы языка Си
- BDS C
- Borland C++
- C++ Builder
- Clang(LLVM)
- Decus C
- Digital Mars
|
- DJGPP
- GNU Compiler Collection
- Intel C++ compiler
- LCC
- Microsoft Visual Studio
- MinGW
|
- Open Watcom
- Pelles C
- Portable C Compiler
- Sun Studio
- Topspeed JPI C
- TinyCC
|
1 - 2 - 3 - 4
E-mail: programmirovanie@yandex.ru;
Руслан 2012 =)
|