Operavtrhne dovnitř C++ s Příkladem: Co je, typy a programy

Jaké jsou Operators?

Operátor je symbol používaný pro provádění operací s operandy. Operátor obsluhuje operandy. Operace mohou být matematické nebo logické. Existují různé typy operátorů C++ pro provádění různých operací.

Zvažte následující operaci:

a = x + y;

Ve výše uvedeném příkazu jsou x a y operandy, zatímco + je operátor sčítání. Když C++ kompilátor narazí na výše uvedený příkaz, přidá x a y a uloží výsledek do proměnné a.

Typy Operavtrhne dovnitř C++

Existují hlavně 6 různých typů operátorů C++

  1. Aritmetický Operatorů
  2. Relační Operatorů
  3. logický Operatorů
  4. Bitové Operatorů
  5. Přiřazení Operatorů
  6. Ostatní Operatorů

Aritmetický Operatorů

Jsou to typy operátorů používané pro provádění matematických/aritmetických operací. Patří mezi ně:

OperaTor Description
+ operátor sčítání Přidá k operandům.
– operátor odčítání Odečte 2nd operand od 1st operand.
* operátor násobení Vynásobí 2 operandy.
/ operátor divize. Dělí čitatele jmenovatelem.
% modulu operátor Vrátí zbytek po rozdělení.
++ operátor přírůstku Zvýší celočíselnou hodnotu o 1.
— operátor úbytku. Sníží celočíselnou hodnotu o 1.

Například:

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

Výstup:

Aritmetický Operatorů

Zde je snímek obrazovky kódu:

Aritmetický Operatorů

Vysvětlení kódu:

  1. Včetně souboru záhlaví iostream v našem kódu. Umožní nám to číst a zapisovat do konzole.
  2. Včetně jmenného prostoru std, aby bylo možné používat jeho třídy a funkce bez jeho volání.
  3. Volání funkce main(), do které má být přidána logika programu. { označuje začátek těla funkce main().
  4. Deklarování celočíselné proměnné a a její inicializace na 11.
  5. Deklarování celočíselné proměnné b a její inicializace na 5.
  6. deklarace celočíselné proměnné c.
  7. Tisk hodnoty operace a+b vedle jiného textu na konzole.
  8. Tisk hodnoty operace ab spolu s jiným textem na konzole.
  9. Tisk hodnoty operace a*b vedle jiného textu na konzole.
  10. Tisk hodnoty operace a/b vedle jiného textu na konzole.
  11. Tisk hodnoty operace a%b vedle jiného textu na konzole.
  12. Tisk hodnoty operace a++ spolu s dalším textem na konzole.
  13. Tisk hodnoty operace a– spolu s dalším textem na konzole.
  14. Funkce main() by měla vrátit hodnotu, pokud program běží správně.
  15. Konec těla funkce main().

Relační Operatorů

Tyto typy operátorů provádějí porovnávání operandů. Můžete například potřebovat vědět, který operand je větší než druhý nebo menší než druhý. Patří mezi ně:

OperaTor Description
== rovno operátoru. Kontroluje rovnost dvou hodnot operandů.
!= nerovná se operátor Kontroluje rovnost dvou hodnot operandů.
> lepší než operátor Zkontroluje, zda je hodnota levého operandu větší než hodnota pravého operandu.
< menší než operátor. Kontroluje, zda je hodnota levého operandu menší než hodnota pravého operandu.
>= větší nebo rovno operátoru Kontroluje, zda je hodnota levého operandu větší nebo rovna hodnotě pravého operandu.
<= menší nebo rovno operátoru. Kontroluje, zda je hodnota levého operandu menší nebo rovna hodnotě pravého operandu.

Například:

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

Výstup:

Relační Operatorů

Zde je snímek obrazovky kódu:

Relační Operatorů

Vysvětlení kódu:

  1. Včetně souboru záhlaví iostream v našem kódu. Umožní nám to číst a zapisovat do konzole.
  2. Včetně jmenného prostoru std, aby bylo možné používat jeho třídy a funkce bez jeho volání.
  3. Volání funkce main(), do které má být přidána logika programu. { označuje začátek těla funkce main().
  4. Deklarování celočíselné proměnné a a její inicializace na 11.
  5. Deklarování celočíselné proměnné b a její inicializace na 5.
  6. Tisk nějakého textu na konzoli s uvedením hodnot proměnných a a b.
  7. Provedení aritmetické operace, a==b v rozhodovacím příkazu if, abyste věděli, zda je pravdivý nebo nepravdivý. { označuje začátek těla příkazu if.
  8. Text, který se má vytisknout na konzole, pokud je operace a==b pravdivá. Konec je a C++ klíčové slovo pro koncový řádek. Stlačí kurzor a spustí tisk na dalším řádku. Znak } označuje konec těla příkazu if.
  9. Část else výše uvedeného příkazu if. Uvádí, co dělat, pokud je operace a==b nepravdivá.
  10. Text, který se má vytisknout na konzole, pokud je operace a==b nepravdivá. Konec je a C++ klíčové slovo pro koncový řádek. Stlačí kurzor a spustí tisk na dalším řádku. Znak } označuje konec těla příkazu else.
  11. Provedení aritmetické operace, a
  12. Text, který se má vytisknout na konzole, pokud operace a C++ klíčové slovo pro koncový řádek. Stlačí kurzor a spustí tisk na dalším řádku. Znak } označuje konec těla příkazu if.
  13. Část else výše uvedeného příkazu if. Uvádí, co dělat, pokud operace a
  14. Text, který se má vytisknout na konzole, pokud operace a C++ klíčové slovo pro koncový řádek. Stlačí kurzor a spustí tisk na dalším řádku. Znak } označuje konec těla příkazu else.
  15. Provedení aritmetické operace a>b v rozhodovacím příkazu if, abyste zjistili, zda je pravdivý nebo nepravdivý. { označuje začátek těla příkazu if.
  16. Text, který se má vytisknout na konzole, pokud je operace a>b pravdivá. Konec je a C++ klíčové slovo pro koncový řádek. Stlačí kurzor a spustí tisk na dalším řádku. Znak } označuje konec těla příkazu if.
  17. Část else výše uvedeného příkazu if. Uvádí, co dělat, pokud je operace a>b nepravdivá.
  18. Text, který se má vytisknout na konzole, pokud je operace a>b nepravdivá. Konec je a C++ klíčové slovo pro koncový řádek. Stlačí kurzor a spustí tisk na dalším řádku. Znak } označuje konec těla příkazu else.
  19. Funkce main() by měla vrátit hodnotu, pokud program běží správně.
  20. Konec těla funkce main().

