OperaТоры в C++ с примером: что такое, типы и программы
Каковы OperaТорс?
Оператор это символ, используемый для выполнения операций над операндами. Оператор оперирует операндами. Операции могут быть математическими или логическими. Существуют различные типы операторов в C++ для выполнения различных операций.
Рассмотрим следующую операцию:
a = x + y;
В приведенном выше утверждении x и y являются операндами, а + — оператором сложения. Когда C++ компилятор встретит приведенный выше оператор, он добавит x и y и сохранит результат в переменной a.
Виды OperaТоры в C++
В основном 6 различных типов операторов в C++
- Арифметический OperaTORs
- реляционный OperaTORs
- логический OperaTORs
- побитовое OperaTORs
- Назначение OperaTORs
- Прочее OperaTORs
Арифметический OperaTORs
Это типы операторов, используемые для выполнения математических/арифметических операций. Они включают:
| оператор | Описание |
|---|---|
| + оператор сложения | Добавляет к операндам. |
| – оператор вычитания | Вычитает 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;
}
Мощность
Вот скриншот кода:
Пояснение к коду:
- Включение заголовочного файла 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;
}
Мощность
Вот скриншот кода:
Пояснение к коду:
- Включение заголовочного файла iostream в наш код. Это позволит нам читать и писать в консоль.
- Включая пространство имен std, чтобы использовать его классы и функции без его вызова.
- Вызов функции main(), внутри которой должна быть добавлена логика программы. { отмечает начало тела функции main().
- Объявление целочисленной переменной a и инициализация ее значением 11.
- Объявление целочисленной переменной b и инициализация ее значением 5.
- Вывод на консоль текста с указанием значений переменных a и b.
- Выполнение арифметической операции a==b в операторе принятия решения if, чтобы узнать, истинно оно или ложно. { отмечает начало тела оператора if.
- Текст для печати на консоли, если операция a==b истинна. Endl — это a C++ ключевое слово для конечной строки. Он подталкивает курсор, чтобы начать печать на следующей строке. } отмечает конец тела оператора if.
- Другая часть приведенного выше оператора if. В нем указывается, что делать, если операция a==b ложна.
- Текст для печати на консоли, если операция a==b ложна. Endl — это C++ ключевое слово для конечной строки. Он подталкивает курсор, чтобы начать печать на следующей строке. } отмечает конец тела оператора else.
- Выполнив арифметическую операцию, А.
- Текст для печати на консоли, если операция C++ ключевое слово для конечной строки. Он подталкивает курсор, чтобы начать печать на следующей строке. } отмечает конец тела оператора if.
- Другая часть приведенного выше оператора if. В нем указано, что делать, если операция
- Текст для печати на консоли, если операция C++ ключевое слово для конечной строки. Он подталкивает курсор, чтобы начать печать на следующей строке. } отмечает конец тела оператора else.
- Выполнение арифметической операции a>b в операторе принятия решения if, чтобы узнать, истинно оно или ложно. { отмечает начало тела оператора if.
- Текст для печати на консоли, если операция a>b истинна. Endl — это C++ ключевое слово для конечной строки. Он подталкивает курсор, чтобы начать печать на следующей строке. } отмечает конец тела оператора if.
- Другая часть приведенного выше оператора if. В нем указывается, что делать, если операция a>b ложна.
- Текст для печати на консоли, если операция a>b ложна. Endl — это C++ ключевое слово для конечной строки. Он подталкивает курсор, чтобы начать печать на следующей строке. } отмечает конец тела оператора else.
- Функция 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;
}
Мощность
Вот скриншот кода:
Пояснение к коду:
- Включение заголовочного файла iostream в наш код. Это позволит нам читать и писать в консоль.
- Включая пространство имен std, чтобы использовать его классы и функции без его вызова.
- Вызов функции main(), внутри которой должна быть добавлена логика программы.
- { отмечает начало тела функции main().
- Объявление четырех целочисленных переменных a, b, c и d и присвоение им разных значений.
- Использование оператора && (AND) внутри оператора if. Он объединяет два условия: значение a равно значению b и значение a больше значения b. Первое условие ложно, второе условие истинно. False&&true — это False, следовательно, результат if — false.
- Текст для печати на консоли, если приведенное выше утверждение if истинно. Это не будет выполнено.
- Часть, которая будет выполнена, если приведенное выше утверждение if неверно.
- Текст для печати на консоли, если оператор if ложен. Это будет выполнено.
- Использование || (OR) в операторе if. Он объединяет два условия: значение a равно значению b и значение a больше значения b. Первое условие ложно, второе условие истинно. False||true равно True, следовательно, результат if истинен.
- Текст для печати на консоли, если приведенное выше утверждение if истинно. Это будет выполнено.
- Часть, которая будет выполнена, если приведенное выше утверждение if неверно.
- Текст для печати на консоли, если оператор if ложен. Это не будет выполнено.
- Проверка того, равно ли значение переменной 0.
- Текст для печати на консоли, если приведенное выше утверждение if истинно. Это не будет выполнено.
- Часть, которая будет выполнена, если приведенное выше утверждение if неверно.
- Текст для печати на консоли, если оператор if ложен. Это будет выполнено.
- Функция main() должна возвращать значение, если программа работает нормально.
- Конец тела функции main().
побитовое OperaTORs
Битовые операторы выполнять операции на уровне битов над операндами. Сначала операторы преобразуются в битовый уровень, затем над операндами выполняются операции. Когда арифметические операции, такие как сложение и вычитание, выполняются на битовом уровне, результаты могут быть достигнуты быстрее. Они включают:
| оператор | Описание |
|---|---|
| & (побитовое И). | Требуется два числа (операнда), а затем выполняется AND для каждого бита двух чисел. Если оба значения равны 2, AND возвращает 1, в противном случае — 1. |
| | (побитовое ИЛИ) | Принимает 2 числа (операнда), а затем выполняет ИЛИ для каждого бита двух чисел. Он возвращает 1, если один из битов равен 1. |
| ^ (побитовое исключающее ИЛИ) | Принимает 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;
}
Мощность
Вот скриншот кода:
Пояснение к коду:
- Включение заголовочного файла iostream в наш код. Это позволит нам читать и писать в консоль.
- Включая пространство имен std, чтобы использовать его классы и функции без его вызова.
- Вызов функции main(), внутри которой должна быть добавлена логика программы. { отмечает начало тела функции main().
- Объявление беззнаковой целочисленной переменной p и присвоение ей значения 60, то есть 0011 1100 в двоичном формате.
- Объявление беззнаковой целочисленной переменной q и присвоение ей значения 13, то есть 0000 1101 в двоичном формате.
- Объявление целочисленной переменной z и инициализация ее значением 0.
- Выполнение побитовой операции & (И) над переменными p и q и сохранение результата в переменной z.
- Печать результата вышеуказанной операции на консоли вместе с другим текстом.
- Выполнение побитового | (ИЛИ) операция над переменными p и q и сохранение результата в переменной z.
- Печать результата вышеуказанной операции на консоли вместе с другим текстом.
- Выполнение побитовой операции ^ (XOR) над переменными p и q и сохранение результата в переменной z.
- Печать результата вышеуказанной операции на консоли вместе с другим текстом.
- Выполнение побитовой операции ~ (НЕ) над переменными p и q и сохранение результата в переменной z.
- Печать результата вышеуказанной операции на консоли вместе с другим текстом.
- Выполнение операции сдвига влево над переменной p и сохранение результата в переменной z.
- Печать результата вышеуказанной операции на консоли вместе с другим текстом.
- Выполнение операции сдвига вправо над переменной p и сохранение результата в переменной z.
- Печать результата вышеуказанной операции на консоли вместе с другим текстом.
- Функция main() должна возвращать значение, если программа работает нормально.
- Конец тела функции main().
Назначение OperaTORs
Операторы присваивания присваивать значения переменным. Операнд/переменная добавляется в левую часть оператора, а значение добавляется в правую часть оператора. Переменная и значение должны принадлежать к одному и тому же типу данных, в противном случае C++ компилятор выдаст ошибку.
Например:
x = 5;
В приведенном выше примере x — это переменная/операнд, = — оператор присваивания, а 5 — это значение. Вот популярные операторы присваивания в C++:
| оператор | Описание |
|---|---|
| = (простой оператор присваивания) | Присваивает значение справа переменной слева. |
| += (Добавить оператор присваивания AND) | Добавляет значение правого операнда к левому операнду, затем присваивает результат переменной слева. |
| -= (оператор вычитания И присваивания) | Вычитает значение правого операнда из левого операнда, затем присваивает результат переменной слева. |
| *= (Оператор умножения И присваивания) | Умножает значение левого операнда на правое, затем присваивает результат переменной слева. |
| /= (Оператор деления И присваивания) | Делит значение левого операнда на правый операнд, затем присваивает результат переменной слева. |
Например:
#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;
}
Мощность
Вот скриншот кода:
Пояснение к коду:
- Включение заголовочного файла iostream в наш код. Это позволит нам читать и писать в консоль.
- Включая пространство имен std, чтобы использовать его классы и функции без его вызова.
- Вызов функции main(), внутри которой должна быть добавлена логика программы.
- { отмечает начало тела функции main().
- Объявление целочисленной переменной x и присвоение ей значения 5.
- Печать значения переменной x вместе с другим текстом на консоли. \n — это символ новой строки. При печати он перемещает курсор на следующую строку.
- Добавление 5 к значению переменной x и присвоение результата переменной x.
- Печать значения переменной x на консоли вместе с другим текстом.
- Вычитание 5 из значения x и присвоение результата переменной x.
- Печать значения переменной x на консоли вместе с другим текстом.
- Умножение значения переменной x на 5 и присвоение результата переменной x.
- Печать значения переменной x на консоли вместе с другим текстом.
- Деление значения переменной x на 5 и присвоение результата переменной x.
- Печать значения переменной x на консоли вместе с другим текстом.
- Функция main() должна возвращать значение, если программа работает нормально.
- Конец тела функции main().
Прочее OperaTORs
Прочее OperaTORs оператор sizeof, запятая Operaтор, Условный OperaТор, и OperaПриоритет.
Давайте обсудим других операторов, поддерживаемых 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;
}
Мощность
Вот скриншот кода:
Пояснение к коду:
- Включение заголовочного файла iostream в наш код. Это позволит нам читать и писать в консоль.
- Включая пространство имен std, чтобы использовать его классы и функции без его вызова.
- Вызов функции main(), внутри которой должна быть добавлена логика программы. { отмечает начало тела функции main().
- Определение размера целочисленного типа данных с помощью оператора sizeof и печать его вместе с другим текстом на консоли.
- Определение размера символьного типа данных с помощью оператора sizeof и печать его вместе с другим текстом на консоли.
- Определение размера типа данных float с помощью оператора sizeof и печать его вместе с другим текстом на консоли.
- Определение размера типа данных float с помощью оператора 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;
}
Мощность
Вот скриншот кода:
Пояснение к коду:
- Включение заголовочного файла iostream в наш код. Это позволит нам читать и писать в консоль.
- Включая пространство имен std, чтобы использовать его классы и функции без его вызова.
- Вызов функции main(), внутри которой должна быть добавлена логика программы. { отмечает начало тела функции main().
- Объявление двух целочисленных переменных x и y.
- Присвоение переменной ya значения 100.
- Увеличение значения y и присвоение результата переменной x. Он начинается с y, равного 100, затем увеличивает его до 101 (y++). Затем y прибавляется к 10. Наконец, y, все еще равный 101, прибавляется к 99, давая 200. x теперь равно 200.
- Вывод значения переменной x на консоль.
- Функция main() должна возвращать значение, если программа работает нормально.
- Конец тела функции main().
Условный Operaтор
Этот оператор оценивает условие и действует на основе результата оценки.
Синтаксис:
Condition ? Expression2 : Expression3;
Параметры:
- Условие — это условие, которое должно быть оценено.
- Выражение1 — это выражение, которое будет выполнено, если условие истинно.
- Выражение3 — это выражение, которое будет выполнено, если условие ложно.
Например:
#include <iostream>
using namespace std;
int main() {
int a = 1, b;
b = (a < 10) ? 2 : 5;
cout << "value of b: " << b << endl;
return 0;
}
Мощность
Вот скриншот кода:
Пояснение к коду:
- Включение заголовочного файла iostream в наш код. Это позволит нам читать и писать в консоль.
- Включая пространство имен std, чтобы использовать его классы и функции без его вызова.
- Вызов функции main(), внутри которой должна быть добавлена логика программы. { отмечает начало тела функции main().
- Объявление двух целочисленные переменные а и б. Переменной a присвоено значение 1.
- Присвоение значения переменной b. Если переменная a меньше 10, b будет присвоено значение 2, в противном случае b будет присвоено значение 5.
- Печать значения переменной b на консоли вместе с другим текстом.
- Функция main() должна возвращать значение, если программа работает нормально.
- Конец тела функции main().
OperaПриоритет
Одна операция может иметь более одного оператора. В этом случае приоритет оператора определяет тот, который вычисляется первым.
В следующем списке показан приоритет операторов в C++, с уменьшением приоритета слева направо:
(), [],*, /, %, +/-, << , >>, == , !=, ^, |, &&, ||, ?:, =, +=, -=, *= "="
Резюме
- OperaТоры — это символы для выполнения логических и арифметических операций.
- Арифметические операторы помогают нам выполнять различные арифметические операции с операндами.
- Операторы отношения помогают нам выполнять различные операции сравнения операндов.
- Логические операторы помогают нам выполнять различные логические операции с операндами.
- Битовые операторы помогите нам выполнять побитовые операции с операндами.
- Операторы присваивания помогают нам выполнять различные арифметические операции с операндами.
- Оператор sizeof возвращает размер переменной или типа данных.
- Оператор запятая выполняет последовательность операций.
- Условный оператор оценивает условие и действует на основе результата.













