Выражения (C++)
В этом разделе описываются выражения С++. Выражения — это последовательности операторов и операндов, используемые в следующих целях.
- Вычисление значения из операндов.
- Назначение объектов или функций.
- Создание побочных эффектов. (Побочные эффекты — это любые действия, отличные от оценки выражения, например изменение значения объекта.)
В C++ операторы могут перегружаться, и их значения могут определяться пользователем. Однако их приоритет и число принимаемых операндов изменить невозможно. В этом разделе описывается синтаксис и семантика не перегруженных операторов в том состоянии, в котором они предоставляются языком. Помимо типов выражений и семантики выражений, рассматриваются следующие разделы:
- Первичные выражения
- Оператор разрешения области
- Выражения postfix
- Выражения с унарными операторами
- Выражения с двоичными операторами
- Условный оператор
- Константные выражения
- Операторы приведения
- Сведения о типе времени выполнения
Разделы об операторах в других разделах:
Выражения, операнды и операторы

Как вы уже знаете, исходный код программы на языке высокого уровня — это текст, который состоит из специальных зарезервированных слов, переменных, констант и т.п. Однако, это упрощённое объяснение. Сегодня мы попробуем приблизиться к более правильным формулировкам. Потому что терминология и правильное её понимание — это очень важная часть любой профессии.
Итак, начнём с выражений.
Выражение — это самый важный элемент практически любого языка программирования. Практически все, что мы пишем в программе — это выражения. Иными словами, любая часть исходного кода, любая комбинация из переменных, констант, функций, которая выполняет какие-то вычисления (действия) — это выражение. Например,
Это выражение, которое записывает в переменную х число 100.
Оператор — это элемент программного кода, который описывает то или иное действие в выражении (операцию). В большинстве языков программирования высокого уровня оператор — это символ, благодаря которому могут производиться различные виды вычислений, сравнений или присваиваний с участием одного или нескольких значений.
Операнд — это значение, переменная или выражение, которое расположено слева или справа от оператора. Например
Здесь 1 и 2 — это операнды, а знак ПЛЮС (+) — это оператор.
Когда вы будете создавать выражения, не забывайте, что типы операндов в выражении должны совпадать. Например, такой код
var x : byte; c : char; begin x := x + c; end.
вызовет ошибку во время компиляции, и программа не будет создана. Все похожие типы (например, все целочисленные) можно использовать в качестве операндов. Например, такой код
var x : byte; c : integer; begin x := x + c; end.
Не вызовет особых возражений у компилятора, однако это может повлечь за собой неприятности, которые были описаны ранее.
Основные виды операторов: арифметические, операторы присваивания, сравнения, логические и поразрядные (побитовые).
Также разделяются операторы по количеству операндов:
- Унарные: когда с оператором используется только один операнд
- Бинарные: когда с оператором используется два операнда
Попробуйте догадаться, какие из приведённых ниже операторов являются унарными, а какие бинарными:
Если вы думаете, что на этом с операторами всё, то вы заблуждаетесь. Мы ещё долго и нудно будем о них говорить, так как это тема большая и очень важная.
Кроме того, я вас буду иногда путать, называя операторы операциями. В общем то, это достаточно близкие понятия. Разница лишь в том, что оператор — это символ в языке программирования, а операция — это действие, которое выполняется с помощью этого символа. Например,
Оператор + выполняет операцию сложения
Оператор * выполняет операцию умножения
Домашнее задание придумайте сами. У вас пока недостаточно знаний об операторах и выражениях, чтобы грамотно использовать их в своих программах.
2. Выражения
Выражение – это набор величин, которые объединены знаками операций, приводящие к вычислению значения операндов.
Правила записи выражений в алгоритмическом языке.
- Выражения записываются в строчку. Например, 2 3 = 2 / 3 .
- Нельзя опускать знак умножения между множителями. Например, 5 x = 5 ∗ x .
- Операции выполняются в порядке старшинства (как в математике – умножение, деление, сложение, вычитание).
Выражения бывают: арифметическими, логическими и строковыми.
Арифметические выражения состоят из чисел и переменных, арифметических операций и служат для нахождения числового значения.
Линейная запись формул требует введения дополнительных обозначений математических функций.

Логическое выражение — это составное высказывание, состоящее из простых высказываний, которые объединены логическими операциями (НЕ, И, ИЛИ).
Строковые выражения состоят из величин символьного типа. Могут соединяться операцией сцепления \(«+»\).
Например,
А \(=\) ученик,
В \(=\) Петров,
\(А + В\)\(=\) ученик Петров.
Что такое «выражение» в программировании?
наоборот, выражения используются в процедурах и функциях. Цитата «Из констант и переменных, операций
над ними, вызовов методов и скобок составляются выражения (expressions)».
Т. е. пример выражения b := s + 1;
kos1nusЗнаток (320) 9 лет назад
ну получается что вместо переменно S можно использовать функцию, а процедуру использовать нельзя? Я же правильно понял?
Термины, кому они нужна. Главное результат.
Выражения могут быть математическими, логическими и. т. д.
kos1nusЗнаток (320) 9 лет назад
дык меня вообще типает отвечать на подобные вопросы. Это часть теста. суть ответа сводится к тому что бы угадать, что имел в виду автор вопроса. Но это тест при приеме на работу и я ничего не могу сделать. сижу вот гадаю
Вообще зависит от языка. В C/C++ различают выражения (expressions) и утверждения (statements, иногда переводят как операторы, но это слово имеет еще одно значение) .
Выражение — это набор элементов языка, принимающий некоторое значение, например:
Главная суть в том, что из выражений можно составлять более сложные. Например, из первого и третьего выражений (и оператора *) можно составить выражение
А утверждение ничего не возвращает, а является законченной структурой языка, например