Как мы уже знаем из предыдущих уроков, выражение — это математический объект, который имеет определенное значение. Однако, термин «математический объект» несколько расплывчатый. Точнее будет так: выражение — это комбинация литералов, переменных, функций и операторов, которая генерирует (создает) определенное значение.
Литералы
Литерал — это фиксированное значение, которое записывается непосредственно в исходном коде (например, 7
или 3.14159
). Вот пример программы, которая использует литералы:
1 2 3 4 5 6 7 8 |
#include <iostream> int main() { int a = 3; // a – это переменная, 3 – это литерал std::cout << 5 + 2; // 5 + 2 – это выражение, 5 и 2 – это литералы std::cout << "Hello, world!"; // "Hello, world" – это тоже литерал } |
Литералы, переменные и функции еще известны как операнды. Операнды — это данные, с которыми работает выражение. Литералы имеют фиксированные значения, переменным можно присваивать значения, функции же генерируют определенные значения (в зависимости от типа возврата, исключением являются функции типа void).
Операторы
Последним пазлом в выражениях являются операторы. С их помощью мы можем объединить операнды для получения нового значения. Например, в выражении 5 + 2
, +
является оператором. С помощью +
мы объединили операнды 5
и 2
для получения нового значения (7
).
Вы, вероятно, уже хорошо знакомы со стандартными арифметическими операторами из школьной математики: сложение (+
), вычитание (-
), умножение (*
) и деление (/
). Знак равенства =
является оператором присваивания. Некоторые операторы состоят более чем из одного символа, например, оператор равенства ==
, который позволяет сравнивать между собой два определенных значения.
Примечание: Очень часто новички путают оператор присваивания (=
) с оператором равенства (==
). С помощью оператора присваивания (=
) мы присваиваем переменной определенное значение. С помощью оператора равенства (==
) мы проверяем, равны ли между собой два определенных операнда.
Операторы бывают трёх типов:
Унарные. Работают с одним операндом. Например, оператор −
(минус). В выражении −7
, оператор −
применяется только к одному операнду (7
), чтобы создать новое значение (−7
).
Бинарные. Работают с двумя операндами (левым и правым). Например, оператор +
. В выражении 5 + 2
, оператор +
работает с левым операндом (5
) и правым (2
), чтобы создать новое значение (7
).
Тернарные. Работают с тремя операндами (в языке C++ есть только один тернарный оператор).
Обратите внимание, некоторые операторы могут иметь несколько значений. Например, оператор −
(минус) может использоваться в двух контекстах: как унарный для изменения знака числа (например, конвертировать 7
в −7
и наоборот), и как бинарный для выполнения арифметической операции вычитания (например, 4 - 3
).
Заключение
Это только верхушка айсберга. Более детально об операторах мы обязательно поговорим на следующих уроках.
Скажите, на с++ можно составить программу для редактирования ПДФ файлов, или смотреть в сторону другого языка ?
Можно
Брат Юрий, Я и моя паства благодарим тебя за столь понятные ученья, теперь мы можем выйти на новый уровень могущества. (Я пишу от лица кучки студентиков, которые пол курса про**али в клубах. Реально очень хорошие и понятные уроки.
Спасибо, братья. Очень приятные слова!))
У меня стоит Code::Blocks v17. В нём SetConsoleCP(1251) SetConsoleOutputCP(1251) не работают никак, зато setlocale(LC_ALL, "Rus") справляется отлично.
Спасибо за разъяснения. Да ещё так быстра.
Пожалуйста.
Здравствуй? Подскажи пожалуйста, Почему работает только, если за места имя вводишь цифру?
заранее спасибо.
Во-первых, кириллица подключается через заголовок:
и строчки:
Во-вторых, у тебя для имени установлен тип long. Тип long — это целочисленный тип данных, а имя — это строка. Тип должен быть string:
Для string подключается отдельный заголовок string:
Готовый код: