C ++ operátory s příklady

Obsah:

Anonim

Co jsou operátoři?

Operátor je symbol používaný k provádění operací s operandy. Operátor obsluhuje operandy. Operace mohou být matematické nebo logické. V C ++ existují různé typy operátorů 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ž kompilátor C ++ narazí na výše uvedený příkaz, přidá xay a uloží výsledek do proměnné a.

V tomto výukovém programu C ++ se naučíte:

  • Co jsou operátoři?
  • Aritmetické operátory
  • Relační operátoři
  • Logičtí operátoři
  • Bitové operátory
  • Operátoři přiřazení
  • Různé operátor
    • sizeof operator
    • Operátor čárky
    • Podmíněný operátor
  • Přednost operátorů

Aritmetické operátory

Jsou to typy operátorů používaných k provádění matematických / aritmetických operací. Obsahují:

Operátor Popis
+ operátor přidání Přidá k operandům.
- operátor odčítání Odečte 2. operand od 1. operandu.
* operátor násobení Násobí 2 operandy.
/ divizní operátor. Dělí čitatele jmenovatelem.
operátor% modulu Vrátí zbytek po rozdělení.
++ operátor přírůstku Zvyšuje celočíselnou hodnotu o 1.
- operátor dekrementace. Snižuje celočíselnou hodnotu o 1.

Například:

#include using namespace std;int main() {int a = 11;int b = 5;int c;cout << "a + b is : << a+b << endl; //11+5cout << "a - b is : << a-b << endl; //11-5cout << "a * b is : << a*b << endl; //11*5cout << "a / b is : << a/b << endl; //11/5cout << "a % b is : << a%b << endl; //11%5cout << "a++ is : << a++ << endl; //11++cout << "a-- is : << a-- << endl; //12--return 0;}

Výstup:

Zde je snímek obrazovky s kódem:

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 konzoly.
  2. Včetně std namespace, aby bylo možné používat jeho třídy a funkce bez jeho volání.
  3. Volání funkce main (), do které by měla být přidána logika programu. {Označuje začátek těla funkce main ().
  4. Deklarace celočíselné proměnné a a její inicializace na 11.
  5. Deklarace celočíselné proměnné b a její inicializace na 5.
  6. Deklarace celočíselné proměnné c.
  7. Tisk hodnoty operace a + b spolu s dalším textem na konzole.
  8. Tisk hodnoty operace ab spolu s dalším textem na konzole.
  9. Hodnota tisku operace a * b spolu s dalším textem na konzole.
  10. Tisk hodnoty operace a / b spolu s dalším textem na konzole.
  11. Hodnota tisku operace a% b spolu s dalším textem na konzole.
  12. Tisk hodnoty operace a ++ spolu s dalším textem na konzole.
  13. Hodnota tisku operace a-- spolu s dalším textem na konzole.
  14. Funkce main () by měla vrátit hodnotu, pokud program běží dobře.
  15. Konec těla funkce main ().

Relační operátoři

Tyto typy operátorů provádějí srovnání na operandech. Například budete možná potřebovat vědět, který operand je větší než ten druhý nebo menší než ten druhý. Obsahují:

Popis

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

Například:

#include 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:

Zde je snímek obrazovky s kódem:

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 konzoly.
  2. Včetně std namespace, aby bylo možné používat jeho třídy a funkce bez jeho volání.
  3. Volání funkce main (), do které by měla být přidána logika programu. {Označuje začátek těla funkce main ().
  4. Deklarace celočíselné proměnné a a její inicializace na 11.
  5. Deklarace celočíselné proměnné b a její inicializace na 5.
  6. Tisk textu na konzole s uvedením hodnot proměnných a a b.
  7. Provádění aritmetické operace, a == b v příkazu if rozhodování, aby bylo možné zjistit, zda je to pravda nebo nepravda. {Označuje začátek těla příkazu if.
  8. Text, který se má vytisknout na konzoli, pokud je operace a == b pravdivá. Endl je klíčové slovo C ++ pro koncový řádek. Stisknutím kurzoru zahájíte tisk na dalším řádku. The} označuje konec těla příkazu if.
  9. Jiná část výše uvedeného příkazu if. Udává, co dělat, pokud je operace a == b nepravdivá.
  10. Text pro tisk na konzoli, pokud je operace a == b nepravdivá. Endl je klíčové slovo C ++ pro koncový řádek. Stisknutím kurzoru zahájíte tisk na dalším řádku. The} označuje konec těla příkazu else.
  11. Provádění aritmetické operace,
  12. Text, který se má vytisknout na konzole, pokud je operace a
  13. Jiná část výše uvedeného příkazu if. Udává, co dělat, pokud je operace a
  14. Text, který se má vytisknout na konzole, pokud je operace a
  15. Provádění aritmetické operace a> b v příkazu if rozhodování, abyste věděli, zda je to pravda nebo nepravda. {Označuje začátek těla příkazu if.
  16. Text, který se má vytisknout na konzoli, pokud je operace a> b pravdivá. Endl je klíčové slovo C ++ pro koncový řádek. Stisknutím kurzoru zahájíte tisk na dalším řádku. } Označuje konec těla příkazu if.
  17. Jiná část výše uvedeného příkazu if. Udává, co dělat, pokud je operace a> b nepravdivá.
  18. Text, který se má tisknout na konzoli, pokud je operace a> b nepravdivá. Endl je klíčové slovo C ++ pro koncový řádek. Stisknutím kurzoru zahájíte tisk na dalším řádku. The} označuje konec těla příkazu else.
  19. Funkce main () by měla vrátit hodnotu, pokud program běží dobře.
  20. Konec těla funkce main ().

Logičtí operátoři

Logické operátory kombinují dvě / více omezení / podmínek. Logické operátory také doplňují hodnocení uvažovaného původního stavu. Obsahují:

Operátor Popis
&& logický operátor AND. Podmínka je pravdivá, pokud oba operandy nejsou nulové.
|| logický operátor OR. Podmínka je pravdivá, pokud je jeden z operandů nenulový.
! logický operátor NOT. Obrátí logický stav operandu. Pokud je operand pravdivý, zobrazí se! operátor je nepravdivý.

Například:

#include 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";elsecout << "AND operation returned false\n";if (a == b || c> d)cout << "a equals to b OR c is greater than d\n";elsecout << "Neither a is equal to b nor c is greater than d\n";if (!b)cout << "b is zero\n";elsecout << "b is not zero";return 0;}

Výstup:

Zde je snímek obrazovky s kódem:

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 konzoly.
  2. Včetně std namespace, aby bylo možné používat jeho třídy a funkce bez jeho volání.
  3. Volání funkce main (), do které by měla 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, caad přiřazení různých hodnot.
  6. Pomocí 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, tedy výsledek if je false.
  7. Text k tisku na konzoli, pokud je výše uvedený příkaz if pravdivý. To nebude provedeno.
  8. Část, která má být provedena, pokud je výše uvedený příkaz if nepravdivý.
  9. Text, který se má vytisknout na konzoli, pokud je příkaz if nepravdivý. Toto bude provedeno.
  10. Pomocí || (OR) operátor v rámci 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, tedy výsledek if je true.
  11. Text k tisku na konzoli, pokud je výše uvedený příkaz if pravdivý. Toto bude provedeno.
  12. Část, která má být provedena, pokud je výše uvedený příkaz if nepravdivý.
  13. Text, který se má vytisknout na konzoli, pokud je příkaz if nepravdivý. To nebude provedeno.
  14. Kontrola, zda je hodnota proměnné 0.
  15. Text k tisku na konzoli, pokud je výše uvedený příkaz if pravdivý. To nebude provedeno.
  16. Část, která má být provedena, pokud je výše uvedený příkaz if nepravdivý.
  17. Text, který se má vytisknout na konzoli, pokud je příkaz if nepravdivý. Toto bude provedeno.
  18. Funkce main () by měla vrátit hodnotu, pokud program běží dobře.
  19. Konec těla funkce main ().

Bitové operátory

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

