Як ми вже знаємо з попередніх уроків, вираз — це математичний об’єкт, який генерує певне значення. Однак, термін “математичний об’єкт” трохи розпливчастий. Точніше буде так: вираз — це комбінація літералів, змінних, функцій і операторів, які генерують певне значення.
Літерали
Літерал — це фіксоване значення, яке записується безпосередньо у вихідному коді (наприклад, 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).
