Пріоритет операторів
Коли обчислення містить більше одного оператора, C дотримується правил порядку виконання операцій, щоб визначити, яку частину обчислення потрібно виконати першою.
Наприклад, множення виконується перед додаванням:
int result1 = 2 + 3 * 4; // 2 + 12 = 14int result2 = (2 + 3) * 4; // 5 * 4 = 20printf("%d\n", result1);printf("%d\n", result2);
Чому це відбувається?
У виразі 2 + 3 * 4 спочатку виконується множення, тому результат дорівнює 14. Якщо ви хочете, щоб спочатку виконувалося додавання, потрібно використати дужки: (2 + 3) * 4, що дасть результат 20.
Порада: Завжди використовуйте дужки ( ), якщо хочете переконатися, що обчислення виконуються в очікуваному вами порядку. Це також робить ваш код зрозумілішим.
Порядок виконання операцій
Ось деякі поширені оператори в C, розташовані від найвищого до найнижчого пріоритету:
- () — Дужки
- *, /, % — Множення, ділення, остача від ділення
- +, - — Додавання, віднімання
- >, <, >=, <= — Порівняння
- ==, != — Перевірка на рівність
- && — Логічне І
- || — Логічне АБО
- = — Присвоєння
Ще один приклад - віднімання та додавання виконуються зліва направо, якщо ви не використовуєте дужки:
int result1 = 10 - 2 + 5; // (10 - 2) + 5 = 13int result2 = 10 - (2 + 5); // 10 - 7 = 3printf("%d\n", result1);printf("%d\n", result2);
Пам’ятайте: Дужки завжди мають найвищий пріоритет. Використовуйте їх, щоб керувати порядком виконання обчислень.
Складені оператори
Складені оператори використовуються для присвоєння значень змінним. У прикладі нижче ми використовуємо оператор присвоєння (=), щоб присвоїти значення 10 змінній з іменем x:
int x = 10;
Оператор присвоєння з додаванням (+=) додає значення до змінної:
int x = 10;x += 5;
Також є такі складені оператори:
| Оператор | Приклад | Те саме, що |
| += | x += 3 | x = x + 3 |
| -= | x -= 3 | x = x - 3 |
| *= | x *= 3 | x = x * 3 |
| /= | x /= 3 | x = x / 3 |
| %= | x %= 3 | x = x % 3 |
По суті, складені оператори присвоєння — це просто скорочені способи запису коду. Наприклад, x += 5 — це те саме, що й x = x + 5, але запис коротший і часто легший для читання.
Ця стаття з циклу статей Уроки програмування на мові C.
Наступний урок в процесі написання...
