OperaТоры в C++Типы с примерами
⚡ Умное резюме
OperaТоры в C++ Это символы, выполняющие операции над операндами, от арифметических и сравнительных до логических, побитовых и присваивающих действий. В этом ресурсе объясняется каждая категория операторов с примерами выполнения программ, выводом результатов и правилами приоритета, определяющими порядок вычисления.

Каковы OperaТорс?
Оператор Оператор — это символ, используемый для выполнения операций над операндами. Оператор работает с операндами, и эти операции могут быть математическими или логическими. Существуют различные типы операторов. C++ для выполнения различных операций.
Рассмотрим следующую операцию:
a = x + y;
В приведенном выше утверждении x и y являются операндами, а + — оператором сложения. Когда C++ компилятор встретит приведенный выше оператор, он добавит x и y и сохранит результат в переменной a.
Виды OperaТоры в C++
В основном 6 различных типов операторов в C++:
- Арифметический OperaTORs
- реляционный OperaTORs
- логический OperaTORs
- побитовое OperaTORs
- Назначение OperaTORs
- Прочее OperaTORs
Начнём с арифметических операторов, наиболее часто используемой категории.
Арифметический OperaTORs
Это типы операторов, используемые для выполнения математических/арифметических операций. Они включают:
| оператор | Описание |
|---|---|
| + оператор сложения | Добавляет два операнда. |
| - подtracоператор связи | нижеtracts 2nd операнд из 1st операнд. |
| * оператор умножения | Умножает 2 операнда. |
| / оператор подразделения | Делит числитель на знаменатель. |
| % оператор модуля | Возвращает остаток после деления. |
| ++ оператор приращения | Увеличивает целое значение на 1. |
| — оператор уменьшения | Уменьшает целое значение на 1. |
Например:
#include <iostream> using namespace std; int main() { int a = 11; int b = 5; int c; cout << "a + b is :" << a+b << endl; //11+5 cout << "a - b is :" << a-b << endl; //11-5 cout << "a * b is :" << a*b << endl; //11*5 cout << "a / b is :" << a/b << endl; //11/5 cout << "a % b is :" << a%b << endl; //11%5 cout << "a++ is :" << a++ << endl; //11++ cout << "a-- is :" << a-- << endl; //12-- return 0; }
Выход:
Вот скриншот кода:
Code Объяснение:
- Включение заголовочного файла iostream в наш код. Это позволит нам читать и писать в консоль.
- Включая пространство имен std, чтобы использовать его классы и функции без его вызова.
- Вызов функции main(), внутри которой должна быть добавлена логика программы. Фигурная скобка { обозначает начало тела функции main().
- Объявление целочисленной переменной a и инициализация ее значением 11.
- Объявление целочисленной переменной b и инициализация ее значением 5.
- Объявление целочисленной переменной c.
- Вывод значения операции a+b вместе с другим текстом на консоль.
- Вывод значения операции ab вместе с другим текстом на консоль.
- Вывод значения операции a*b вместе с другим текстом на консоль.
- Вывод значения операции a/b вместе с другим текстом на консоль.
- Вывод значения операции a%b вместе с другим текстом на консоль.
- Вывод значения операции a++ вместе с другим текстом на консоль.
- Вывод значения операции a– вместе с остальным текстом на консоль.
- Функция main() должна возвращать значение, если программа работает нормально.
- Конец тела функции main().
реляционный OperaTORs
Эти типы операторов выполняют сравнение операндов. Например, вам может потребоваться узнать, какой операнд больше другого или меньше другого. Они включают:
| оператор | Описание |
|---|---|
| == равен оператору | Проверяет равенство значений двух операндов. |
| != не равно оператору | Проверяет неравенство двух значений операндов. |
| > оператор больше | Проверяет, превышает ли значение левого операнда значение правого операнда. |
| оператор < меньше | Проверяет, меньше ли значение левого операнда значения правого операнда. |
| >= оператор больше или равно | Проверяет, больше ли значение левого операнда или равно значению правого операнда. |
| <= меньше или равно оператору | Проверяет, меньше ли значение левого операнда или равно значению правого операнда. |
Например:
#include <iostream> using namespace std; int main() { int a = 11; int b = 5; cout << "a=11, b=5" << endl; if (a == b) { cout << "a == b is true" << endl; } else { cout << " a == b is false" << endl; } if (a < b) { cout << "a < b is true" << endl; } else { cout << "a < b is false" << endl; } if (a > b) { cout << "a > b is true" << endl; } else { cout << "a > b is false" << endl; } return 0; }
Выход:
Вот скриншот кода:
Code Объяснение:
- Включение заголовочного файла iostream в наш код. Это позволит нам читать и писать в консоль.
- Включая пространство имен std, чтобы использовать его классы и функции без его вызова.
- Вызов функции main(), внутри которой должна быть добавлена логика программы.
- Объявление целочисленной переменной a и инициализация ее значением 11.
- Объявление целочисленной переменной b и инициализация ее значением 5.
- Вывод на консоль текста с указанием значений переменных a и b.
- Проверка равенства a и b с помощью условного оператора if.
- Текст для вывода в консоль, если операция a==b истинна.
- Часть else в приведенном выше операторе if указывает, что делать, если a==b ложно.
- Текст для вывода в консоль, если операция a==b ложна.
- Проверка, меньше ли a, чем b, с помощью оператора if.
- Текст для вывода на консоль, если выполняется операция.
- Часть else используется, когда
- Текст для вывода на консоль, если выполняется операция.
- Проверка того, больше ли a, чем b, с помощью оператора if.
- Текст для вывода в консоль, если операция a>b истинна.
- В противном случае используется блок else, если a>b — ложное значение.
- Текст для вывода в консоль, если операция a>b ложна.
- Функция main() должна возвращать значение, если программа работает нормально.
- Конец тела функции main().
логический OperaTORs
логические операторы Объединение двух или более ограничений/условий. Логические операторы также дополняют оценку исходного рассматриваемого условия. К ним относятся:
| оператор | Описание |
|---|---|
| && логический оператор И | Условие выполняется, если оба операнда не равны нулю. |
| || логический оператор ИЛИ | Условие истинно, если один из операндов не равен нулю. |
| ! логический оператор НЕ | Этот оператор меняет логическое состояние операнда на противоположное. Если операнд истинен, оператор ! делает его ложным. |
Например:
#include <iostream> using namespace std; int main() { int a = 5, b = 2, c = 6, d = 4; if (a == b && c > d) cout << "a equals to b AND c is greater than d\n"; else cout << "AND operation returned false\n"; if (a == b || c > d) cout << "a equals to b OR c is greater than d\n"; else cout << "Neither a is equal to b nor c is greater than d\n"; if (!b) cout << "b is zero\n"; else cout << "b is not zero"; return 0; }
Выход:
Вот скриншот кода:
Code Объяснение:
- Включение заголовочного файла iostream в наш код. Это позволит нам читать и писать в консоль.
- Включая пространство имен std, чтобы использовать его классы и функции без его вызова.
- Вызов функции main(), внутри которой должна быть добавлена логика программы.
- { отмечает начало тела функции main().
- Объявление 4 целочисленных переменных a, b, c и d и присвоение им различных значений.
- Использование оператора && (AND) внутри оператора if. Он объединяет два условия. Первое условие ложно, а второе истинно, поэтому false&&true — ложно; результат оператора if — ложь.
- Текст, который будет выведен в консоль, если вышеуказанное условие if истинно. Этот код выполняться не будет.
- Часть кода, которая будет выполнена, если приведенное выше условие if неверно.
- Текст для печати на консоли, если оператор if ложен. Это будет выполнено.
- Использование оператора || (ИЛИ) внутри оператора if. Первое условие ложно, а второе истинно, поэтому false||true — это true; результат оператора if — true.
- Текст, который будет выведен в консоль, если вышеуказанное условие if истинно. Этот код будет выполнен.
- Часть кода, которая будет выполнена, если приведенное выше условие if неверно.
- Текст для печати на консоли, если оператор if ложен. Это не будет выполнено.
- Проверка, равно ли значение переменной b нулю.
- Текст, который будет выведен в консоль, если вышеуказанное условие if истинно. Этот код выполняться не будет.
- Часть кода, которая будет выполнена, если приведенное выше условие if неверно.
- Текст для печати на консоли, если оператор if ложен. Это будет выполнено.
- Функция main() должна возвращать значение, если программа работает нормально.
- Конец тела функции main().
побитовое OperaTORs
Битовые операторы Выполнение побитовых операций над операндами. Сначала операнды преобразуются в побитовый формат, затем выполняются операции. Когда выполняются арифметические операции, такие как сложение и вычитание,tracЕсли операции выполняются на битовом уровне, результаты достигаются быстрее. К ним относятся:
| оператор | Описание |
|---|---|
| & (побитовое И) | Принимает 2 числа (операнда), затем выполняет операцию И над каждым битом этих двух чисел. Если оба числа равны 1, операция И возвращает 1, в противном случае — 0. |
| | (побитовое ИЛИ) | Принимает 2 числа (операнда), затем выполняет операцию ИЛИ над каждым битом этих двух чисел. Возвращает 1, если хотя бы один из битов равен 1. |
| ^ (побитовое XOR) | Принимает 2 числа (операнда), затем выполняет операцию XOR над каждым битом этих 2 чисел. Возвращает 1, если оба бита различаются. |
| << (сдвиг влево) | Принимает два числа, затем сдвигает биты первого операнда влево. Второй операнд определяет общее количество позиций для сдвига. |
| >> (правый сдвиг) | Принимает два числа, затем сдвигает биты первого операнда вправо. Второй операнд определяет количество позиций для сдвига. |
| ~ (побитовое НЕ) | Принимает число, а затем инвертирует все его биты. |
#include <iostream> using namespace std; int main() { unsigned int p = 60; // 60 = 0011 1100 unsigned int q = 13; // 13 = 0000 1101 int z = 0; z = p & q; cout << "p&q is : " << z << endl; // 12 = 0000 1100 z = p | q; cout << "p|q is : " << z << endl; // 61 = 0011 1101 z = p ^ q; cout << "p^q is : " << z << endl; // 49 = 0011 0001 z = ~p; cout << "~p is : " << z << endl; // -61 = 1100 0011 z = p << 2; cout << "p<<2 is: " << z << endl; // 240 = 1111 0000 z = p >> 2; cout << "p>>2 is : " << z << endl; // 15 = 0000 1111 return 0; }
Выход:
Вот скриншот кода:
Code Объяснение:
- Включение заголовочного файла iostream в наш код. Это позволит нам читать и писать в консоль.
- Включая пространство имен std, чтобы использовать его классы и функции без его вызова.
- Вызов функции main(), внутри которой должна быть добавлена логика программы.
- Объявление беззнаковой целочисленной переменной p и присвоение ей значения 60, что в двоичном представлении равно 0011 1100.
- Объявление беззнаковой целочисленной переменной q и присвоение ей значения 13, что в двоичном представлении равно 0000 1101.
- Объявление целочисленной переменной z и инициализация ее значением 0.
- Выполнение побитовой операции & (И) над переменными p и q и сохранение результата в переменной z.
- Печать результата вышеуказанной операции на консоли вместе с другим текстом.
- Выполнение побитового | (ИЛИ) операция над переменными p и q и сохранение результата в переменной z.
- Печать результата вышеуказанной операции на консоли вместе с другим текстом.
- Выполнение побитовой операции ^ (XOR) над переменными p и q и сохранение результата в переменной z.
- Печать результата вышеуказанной операции на консоли вместе с другим текстом.
- Выполнение побитовой операции ~ (НЕ) над переменной p и сохранение результата в переменной z.
- Печать результата вышеуказанной операции на консоли вместе с другим текстом.
- Выполнение операции сдвига влево над переменной p и сохранение результата в переменной z.
- Печать результата вышеуказанной операции на консоли вместе с другим текстом.
- Выполнение операции сдвига вправо над переменной p и сохранение результата в переменной z.
- Печать результата вышеуказанной операции на консоли вместе с другим текстом.
- Функция main() должна возвращать значение, если программа работает нормально.
- Конец тела функции main().
Назначение OperaTORs
Операторы присваивания Присваивание значений переменным. Операнд/переменная добавляется слева от оператора, а значение — справа. Переменная и значение должны принадлежать к одному и тому же типу данных, в противном случае... C++ Компилятор выдаст ошибку.
Например:
x = 5;
В приведенном выше примере x — это переменная/операнд, = — оператор присваивания, а 5 — значение. Вот популярные операторы присваивания. C++:
| оператор | Описание |
|---|---|
| = (простой оператор присваивания) | Присваивает значение справа переменной слева. |
| += (Добавить оператор присваивания AND) | Добавляет значение правого операнда к левому операнду, затем присваивает результат переменной слева. |
| -= (Подtracоператор присваивания И) | нижеtracЗатем вычисляет значение правого операнда из левого операнда и присваивает результат переменной слева. |
| *= (Оператор умножения И присваивания) | Умножает значение левого операнда на правое, затем присваивает результат переменной слева. |
| /= (Оператор деления И присваивания) | Делит значение левого операнда на правый операнд, затем присваивает результат переменной слева. |
Например:
#include <iostream> using namespace std; int main() { int x = 5; cout << "Initial value of x is " << x << "\n"; x += 5; cout << "x += 5 gives :" << x << "\n"; x -= 5; cout << "x -= 5 gives : " << x << "\n"; x *= 5; cout << "x *= 5 gives :" << x << "\n"; x /= 5; cout << "x /= 5 gives : " << x << "\n"; return 0; }
Выход:
Вот скриншот кода:
Code Объяснение:
- Включение заголовочного файла iostream в наш код. Это позволит нам читать и писать в консоль.
- Включая пространство имен std, чтобы использовать его классы и функции без его вызова.
- Вызов функции main(), внутри которой должна быть добавлена логика программы.
- { отмечает начало тела функции main().
- Объявление целочисленной переменной x и присвоение ей значения 5.
- Вывод значения переменной x вместе с другим текстом на консоль. Символ \n обозначает новую строку.
- Прибавляем 5 к значению переменной x и присваиваем результат переменной x.
- Вывод значения переменной x на консоль вместе с другим текстом.
- нижеtracвычитаем 5 из значения x и присваиваем результат переменной x.
- Вывод значения переменной x на консоль вместе с другим текстом.
- Умножим значение переменной x на 5 и присвоим результат переменной x.
- Вывод значения переменной x на консоль вместе с другим текстом.
- Разделите значение переменной x на 5 и присвойте результат переменной x.
- Вывод значения переменной x на консоль вместе с другим текстом.
- Функция main() должна возвращать значение, если программа работает нормально.
- Конец тела функции main().
Прочее OperaTORs
Прочее OperaTORs включить оператор размера, запятую Operaтор, Условный OperaТор, и OperaПриоритет операторов Tors. Давайте обсудим другие операторы, поддерживаемые Tors. C++:
оператор sizeof
Этот оператор определяет размер переменной. Используйте оператор sizeof для определения размера типа данных.
Например:
#include <iostream> using namespace std; int main() { cout<<"Size of int : "<< sizeof(int) << "\n"; cout<<"Size of char : " << sizeof(char) << "\n"; cout<<"Size of float : " << sizeof(float) << "\n"; cout<<"Size of double : " << sizeof(double) << "\n"; return 0; }
Выход:
Вот скриншот кода:
Code Объяснение:
- Включение заголовочного файла iostream в наш код. Это позволит нам читать и писать в консоль.
- Включая пространство имен std, чтобы использовать его классы и функции без его вызова.
- Вызов функции main(), внутри которой должна быть добавлена логика программы.
- Определение размера целочисленного типа данных с помощью оператора sizeof и вывод его вместе с другим текстом на консоль.
- Определение размера символьного типа данных с помощью оператора sizeof и вывод его вместе с другим текстом на консоль.
- Определение размера данных типа float с помощью оператора sizeof и вывод его вместе с другим текстом на консоль.
- Определение размера данных типа double с помощью оператора sizeof и вывод его вместе с другим текстом на консоль.
- Функция main() должна возвращать значение, если программа работает нормально.
- Конец тела функции main().
Запятая Operaтор
оператор запятой Оператор (,) запускает выполнение последовательности операций. Он выражает первый операнд и отбрасывает результат. Затем он вычисляет второй операнд и возвращает значение и тип.
#include <iostream> using namespace std; int main() { int x, y; y = 100; x = (y++, y + 10, 99 + y); cout << x; return 0; }
Выход:
Вот скриншот кода:
Code Объяснение:
- Включение заголовочного файла iostream в наш код. Это позволит нам читать и писать в консоль.
- Включая пространство имен std, чтобы использовать его классы и функции без его вызова.
- Вызов функции main(), внутри которой должна быть добавлена логика программы.
- Объявление двух целочисленных переменных x и y.
- Присвоение переменной ya значения 100.
- Используя оператор запятой. Сначала значение y равно 100, затем увеличивается до 101 (y++). Далее к y добавляется 10. Наконец, к y, всё ещё равному 101, добавляется 99, что даёт 200. Теперь x равно 200.
- Вывод значения переменной x на консоль.
- Функция main() должна возвращать значение, если программа работает нормально.
- Конец тела функции main().
Условный Operaтор
Этот оператор оценивает условие и действует на основе результата оценки.
Синтаксис:
Condition ? Expression2 : Expression3;
Параметры:
- Условие — это условие, которое должно быть оценено.
- Expression2 — это выражение, которое будет выполнено, если условие истинно.
- Expression3 — это выражение, которое будет выполнено, если условие ложно.
Например:
#include <iostream> using namespace std; int main() { int a = 1, b; b = (a < 10) ? 2 : 5; cout << "value of b: " << b << endl; return 0; }
Выход:
Вот скриншот кода:
Code Объяснение:
- Включение заголовочного файла iostream в наш код. Это позволит нам читать и писать в консоль.
- Включая пространство имен std, чтобы использовать его классы и функции без его вызова.
- Вызов функции main(), внутри которой должна быть добавлена логика программы.
- Объявление двух целочисленные переменные а и б. Переменной a присвоено значение 1.
- Присвоение значения переменной b. Если значение переменной a меньше 10, переменной b будет присвоено значение 2, в противном случае переменной b будет присвоено значение 5.
- Вывод значения переменной b на консоль вместе с другим текстом.
- Функция main() должна возвращать значение, если программа работает нормально.
- Конец тела функции main().
OperaПриоритет
Одна операция может иметь более одного оператора. В этом случае приоритет оператора определяет тот, который вычисляется первым.
В следующем списке показан приоритет операторов в C++, с уменьшением приоритета слева направо:
(), [], *, /, %, +/-, <<, >>, ==, !=, ^, |, &&, ||, ?:, =, +=, -=, *=, /=













