Всем наверно с детства знакома задачка с подковыркой, когда опоненту говорят сколько будет два плюс два умножить на два. Многие забывают что в математике сначала надо умножать, а потом только прибавлять, и потому ответ не 8, а 6.
В языке программирования Си, тоже есть определенны порядок выполнения арифметических операций. Он очень похож на тот, который мы используем в обычной жизни.
Операции в скобках
Функции (типа sqrt, cos и другие)
Умножение, деление, остаток от деления (слева направо, как в обычной жизни)
Сложение вычитание (слева направо, как в обычной жизни)
Для примера рассмотрим следующее выражение записанное на языке Си:
| 2 1 5 4 3 8 7 6
|
| X=(a+8*c) * sqrt (a-c) + (c - 3 / a);
|
| Приоритет арифметических операций
|
Над каждым действием вы видите каким оно выполняется по счету.
Для изменения порядка выполнения операций используются круглые скобки. Например, если записать:
Листинг 4.10
x = a/b*c;
Компьютер сначала поделит а на b, и потом умножит полученный результат на с. Но, если нам надо посчитать чему равно a деленное на произведение b*c, тогда нужно использовать скобки.
Листинг 4.11
x = a/(b*c);
Я считаю, что лучше всегда явно указывать приоритет операций с помощью скобок, дабы не получить ошибку которую потом очень сложно будет выявить.
На этом на сегодня всё.
Резюме урока:
Узнали подробности использования оператора присваивания.
Ознакомились с основными арифметическими операциями, и особенностями их использования.
Узнали новые функции описанные в стандартной библиотеке math.h
Ознакомились с сокращенной записью арифметических выражений.
Узнали про операции инкремента и декремента
Рассмотрели приоритет выполнения операций