Главная > Уроки > Приоритет операций. Cложные математические выражения

Записывайся на этот курс на Stepike!

Приоритет операций. Cложные математические выражения

Пожалуйста, приостановите работу AdBlock на этом сайте.

В математических вычислениях важную роль играет порядок, в котором выполняются действия. Чему, например, равно значение выражения 2+2*2? Конечно же шесть, т.к. сначала выполняется умножение.

В C используется знакомый нам со школы порядок выполнения операций. Но т.к. в программировании есть свои особенности, то кое-какие отличия всё же есть. Выпишем приоритет для тех операций, которые мы уже знаем.

  • вычисляются функции (например, sqrt(), cos() и др.)
  • умножение, деление, остаток от деления (слева направо)
  • сложение, вычитание
  • выполняется присваивание

А каково значение переменной x после выполнения следующего кода int x = 8 / 4 / 2;

Правильный ответ 1. Т.к в случае одинакового приоритета операций, команды выполняются слева направо. Другими словами данный код эквивалентен коду int x = (8 / 4) / 2;

Если нам нужно изменить порядок выполнения действий, то мы можем использовать для этого круглые скобки.

Листинг 1.

2+2*2 = 6
(2+2)*2 = 8 // действие в скобках будет выполнено прежде умножения
	

На следующем рисунке над каждым действием отмечено, каким оно выполнится по счёту.

Приоритет операций в си. Пример.

Рис.1 Приоритет операций в языке С. Пример.

Если в вашей программе вы написали довольно сложное выражение, в котором не сразу ясен порядок операций, то лучше добавить лишние скобки, чтобы явно задать последовательность операций. Это поможет избежать ошибок в вычислениях, которые потом будет сложно отловить.

Сложные математические выражения

Иногда формулы, по которым нужно что-то вычислять, в программе могут принимать довольно ужасный вид.

При этом когда мы пишем программу, любая формула должна быть записана в одну строку. На начальном этапе это может вызвать у вас некоторые затруднения. Чтобы избавиться от этих затруднений, нужно овладеть навыком переводить формулу из стандартной математической записи в ту, которая используется в программировании и обратно.

И небольшой видео-фрагмент, в котором я попытался на простом примере показать, как можно поступать при записи сложных математических выражений.

Расскажи друзьям!
Или поддержи проект.

Практика

Решите предложенные задачи:

Для удобства работы сразу переходите в полноэкранный режим

Дополнительные материалы

  1. пока нет

Оставить комментарий

Чтобы код красиво отображался на странице заключайте его в теги [code] здесь писать код [/code]

Комментарии

Brucesop
Good time and Good mood, thanks<a href=https://www.youtube.com/channel/UChFgQK064hXg4IrsSNgockg/videos>.</a>
DanielDub
Hi! We are friends, looking for interesting and fun guys to meet, enjoy your time and have fun sex. We can be found on the website by clicking on our photo Or click the link <a href=http://teachbeta.com/dating.php>We are here</a>.
<a href=http://teachbeta.com/dating.php>Best sex dating</a>!!!