Главная страница » C# » 9.Приоритет операций
Приоритет операций в C# определяет порядок выполнения операторов в сложных выражениях. Если в выражении несколько операторов, они выполняются в соответствии с их приоритетом. Операторы с более высоким приоритетом выполняются раньше, чем операторы с более низким.
Если необходимо изменить порядок выполнения операций, используются скобки ()
, которые имеют наивысший приоритет.
Приоритет | Операторы | Описание | Ассоциативность |
---|---|---|---|
1 (высокий) | () | Скобки | — |
2 | ++ -- ! ~ | Инкремент, декремент, логическое «НЕ», побитовый «НЕ» | справа налево |
3 | * / % | Умножение, деление, остаток от деления | слева направо |
4 | + - | Сложение, вычитание | слева направо |
5 | << >> | Побитовый сдвиг влево и вправо | слева направо |
6 | < <= > >= | Сравнение (меньше, больше) | слева направо |
7 | == != | Равенство и неравенство | слева направо |
8 | & | Побитовое «И» | слева направо |
9 | ^ | Побитовое «Исключающее ИЛИ» | слева направо |
10 | ` | ` | Побитовое «ИЛИ» |
11 | && | Логическое «И» | слева направо |
12 | ` | ` | |
13 | ?: | Тернарный оператор | справа налево |
14 (низкий) | `= += -= *= /= %= &= ^= | = <<= >>=` | Операторы присваивания |
📌 Чем выше приоритет, тем раньше выполняется оператор.
📌 Если операторы имеют одинаковый приоритет, выполняется тот, который стоит левее (если ассоциативность «слева направо») или правее (если «справа налево»).
int result = 10 + 5 * 2;
Console.WriteLine(result); // 10 + (5 * 2) = 10 + 10 = 20
✅ Умножение (*
) имеет более высокий приоритет, чем сложение (+
), поэтому выполняется первым.
int result = (10 + 5) * 2;
Console.WriteLine(result); // (10 + 5) * 2 = 15 * 2 = 30
✅ Скобки ()
имеют высший приоритет и заставляют сложение выполняться первым.
bool result = true || false && false;
Console.WriteLine(result); // true
✅ Оператор &&
имеет более высокий приоритет, чем ||
, поэтому сначала вычисляется false && false
(что дает false
), а затем true || false
(что дает true
).
int result = 5 | 3 & 1;
Console.WriteLine(result); // 5 | (3 & 1) → 5 | 1 → 5
&
) имеет более высокий приоритет, чем «ИЛИ» (|
).В сложных выражениях можно использовать скобки, чтобы избежать ошибок и сделать код более читаемым.
int result = 10 + 5 * 2 - 3 / 2;
Код сложен для понимания, так как операторы выполняются в разном порядке.
int result = ((10 + 5) * 2) - (3 / 2);
Приоритет операций в C# определяет порядок выполнения операторов в выражениях. Чтобы избежать ошибок:
✔ Запоминайте приоритет операторов (умножение и деление выполняются перед сложением и вычитанием).
✔ Используйте скобки ()
для явного управления порядком вычислений.
✔ Следите за логикой выполнения логических и побитовых операций.
Чем лучше вы понимаете приоритет операций, тем чище и понятнее будет ваш код! 🚀
Какой результат выведет следующий код?
int result = 5 + 3 * 2 - 8 / 4;
Console.WriteLine(result);
📌 Подсказка: Следуйте таблице приоритета.
Исправьте код так, чтобы сначала выполнялось сложение 5 + 3
, а затем умножение.
int result = 5 + 3 * 2;
Console.WriteLine(result);
int result = (5 + 3) * 2;
Console.WriteLine(result); // 16
Попробуйте написать и запустить этот код, чтобы убедиться в правильности выполнения операций и особенностях работы с числами с плавающей точкой.
Телефон: +375 33 910-08-92
Email: info@codefor.tech
Адрес: г. Барановичи, ул. Пирогова, д. 7
© 2024-2025 Все права защищены. CodeFor.