logický Operatorů

Jedno logických operátorů kombinovat dvě/více omezení/podmínek. Logické operátory také doplňují hodnocení uvažovaného původního stavu. Patří mezi ně:

OperaTor Description
&& logický operátor AND. Podmínka je pravdivá, pokud oba operandy nejsou nulové.
|| logický operátor OR. Podmínka platí, pokud je jeden z operandů nenulový.
! logický operátor NOT. Obrátí logický stav operandu. Pokud je operand pravdivý, ! operátor to dělá nepravdivé.

Například:

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

Výstup:

logický Operatorů

Zde je snímek obrazovky kódu:

logický Operatorů

Vysvětlení kódu:

  1. Včetně souboru záhlaví iostream v našem kódu. Umožní nám to číst a zapisovat do konzole.
  2. Včetně jmenného prostoru std, aby bylo možné používat jeho třídy a funkce bez jeho volání.
  3. Volání funkce main(), do které má být přidána logika programu.
  4. { označuje začátek těla funkce main().
  5. Deklarace 4 celočíselných proměnných a, b, cad a přiřazení různých hodnot.
  6. Použití operátoru && (AND) uvnitř příkazu if. Spojuje dvě podmínky, hodnota a se rovná hodnotě b a hodnota a je větší než hodnota b. První podmínka je nepravdivá, druhá podmínka je pravdivá. False&&true je False, takže výsledek if je nepravdivý.
  7. Text, který se má vytisknout na konzole, pokud je výše uvedený příkaz if pravdivý. Toto nebude provedeno.
  8. Část, která se má provést, pokud je výše uvedený příkaz if nepravdivý.
  9. Text, který se má vytisknout na konzole, pokud je příkaz if nepravdivý. Toto bude provedeno.
  10. Pomocí || (OR) operátor v příkazu if. Spojuje dvě podmínky, hodnota a se rovná hodnotě b a hodnota a je větší než hodnota b. První podmínka je nepravdivá, druhá podmínka je pravdivá. False||true je True, takže výsledek if je pravdivý.
  11. Text, který se má vytisknout na konzole, pokud je výše uvedený příkaz if pravdivý. Toto bude provedeno.
  12. Část, která se má provést, pokud je výše uvedený příkaz if nepravdivý.
  13. Text, který se má vytisknout na konzole, pokud je příkaz if nepravdivý. Toto nebude provedeno.
  14. Kontrola, zda je hodnota proměnné 0.
  15. Text, který se má vytisknout na konzole, pokud je výše uvedený příkaz if pravdivý. Toto nebude provedeno.
  16. Část, která se má provést, pokud je výše uvedený příkaz if nepravdivý.
  17. Text, který se má vytisknout na konzole, pokud je příkaz if nepravdivý. Toto bude provedeno.
  18. Funkce main() by měla vrátit hodnotu, pokud program běží správně.
  19. Konec těla funkce main().

Bitové Operatorů

Bitové operátory provádět operace na bitové úrovni s operandy. Nejprve jsou operátory převedeny na bitovou úroveň a poté jsou prováděny operace s operandy. Když jsou aritmetické operace jako sčítání a odčítání prováděny na bitové úrovni, lze výsledků dosáhnout rychleji. Patří mezi ně:

OperaTor Description
& (bitový AND). Trvá 2 čísla (operandy), pak se provede AND na každém bitu dvou čísel. Pokud jsou obě 1, AND vrátí 1, jinak 0.
| (bitově NEBO) Vezme 2 čísla (operandy) a poté provede OR na každém bitu dvou čísel. Vrátí 1, pokud je jeden z bitů 1.
^ (bitový XOR) Vezme 2 čísla (operandy) a poté provede XOR na každém bitu 2 čísel. Pokud jsou oba bity různé, vrátí 1.
<< (levý posun) Vezme dvě čísla a poté doleva posune bity prvního operandu. Druhý operand určuje celkový počet míst k posunu.
>> (pravý posun) Vezme dvě čísla a pak vpravo posune bity prvního operandu. Druhý operand určuje počet míst k posunutí.
~ (bitově NE). Vezme číslo a poté převrátí všechny jeho bity.
#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;
}

