OperaТоры в C++ с примером: что такое, типы и программы

Каковы OperaТорс?

Оператор это символ, используемый для выполнения операций над операндами. Оператор оперирует операндами. Операции могут быть математическими или логическими. Существуют различные типы операторов в C++ для выполнения различных операций.

Рассмотрим следующую операцию:

a = x + y;

В приведенном выше утверждении x и y являются операндами, а + — оператором сложения. Когда C++ компилятор встретит приведенный выше оператор, он добавит x и y и сохранит результат в переменной a.

Виды OperaТоры в C++

В основном 6 различных типов операторов в C++

  1. Арифметический OperaTORs
  2. реляционный OperaTORs
  3. логический OperaTORs
  4. побитовое OperaTORs
  5. Назначение OperaTORs
  6. Другой 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;
}

Вывод:

Арифметический OperaTORs

Вот скриншот кода:

Арифметический OperaTORs

Пояснение к коду:

  1. Включение заголовочного файла iostream в наш код. Это позволит нам читать и писать в консоль.
  2. Включая пространство имен std, чтобы использовать его классы и функции без его вызова.
  3. Вызов функции main(), внутри которой должна быть добавлена ​​логика программы. { отмечает начало тела функции main().
  4. Объявление целочисленной переменной a и инициализация ее значением 11.
  5. Объявление целочисленной переменной b и инициализация ее значением 5.
  6. Объявление целочисленной переменной c.
  7. Печать значения операции a+b вместе с другим текстом на консоли.
  8. Вывод значения операции ab вместе с другим текстом на консоли.
  9. Печать значения операции a*b вместе с другим текстом на консоли.
  10. Печать значения операции a/b вместе с другим текстом на консоли.
  11. Печать значения операции a%b вместе с другим текстом на консоли.
  12. Вывод значения операции a++ вместе с другим текстом на консоли.
  13. Печать значения операции a– рядом с другим текстом на консоли.
  14. Функция main() должна возвращать значение, если программа работает нормально.
  15. Конец тела функции 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;
}

Вывод:

реляционный OperaTORs

Вот скриншот кода:

реляционный OperaTORs

Пояснение к коду:

  1. Включение заголовочного файла iostream в наш код. Это позволит нам читать и писать в консоль.
  2. Включая пространство имен std, чтобы использовать его классы и функции без его вызова.
  3. Вызов функции main(), внутри которой должна быть добавлена ​​логика программы. { отмечает начало тела функции main().
  4. Объявление целочисленной переменной a и инициализация ее значением 11.
  5. Объявление целочисленной переменной b и инициализация ее значением 5.
  6. Вывод на консоль текста с указанием значений переменных a и b.
  7. Выполнение арифметической операции a==b в операторе принятия решения if, чтобы узнать, истинно оно или ложно. { отмечает начало тела оператора if.
  8. Текст для печати на консоли, если операция a==b истинна. Endl — это a C++ ключевое слово для конечной строки. Он подталкивает курсор, чтобы начать печать на следующей строке. } отмечает конец тела оператора if.
  9. Другая часть приведенного выше оператора if. В нем указывается, что делать, если операция a==b ложна.
  10. Текст для печати на консоли, если операция a==b ложна. Endl — это C++ ключевое слово для конечной строки. Он подталкивает курсор, чтобы начать печать на следующей строке. } отмечает конец тела оператора else.
  11. Выполнив арифметическую операцию, А.
  12. Текст для печати на консоли, если операция C++ ключевое слово для конечной строки. Он подталкивает курсор, чтобы начать печать на следующей строке. } отмечает конец тела оператора if.
  13. Другая часть приведенного выше оператора if. В нем указано, что делать, если операция
  14. Текст для печати на консоли, если операция C++ ключевое слово для конечной строки. Он подталкивает курсор, чтобы начать печать на следующей строке. } отмечает конец тела оператора else.
  15. Выполнение арифметической операции a>b в операторе принятия решения if, чтобы узнать, истинно оно или ложно. { отмечает начало тела оператора if.
  16. Текст для печати на консоли, если операция a>b истинна. Endl — это C++ ключевое слово для конечной строки. Он подталкивает курсор, чтобы начать печать на следующей строке. } отмечает конец тела оператора if.
  17. Другая часть приведенного выше оператора if. В нем указывается, что делать, если операция a>b ложна.
  18. Текст для печати на консоли, если операция a>b ложна. Endl — это C++ ключевое слово для конечной строки. Он подталкивает курсор, чтобы начать печать на следующей строке. } отмечает конец тела оператора else.
  19. Функция main() должна возвращать значение, если программа работает нормально.
  20. Конец тела функции 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;
}