Operátor Popis
& (bitové AND). Trvá 2 čísla (operandy), poté provede AND na každém bitu dvou čísel. Pokud jsou oba 1, AND vrátí 1, jinak 0.
| (bitové OR) Vezme 2 čísla (operandy) a poté provede OR na každém bitu dvou čísel. Vrátí 1, pokud je jedna z bitů 1.
(bitový XOR) Vezme 2 čísla (operandy) a poté provede XOR na každém bitu 2 čísel. Vrací 1, pokud jsou oba bity odlišné.
<< (posun vlevo) Vezme dvě čísla a pak doleva posune bity prvního operandu. Druhý operand určuje celkový počet míst k posunutí.
>> (pravý posun) Vezme dvě čísla a pak doprava posune bity prvního operandu. Druhý operand určuje počet míst k posunutí.
~ (bitové NOT). Vezme číslo a pak převrátí všechny jeho bity.
#include using namespace std;int main() {unsigned int p = 60; // 60 = 0011 1100unsigned int q = 13; // 13 = 0000 1101int z = 0;z = p & q;cout << "p&q is : " << z << endl; // 12 = 0000 1100z = p | q;cout << "p|q is : " << z << endl; // 61 = 0011 1101z = p q;cout << "p^q is : " << z << endl; // 49 = 0011 0001z = ~p;cout << "~p is : " << z << endl; // -61 = 1100 0011z = p << 2;cout << "p<<2 is: " << z << endl; // 240 = 1111 0000z = p>> 2;cout << "p>>2 is : " << z << endl; // 15 = 0000 1111return 0;}

Výstup:

