x = - 3 + 4 * 5 - 6 |
Начнем с изучения таблицы приоритетов операций приложения 1, двигаясь от высших к низшим. |
x = (-3) + 4 * 5 - 6 |
Наивысший приоритет в выражении имеет унарная операция -. Мы будем пользоваться скобками, чтобы показать порядок применения операций к операндам. |
x = (-3) + (4*5) - 6 |
Следующий по порядку приоритет имеет операция *. |
x = ((-3)+(4*5)) - 6 |
Обе операции + и - имеют один и тот же приоритет. Порядок выполнения операций, имеющих один и тот же приоритет, задается в таблице приложения 1. Для операций + и - этот порядок слева направо, т.е. вначале выполняется +. |
x = (((-3)+(4*5))-6) |
Затем выполняется операция -. |
(x = (((-3)+(4*5))-6)) |
Наконец, в самом низу таблицы приоритетов операций находится операция =. Теперь, когда для каждой операции определены операнды, можно вычислять выражение. |
(x = ((-3+(4*5))-6)) |
Для этого выражения вычисление начинается с самого внутреннего подвыражения. |
(x = ((-3+20)-6)) |
Заменяем каждое подвыражение на его результат |
(x = (17-6)) (x = 11) 11, целое |
Значение выражения, содержащего операцию присваивания, есть значение правой части выражения, приведенное к типу левой части присваивания. |
О функции printf. printf - программа форматной печати, которая входит в библиотеку стандартных программ С. Первый аргумент printf - это строка, задающая формат печати. Она показывает, в каком виде следует печатать все остальные аргументы функции. Символ % начинает спецификацию формата для аргумента. В нашей программе спецификация %d указывает, что следующий аргумент надо интерпретировать и печатать как десятичное число. В последующих программах мы увидим примеры других спецификаций печати. printf может также выдавать на печать и просто написанные символы. В этой программе мы "напечатали" символ конца строки, указав его (/n) в строке спецификаций.