Вывод:

логический OperaTORs

Вот скриншот кода:

логический OperaTORs

Пояснение к коду:

  1. Включение заголовочного файла iostream в наш код. Это позволит нам читать и писать в консоль.
  2. Включая пространство имен std, чтобы использовать его классы и функции без его вызова.
  3. Вызов функции main(), внутри которой должна быть добавлена ​​логика программы.
  4. { отмечает начало тела функции main().
  5. Объявление четырех целочисленных переменных a, b, c и d и присвоение им разных значений.
  6. Использование оператора && (AND) внутри оператора if. Он объединяет два условия: значение a равно значению b и значение a больше значения b. Первое условие ложно, второе условие истинно. False&&true — это False, следовательно, результат if — false.
  7. Текст для печати на консоли, если приведенное выше утверждение if истинно. Это не будет выполнено.
  8. Часть, которая будет выполнена, если приведенное выше утверждение if неверно.
  9. Текст для печати на консоли, если оператор if ложен. Это будет выполнено.
  10. Использование || (OR) в операторе if. Он объединяет два условия: значение a равно значению b и значение a больше значения b. Первое условие ложно, второе условие истинно. False||true равно True, следовательно, результат if истинен.
  11. Текст для печати на консоли, если приведенное выше утверждение if истинно. Это будет выполнено.
  12. Часть, которая будет выполнена, если приведенное выше утверждение if неверно.
  13. Текст для печати на консоли, если оператор if ложен. Это не будет выполнено.
  14. Проверка того, равно ли значение переменной 0.
  15. Текст для печати на консоли, если приведенное выше утверждение if истинно. Это не будет выполнено.
  16. Часть, которая будет выполнена, если приведенное выше утверждение if неверно.
  17. Текст для печати на консоли, если оператор if ложен. Это будет выполнено.
  18. Функция main() должна возвращать значение, если программа работает нормально.
  19. Конец тела функции 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;
}

Вывод:

побитовое OperaTORs

Вот скриншот кода:

побитовое OperaTORs

Пояснение к коду:

  1. Включение заголовочного файла iostream в наш код. Это позволит нам читать и писать в консоль.
  2. Включая пространство имен std, чтобы использовать его классы и функции без его вызова.
  3. Вызов функции main(), внутри которой должна быть добавлена ​​логика программы. { отмечает начало тела функции main().
  4. Объявление беззнаковой целочисленной переменной p и присвоение ей значения 60, то есть 0011 1100 в двоичном формате.
  5. Объявление беззнаковой целочисленной переменной q и присвоение ей значения 13, то есть 0000 1101 в двоичном формате.
  6. Объявление целочисленной переменной z и инициализация ее значением 0.
  7. Выполнение побитовой операции & (И) над переменными p и q и сохранение результата в переменной z.
  8. Печать результата вышеуказанной операции на консоли вместе с другим текстом.
  9. Выполнение побитового | (ИЛИ) операция над переменными p и q и сохранение результата в переменной z.
  10. Печать результата вышеуказанной операции на консоли вместе с другим текстом.
  11. Выполнение побитовой операции ^ (XOR) над переменными p и q и сохранение результата в переменной z.
  12. Печать результата вышеуказанной операции на консоли вместе с другим текстом.
  13. Выполнение побитовой операции ~ (НЕ) над переменными p и q и сохранение результата в переменной z.
  14. Печать результата вышеуказанной операции на консоли вместе с другим текстом.
  15. Выполнение операции сдвига влево над переменной p и сохранение результата в переменной z.
  16. Печать результата вышеуказанной операции на консоли вместе с другим текстом.
  17. Выполнение операции сдвига вправо над переменной p и сохранение результата в переменной z.
  18. Печать результата вышеуказанной операции на консоли вместе с другим текстом.
  19. Функция main() должна возвращать значение, если программа работает нормально.
  20. Конец тела функции 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;
}

Вывод:

Назначение OperaTORs

Вот скриншот кода:

Назначение OperaTORs

Пояснение к коду:

  1. Включение заголовочного файла iostream в наш код. Это позволит нам читать и писать в консоль.
  2. Включая пространство имен std, чтобы использовать его классы и функции без его вызова.
  3. Вызов функции main(), внутри которой должна быть добавлена ​​логика программы.
  4. { отмечает начало тела функции main().
  5. Объявление целочисленной переменной x и присвоение ей значения 5.
  6. Печать значения переменной x вместе с другим текстом на консоли. \n — это символ новой строки. При печати он перемещает курсор на следующую строку.
  7. Добавление 5 к значению переменной x и присвоение результата переменной x.
  8. Печать значения переменной x на консоли вместе с другим текстом.
  9. Вычитание 5 из значения x и присвоение результата переменной x.
  10. Печать значения переменной x на консоли вместе с другим текстом.
  11. Умножение значения переменной x на 5 и присвоение результата переменной x.
  12. Печать значения переменной x на консоли вместе с другим текстом.
  13. Деление значения переменной x на 5 и присвоение результата переменной x.
  14. Печать значения переменной x на консоли вместе с другим текстом.
  15. Функция main() должна возвращать значение, если программа работает нормально.
  16. Конец тела функции 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;
}

Вывод:

оператор sizeof

Вот скриншот кода:

оператор sizeof

Пояснение к коду:

  1. Включение заголовочного файла iostream в наш код. Это позволит нам читать и писать в консоль.
  2. Включая пространство имен std, чтобы использовать его классы и функции без его вызова.
  3. Вызов функции main(), внутри которой должна быть добавлена ​​логика программы. { отмечает начало тела функции main().
  4. Определение размера целочисленного типа данных с помощью оператора sizeof и печать его вместе с другим текстом на консоли.
  5. Определение размера символьного типа данных с помощью оператора sizeof и печать его вместе с другим текстом на консоли.
  6. Определение размера типа данных float с помощью оператора sizeof и печать его вместе с другим текстом на консоли.
  7. Определение размера типа данных float с помощью оператора sizeof и печать его вместе с другим текстом на консоли.
  8. Функция main() должна возвращать значение, если программа работает нормально.
  9. Конец тела функции main().

Запятая Operaтор

" оператор запятой (,) запускает выполнение последовательности операций. Он выражает первый операнд и отбрасывает результат. Затем он оценивает второй операнд и возвращает значение и тип.

#include <iostream>
using namespace std;
int main() {
	int x, y;
	y = 100;
	x = (y++, y + 10, 99 + y);
	cout << x;
	return 0;
}

Вывод:

Запятая Operaтор

Вот скриншот кода:

Запятая Operaтор

Пояснение к коду:

  1. Включение заголовочного файла iostream в наш код. Это позволит нам читать и писать в консоль.
  2. Включая пространство имен std, чтобы использовать его классы и функции без его вызова.
  3. Вызов функции main(), внутри которой должна быть добавлена ​​логика программы. { отмечает начало тела функции main().
  4. Объявление двух целочисленных переменных x и y.
  5. Присвоение переменной ya значения 100.
  6. Увеличение значения y и присвоение результата переменной x. Он начинается с y, равного 100, затем увеличивает его до 101 (y++). Затем y прибавляется к 10. Наконец, y, все еще равный 101, прибавляется к 99, давая 200. x теперь равно 200.
  7. Вывод значения переменной x на консоль.
  8. Функция main() должна возвращать значение, если программа работает нормально.
  9. Конец тела функции 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;
}

Вывод:

Условный Operaтор

Вот скриншот кода:

Условный Operaтор

Пояснение к коду:

  1. Включение заголовочного файла iostream в наш код. Это позволит нам читать и писать в консоль.
  2. Включая пространство имен std, чтобы использовать его классы и функции без его вызова.
  3. Вызов функции main(), внутри которой должна быть добавлена ​​логика программы. { отмечает начало тела функции main().
  4. Объявление двух целочисленные переменные а и б. Переменной a присвоено значение 1.
  5. Присвоение значения переменной b. Если переменная a меньше 10, b будет присвоено значение 2, в противном случае b будет присвоено значение 5.
  6. Печать значения переменной b на консоли вместе с другим текстом.
  7. Функция main() должна возвращать значение, если программа работает нормально.
  8. Конец тела функции main().

OperaПриоритет

Одна операция может иметь более одного оператора. В этом случае приоритет оператора определяет тот, который вычисляется первым.

В следующем списке показан приоритет операторов в C++, с уменьшением приоритета слева направо:

(), [],*, /, %, +/-, << , >>, == , !=, ^, |, &&, ||, ?:, =, +=, -=, *= "="

Итого

  • OperaТоры — это символы для выполнения логических и арифметических операций.
  • Арифметические операторы помогают нам выполнять различные арифметические операции с операндами.
  • Операторы отношения помогают нам выполнять различные операции сравнения операндов.
  • Логические операторы помогают нам выполнять различные логические операции с операндами.
  • Битовые операторы помогите нам выполнять побитовые операции с операндами.
  • Операторы присваивания помогают нам выполнять различные арифметические операции с операндами.
  • Оператор sizeof возвращает размер переменной или типа данных.
  • Оператор запятая выполняет последовательность операций.
  • Условный оператор оценивает условие и действует на основе результата.