Zde je snímek obrazovky s kódem:

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 konzoly.
  2. Včetně std namespace, aby bylo možné používat jeho třídy a funkce bez jeho volání.
  3. Volání funkce main (), do které by měla být přidána logika programu. {Označuje začátek těla funkce main ().
  4. Deklarace celočíselných proměnných bez znaménka p a přiřazení hodnoty 60, tj. 0011 1100 v binárním formátu.
  5. Deklarace celočíselných proměnných bez znaménka q a přiřazení hodnoty 13, což je 0000 1101 v binární podobě.
  6. Deklarace celočíselné proměnné z a její inicializace na 0.
  7. Provedení bitové operace & (AND) u proměnných p a q a uložení výsledku do proměnné z.
  8. Tisk výsledku výše uvedené operace na konzolu spolu s dalším textem.
  9. Provádění bitových bitů | (NEBO) 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 konzolu spolu s dalším textem.
  11. Provedení bitové operace (XOR) u proměnných p a q a uložení výsledku do proměnné z.
  12. Tisk výsledku výše uvedené operace na konzolu spolu s dalším textem.
  13. Provedení bitové operace ~ (NE) u proměnných p a q a uložení výsledku do proměnné z.
  14. Tisk výsledku výše uvedené operace na konzolu spolu s dalším textem.
  15. Provedení operace levého posunu na proměnné p a uložení výsledku do proměnné z.
  16. Tisk výsledku výše uvedené operace na konzolu spolu s dalším textem.
  17. Provedení operace správného řazení na proměnné p a uložení výsledku do proměnné z.
  18. Tisk výsledku výše uvedené operace na konzolu spolu s dalším textem.
  19. Funkce main () by měla vrátit hodnotu, pokud program běží dobře.
  20. Konec těla funkce main ().

Operátoři přiřazení

Operátoři přiřazení přiřazují hodnoty proměnným. Operand / proměnná je přidána na levou stranu operátoru, zatímco hodnota je přidána na pravou stranu operátoru. Proměnná a hodnota musí patřit ke stejnému datovému typu, jinak kompilátor C ++ 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. Tady jsou oblíbené operátory přiřazení v C ++:

Operátor Popis
= (jednoduchý operátor přiřazení) Přiřadí hodnotu napravo proměnné vlevo.
+ = (Přidat operátor přiřazení AND) Nejprve přidá hodnotu levého operandu k hodnotě pravého operandu a poté přiřadí výsledek proměnné vlevo.
- = (Odečíst operátor přiřazení) Nejprve odečte hodnotu pravého operandu od hodnoty levého operandu a poté přiřadí výsledek proměnné vlevo.
* = (Operátor přiřazení AND) Nejprve znásobí hodnotu levého operandu s hodnotou pravého operandu a poté přiřadí výsledek proměnné vlevo.
/ = (Operátor rozdělení A přiřazení) Nejprve vydělí hodnotu levého operandu hodnotou pravého operandu a poté přiřadí výsledek proměnné vlevo.

Například:

#include 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:

Zde je snímek obrazovky s kódem:

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 konzoly.
  2. Včetně std namespace, aby bylo možné používat jeho třídy a funkce bez jeho volání.
  3. Volání funkce main (), do které by měla být přidána logika programu.
  4. {Označuje začátek těla funkce main ().
  5. Deklarace celočíselných proměnných x a přiřazení hodnoty 5.
  6. Hodnota tisku proměnné x spolu s dalším textem na konzole. \ N je nový znak řádku. Při tisku přesune kurzor na další řádek.
  7. Přidání 5 k hodnotě proměnné x a přiřazení výsledku proměnné x.
  8. Hodnota tisku proměnné x na konzole spolu s dalším textem.
  9. Odečtení 5 od hodnoty x a přiřazení výsledku proměnné x.
  10. Hodnota tisku proměnné x na konzole spolu s dalším textem.
  11. Násobení hodnoty proměnné x číslem 5 a přiřazení výsledku proměnné x.
  12. Hodnota tisku proměnné x na konzole spolu s dalším textem.
  13. Dělení hodnoty proměnné x 5 a přiřazení výsledku proměnné x.
  14. Hodnota tisku proměnné x na konzole spolu s dalším textem.
  15. Funkce main () by měla vrátit hodnotu, pokud program běží dobře.
  16. Konec těla funkce main ().

Různé operátor

Pojďme diskutovat o dalších operátorech podporovaných C ++:

sizeof operator

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

#include 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:

Zde je snímek obrazovky s kódem:

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 konzoly.
  2. Včetně std namespace, aby bylo možné používat jeho třídy a funkce bez jeho volání.
  3. Volání funkce main (), do které by měla 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 dalšího textu na konzole.
  5. Určení velikosti datového typu znaků pomocí operátoru sizeof a jeho tisk spolu s dalším textem na konzole.
  6. Určení velikosti datového typu float pomocí operátoru sizeof a jeho tisk vedle dalšího textu na konzole.
  7. Určení velikosti datového typu float pomocí operátoru sizeof a jeho tisk vedle dalšího textu na konzole.
  8. Funkce main () by měla vrátit hodnotu, pokud program běží dobře.
  9. Konec těla funkce main ().

Operátor čárky

Operátor čárky (,) spouští výkon posloupnosti operací. Vyjadřuje první operand a zahodí výsledek. Dále vyhodnotí druhý operand a vrátí hodnotu a typ.

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

Výstup:

Zde je snímek obrazovky s kódem:

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 konzoly.
  2. Včetně std namespace, aby bylo možné používat jeho třídy a funkce bez jeho volání.
  3. Volání funkce main (), do které by měla být přidána logika programu. {Označuje začátek těla funkce main ().
  4. Deklarace dvou celočíselných proměnných xay.
  5. Přiřazení hodnoty proměnné ya 100.
  6. Zvyšování hodnoty y a přiřazení výsledku proměnné x. Začíná to na y na 100, pak to zvýší na 101 (y ++). Dále je y přidáno k 10. Nakonec je y, stále na 101, přidáno k 99, což dává 200. x je nyní 200.
  7. Hodnota tisku proměnné x na konzole.
  8. Funkce main () by měla vrátit hodnotu, pokud program běží dobře.
  9. Konec těla funkce main ().

Podmíněný operátor

Tento operátor vyhodnotí stav a bude jednat na základě výsledku hodnocení.

Syntax:

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 using namespace std;int main() {int a = 1, b;b = (a < 10) ? 2 : 5;cout << "value of b: " << b << endl;return 0;}

Výstup:

Zde je snímek obrazovky s kódem:

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 konzoly.
  2. Včetně std namespace, aby bylo možné používat jeho třídy a funkce bez jeho volání.
  3. Volání funkce main (), do které by měla být přidána logika programu. {Označuje začátek těla funkce main ().
  4. Deklarace dvou celočíselných proměnných 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, jinak bude b přiřazena hodnota 5.
  6. Hodnota tisku proměnné b na konzole spolu s dalším textem.
  7. Funkce main () by měla vrátit hodnotu, pokud program běží dobře.
  8. Konec těla funkce main ().

Přednost operátorů

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

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

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

Souhrn:

  • Operátory 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átoři nám pomáhají provádět různé operace porovnání na operandech.
  • Logické operátory nám pomáhají provádět různé logické operace na operandech.
  • Bitové operátory nám pomáhají provádět bitové operace s operandy.
  • Operátoři 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 provede sekvenci operací.
  • Podmíněný operátor vyhodnotí podmínku a bude jednat na základě výsledku.