Приоритет операций в Си
Цитируется по книге «Язык программирования 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 =)
|