Výstup:

Bitové Operatorů

Zde je snímek obrazovky kódu:

Bitové Operatorů

Vysvětlení kódu:

  1. Včetně souboru záhlaví iostream v našem kódu. Umožní nám to číst a zapisovat do konzole.
  2. Včetně jmenného prostoru std, aby bylo možné používat jeho třídy a funkce bez jeho volání.
  3. Volání funkce main(), do které má být přidána logika programu. { označuje začátek těla funkce main().
  4. Deklarace celočíselné proměnné p bez znaménka a přiřazení jí hodnoty 60, což je 0011 1100 v binární podobě.
  5. Deklarování celočíselné proměnné q bez znaménka a přiřazení jí hodnoty 13, což je 0000 1101 v binární podobě.
  6. Deklarování celočíselné proměnné z a její inicializace na 0.
  7. Provedení bitové operace & (AND) na proměnných p a q a uložení výsledku do proměnné z.
  8. Tisk výsledku výše uvedené operace na konzole spolu s jiným textem.
  9. Provádění bitového | (OR) operace s proměnnými p a q a uložení výsledku do proměnné z.
  10. Tisk výsledku výše uvedené operace na konzole spolu s jiným textem.
  11. Provedení bitové operace ^ (XOR) na proměnných p a q a uložení výsledku do proměnné z.
  12. Tisk výsledku výše uvedené operace na konzole spolu s jiným textem.
  13. Provedení bitové operace ~ (NOT) na proměnných p a q a uložení výsledku do proměnné z.
  14. Tisk výsledku výše uvedené operace na konzole spolu s jiným textem.
  15. Provedení operace posunu vlevo na proměnné p a uložení výsledku do proměnné z.
  16. Tisk výsledku výše uvedené operace na konzole spolu s jiným textem.
  17. Provedení operace posunu doprava na proměnné p a uložení výsledku do proměnné z.
  18. Tisk výsledku výše uvedené operace na konzole spolu s jiným textem.
  19. Funkce main() by měla vrátit hodnotu, pokud program běží správně.
  20. Konec těla funkce main().

Přiřazení Operatorů

Operátoři přiřazení přiřazovat hodnoty proměnným. Operand/proměnná se přidá na levou stranu operátoru, zatímco hodnota se přidá na pravou stranu operátoru. Proměnná a hodnota musí patřit ke stejnému datovému typu, jinak je C++ kompilátor vyvolá chybu.
Například:

x = 5;

Ve výše uvedeném příkladu je x proměnná/operand, = je operátor přiřazení, zatímco 5 je hodnota. Zde jsou oblíbené operátory přiřazení C++:

OperaTor Description
= (jednoduchý operátor přiřazení) Přiřadí hodnotu vpravo proměnné vlevo.
+= (Přidat operátor přiřazení AND) Přidá hodnotu pravého operandu k levému operandu a poté přiřadí výsledek proměnné vlevo.
-= (Operátor přiřazení odečíst AND) Odečte hodnotu pravého operandu od levého operandu a poté přiřadí výsledek proměnné vlevo.
*= (operátor přiřazení násobení AND) Vynásobí hodnotu levého operandu pravým operandem a výsledek pak přiřadí proměnné vlevo.
/= (operátor přiřazení dělení A) Vydělí hodnotu levého operandu pravým operandem a výsledek pak přiřadí proměnné vlevo.

Například:

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

Výstup:

Přiřazení Operatorů

Zde je snímek obrazovky kódu:

Přiřazení Operatorů

Vysvětlení kódu:

  1. Včetně souboru záhlaví iostream v našem kódu. Umožní nám to číst a zapisovat do konzole.
  2. Včetně jmenného prostoru std, aby bylo možné používat jeho třídy a funkce bez jeho volání.
  3. Volání funkce main(), do které má být přidána logika programu.
  4. { označuje začátek těla funkce main().
  5. Deklarujeme celočíselnou proměnnou x a přiřadíme jí hodnotu 5.
  6. Tisk hodnoty proměnné x vedle jiného textu na konzole. \n je znak nového řádku. Při tisku přesune kurzor na další řádek.
  7. Přičtení 5 k hodnotě proměnné x a přiřazení výsledku k proměnné x.
  8. Tisk hodnoty proměnné x na konzole vedle jiného textu.
  9. Odečtení 5 od hodnoty x a přiřazení výsledku k proměnné x.
  10. Tisk hodnoty proměnné x na konzole vedle jiného textu.
  11. Vynásobení hodnoty proměnné x 5 a přiřazení výsledku proměnné x.
  12. Tisk hodnoty proměnné x na konzole vedle jiného textu.
  13. Vydělení hodnoty proměnné x 5 a přiřazení výsledku proměnné x.
  14. Tisk hodnoty proměnné x na konzole vedle jiného textu.
  15. Funkce main() by měla vrátit hodnotu, pokud program běží správně.
  16. Konec těla funkce main().

Ostatní Operatorů

Ostatní Operatorů včetně operátoru sizeof, čárka Operator, Podmíněný Operator, a Operators Přednost.
Pojďme diskutovat o dalších operátorech podporovaných C++:

velikost operátora

Tento operátor určuje velikost proměnné. K určení velikosti datového typu použijte operátor sizeof.

Například:

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

Výstup:

velikost operátora

Zde je snímek obrazovky kódu:

velikost operátora

Vysvětlení kódu:

  1. Včetně souboru záhlaví iostream v našem kódu. Umožní nám to číst a zapisovat do konzole.
  2. Včetně jmenného prostoru std, aby bylo možné používat jeho třídy a funkce bez jeho volání.
  3. Volání funkce main(), do které má být přidána logika programu. { označuje začátek těla funkce main().
  4. Určení velikosti celočíselného datového typu pomocí operátoru sizeof a jeho tisk vedle jiného textu na konzole.
  5. Určení velikosti znakového datového typu pomocí operátoru sizeof a jeho tisk vedle jiného textu na konzole.
  6. Určení velikosti datového typu float pomocí operátoru sizeof a jeho tisk vedle jiného textu na konzole.
  7. Určení velikosti datového typu float pomocí operátoru sizeof a jeho tisk vedle jiného textu na konzole.
  8. Funkce main() by měla vrátit hodnotu, pokud program běží správně.
  9. Konec těla funkce main().

Čárka OperaTor

Jedno operátor čárky (,) spouští provedení sekvence operací. Vyjádří první operand a zahodí výsledek. Dále vyhodnotí druhý operand a vrátí hodnotu a typ.

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

Výstup:

Čárka OperaTor

Zde je snímek obrazovky kódu:

Čárka OperaTor

Vysvětlení kódu:

  1. Včetně souboru záhlaví iostream v našem kódu. Umožní nám to číst a zapisovat do konzole.
  2. Včetně jmenného prostoru std, aby bylo možné používat jeho třídy a funkce bez jeho volání.
  3. Volání funkce main(), do které má být přidána logika programu. { označuje začátek těla funkce main().
  4. Deklarace dvou celočíselných proměnných x a y.
  5. Přiřazení hodnoty proměnné ya 100.
  6. Zvýšení hodnoty y a přiřazení výsledku proměnné x. Začíná s y na 100, pak se zvýší na 101 (y++). Dále je y přidáno k 10. Nakonec y, stále na 101, je přidáno k 99, což dává 200. x je nyní 200.
  7. Tisk hodnoty proměnné x na konzole.
  8. Funkce main() by měla vrátit hodnotu, pokud program běží správně.
  9. Konec těla funkce main().

podmiňovací OperaTor

Tento operátor vyhodnotí stav a na základě výsledku vyhodnocení jedná.

Syntaxe:

Condition ? Expression2 : Expression3;

parametry:

  • Podmínka je podmínka, která má být hodnocena.
  • Výraz1 je výraz, který se má provést, pokud je podmínka pravdivá.
  • Výraz3 je výraz, který se má provést, pokud je podmínka nepravdivá.

Například:

#include <iostream>
using namespace std;
int main() {
	int a = 1, b;
	b = (a < 10) ? 2 : 5;
	cout << "value of b: " << b << endl;
	return 0;
}

Výstup:

podmiňovací OperaTor

Zde je snímek obrazovky kódu:

podmiňovací OperaTor

Vysvětlení kódu:

  1. Včetně souboru záhlaví iostream v našem kódu. Umožní nám to číst a zapisovat do konzole.
  2. Včetně jmenného prostoru std, aby bylo možné používat jeho třídy a funkce bez jeho volání.
  3. Volání funkce main(), do které má být přidána logika programu. { označuje začátek těla funkce main().
  4. Vyhlášení dvou celočíselné proměnné a a b. Proměnné a byla přiřazena hodnota 1.
  5. Přiřazení hodnoty proměnné b. Pokud je proměnná a menší než 10, bude b přiřazena hodnota 2, v opačném případě bude b přiřazena hodnota 5.
  6. Tisk hodnoty proměnné b na konzole vedle jiného textu.
  7. Funkce main() by měla vrátit hodnotu, pokud program běží správně.
  8. Konec těla funkce main().

Operators Přednost

Jedna operace může mít více než jednoho operátora. V takovém případě priorita operátoru určuje ten, který je vyhodnocen jako první.

Následující seznam ukazuje prioritu operátorů v C++, s klesající prioritou zleva doprava:

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

Shrnutí

  • Operatory jsou symboly pro provádění logických a aritmetických operací.
  • Aritmetické operátory nám pomáhají provádět různé aritmetické operace s operandy.
  • Relační operátory nám pomáhají provádět různé porovnávací operace na operandech.
  • Logické operátory nám pomáhají provádět různé logické operace s operandy.
  • Bitové operátory nám pomáhají provádět bitové operace s operandy.
  • Operátory přiřazení nám pomáhají provádět různé aritmetické operace s operandy.
  • Operátor sizeof vrací velikost proměnné nebo datového typu.
  • Operátor čárky provádí sekvenci operací.
  • Podmíněný operátor vyhodnotí podmínku a na základě výsledku jedná.

Shrňte tento příspěvek takto: