Operaтори в C++ з прикладом: що таке, типи та програми

Які Operaторс?

Оператор це символ, який використовується для виконання операцій над операндами. Оператор оперує операндами. Операції можуть бути математичними або логічними. Існують різні типи операторів C++ для виконання різних операцій.

Розглянемо наступну операцію:

a = x + y;

У наведеному вище операторі x і y є операндами, тоді як + є оператором додавання. Коли C++ компілятор зустрічає наведений вище оператор, він додасть x і y і збереже результат у змінній a.

Типи Operaтори в C++

Є в основному 6 різних типів операторів C++

  1. Арифметика Operaторс
  2. Реляційний Operaторс
  3. логічний Operaторс
  4. Побітовий Operaторс
  5. Призначення Operaторс
  6. Корисне Operaторс

Арифметика Operaторс

Це типи операторів, які використовуються для виконання математичних/арифметичних операцій. Вони включають:

Operaтор Опис
+ оператор додавання Додає до операндів.
– оператор віднімання Віднімає 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;
}

вихід:

Арифметика Operaторс

Ось скріншот коду:

Арифметика Operaторс

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

  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().

Реляційний Operaторс

Ці типи операторів виконують порівняння операндів. Наприклад, вам може знадобитися знати, який операнд більший за інший або менший за інший. Вони включають:

Operaтор Опис
== дорівнює оператору. Перевіряє рівність двох значень операнда.
!= не дорівнює оператору Перевіряє рівність двох значень операнда.
> краще, ніж оператор Перевіряє, чи значення лівого операнда більше за значення правого операнда.
< оператор менше. Перевіряє, чи значення лівого операнда менше за значення правого операнда.
>= більше або дорівнює оператору Перевіряє, чи значення лівого операнда більше або дорівнює значенню правого операнда.
<= менше або дорівнює оператору. Перевіряє, чи значення лівого операнда менше або дорівнює значенню правого операнда.

Наприклад:

#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;
}

вихід:

Реляційний Operaторс

Ось скріншот коду:

Реляційний Operaторс

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

  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 є false. Endl - це a C++ ключове слово для кінцевого рядка. Він штовхає курсор, щоб розпочати друк у наступному рядку. } позначає кінець тіла оператора else.
  11. Виконання арифметичної дії, a
  12. Текст для друку на консолі, якщо операція a C++ ключове слово для кінцевого рядка. Він штовхає курсор, щоб розпочати друк у наступному рядку. } позначає кінець тіла оператора if.
  13. Інша частина наведеного вище оператора if. У ньому зазначено, що робити, якщо операція a
  14. Текст для друку на консолі, якщо операція a C++ ключове слово для кінцевого рядка. Він штовхає курсор, щоб розпочати друк у наступному рядку. } позначає кінець тіла оператора else.
  15. Виконання арифметичної операції a>b у операторі прийняття рішення if, щоб дізнатися, правда чи хибність. { позначає початок тіла оператора if.
  16. Текст для друку на консолі, якщо операція a>b істинна. Endl - це a C++ ключове слово для кінцевого рядка. Він штовхає курсор, щоб розпочати друк у наступному рядку. } позначає кінець тіла оператора if.
  17. Інша частина наведеного вище оператора if. У ньому зазначено, що робити, якщо операція a>b помилкова.
  18. Текст для друку на консолі, якщо операція a>b є помилковою. Endl - це a C++ ключове слово для кінцевого рядка. Він штовхає курсор, щоб розпочати друк у наступному рядку. } позначає кінець тіла оператора else.
  19. Функція main() має повертати значення, якщо програма працює нормально.
  20. Кінець тіла функції main().

логічний Operaторс

Команда логічні оператори поєднати два/більше обмежень/умов. Логічні оператори також доповнюють оцінку початкового стану, що розглядається. Вони включають:

Operaтор Опис
&& логічний оператор І. Умова виконується, якщо обидва операнди не дорівнюють нулю.
|| логічний оператор АБО. Умова виконується, якщо один із операндів відмінний від нуля.
! логічний оператор НЕ. Він змінює логічний стан операнда. Якщо операнд істинний, ! оператор робить його false.

Наприклад:

#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;
}

вихід:

логічний Operaторс

Ось скріншот коду:

логічний Operaторс

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

  1. Включаючи файл заголовка iostream у наш код. Це дозволить нам читати з консолі та писати в неї.
  2. Включаючи простір імен std, щоб використовувати його класи та функції без його виклику.
  3. Виклик функції main(), всередину якої має бути додана логіка програми.
  4. { позначає початок тіла функції main().
  5. Оголошення 4 цілих змінних a, b, c і d і присвоєння їм різних значень.
  6. Використання оператора && (І) всередині оператора if. Він поєднує дві умови: значення a дорівнює значенню b і значення a більше за значення b. Перша умова хибна, друга умова істинна. False&&true є False, отже, результат if є false.
  7. Текст для друку на консолі, якщо наведене вище твердження є істинним. Це не буде виконано.
  8. Частина, яка буде виконана, якщо наведений вище оператор if невірний.
  9. Текст для друку на консолі, якщо оператор if невірний. Це буде виконано.
  10. Використовуючи || (OR) оператор у операторі if. Він поєднує дві умови: значення a дорівнює значенню b і значення a більше за значення b. Перша умова хибна, друга умова істинна. False||true є True, отже, результат if є true.
  11. Текст для друку на консолі, якщо наведене вище твердження є істинним. Це буде виконано.
  12. Частина, яка буде виконана, якщо наведений вище оператор if невірний.
  13. Текст для друку на консолі, якщо оператор if невірний. Це не буде виконано.
  14. Перевірка, чи значення змінної дорівнює 0.
  15. Текст для друку на консолі, якщо наведене вище твердження є істинним. Це не буде виконано.
  16. Частина, яка буде виконана, якщо наведений вище оператор if невірний.
  17. Текст для друку на консолі, якщо оператор if невірний. Це буде виконано.
  18. Функція main() має повертати значення, якщо програма працює нормально.
  19. Кінець тіла функції main().

Побітовий Operaторс

Побітові оператори виконувати операції на бітовому рівні над операндами. Спочатку оператори перетворюються на бітовий рівень, а потім над операндами виконуються операції. Коли такі арифметичні операції, як додавання та віднімання, виконуються на рівні бітів, результатів можна досягти швидше. Вони включають:

Operaтор Опис
& (побітове І). Він приймає 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;
}

вихід:

Побітовий Operaторс

Ось скріншот коду:

Побітовий Operaторс

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

  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().

Призначення Operaторс

Оператори присвоєння присвоювати значення змінним. Операнд/змінна додається до лівої сторони оператора, тоді як значення додається до правої сторони оператора. Змінна та значення мають належати до одного типу даних, інакше, the C++ компілятор викличе помилку.
Наприклад:

x = 5;

У наведеному вище прикладі x — це змінна/операнд, = — оператор присвоювання, а 5 — значення. Ось популярні оператори присвоєння в C++:

Operaтор Опис
= (простий оператор присвоювання) Присвоює значення праворуч змінній ліворуч.
+= (оператор присвоєння "І") Додає значення правого операнда до лівого операнда, а потім присвоює результат змінній ліворуч.
-= (оператор присвоєння віднімання І) Віднімає значення правого операнда з лівого, а потім присвоює результат змінній ліворуч.
*= (оператор присвоєння множення І) Множить значення лівого операнда на правий, а потім присвоює результат змінній ліворуч.
/= (оператор ділення ТА присвоювання) Ділить значення лівого операнда на правий, а потім присвоює результат змінній ліворуч.

Наприклад:

#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;
}

вихід:

Призначення Operaторс

Ось скріншот коду:

Призначення Operaторс

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

  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().

Корисне Operaторс

Корисне Operaторс включати оператор sizeof, кома Operaтор, умовний Operaтор, і Operators Пріоритет.
Давайте обговоримо інших операторів, які підтримуються 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 і b. Змінній a присвоєно значення 1.
  5. Присвоєння значення змінній b. Якщо змінна a менше 10, b буде присвоєно значення 2, інакше b буде присвоєно значення 5.
  6. Друк значення змінної b на консолі поряд з іншим текстом.
  7. Функція main() має повертати значення, якщо програма працює нормально.
  8. Кінець тіла функції main().

Operators Пріоритет

Одна операція може мати більше одного оператора. У цьому випадку пріоритет оператора визначає той, який оцінюється першим.

У наведеному нижче списку показано пріоритет операторів in C++, зі зменшенням пріоритету зліва направо:

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

Підсумки

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

Щоденний інформаційний бюлетень Guru99

Розпочніть свій день з останніх та найважливіших новин про штучний інтелект, які ви можете знайти просто зараз.