Operátory C ++ s príkladmi

Obsah:

Anonim

Čo sú to operátori?

Operátor je symbol používaný na vykonávanie operácií s operandmi. Operátor operuje operandy. Operácie môžu byť matematické alebo logické. V C ++ existujú rôzne typy operátorov na vykonávanie rôznych operácií.

Zvážte nasledujúcu operáciu:

a = x + y;

Vo vyššie uvedenom výroku sú x a y operandy, zatiaľ čo + je operátor sčítania. Keď kompilátor C ++ narazí na vyššie uvedené vyhlásenie, pridá xay a výsledok uloží do premennej a.

V tomto výučbe pre C ++ sa naučíte:

  • Čo sú to operátori?
  • Aritmetické operátory
  • Relační operátori
  • Logickí operátori
  • Bitoví operátori
  • Prevádzkovatelia pridelenia
  • Rôzny operátor
    • sizeof operator
    • Operátor čiarky
    • Podmienený operátor
  • Prednosť operátorov

Aritmetické operátory

Sú to typy operátorov používaných na vykonávanie matematických / aritmetických operácií. Zahŕňajú:

Prevádzkovateľ Popis
+ operátor sčítania Pridáva sa k operandom.
- operátor odčítania Odpočíta 2. operand od 1. operandu.
* operátor násobenia Vynásobí 2 operandy.
operátor divízie. Rozdelí čitateľa na menovateľa.
operátor% modulu Vráti zvyšok po rozdelení.
++ operátor prírastku Zvyšuje celočíselnú hodnotu o 1.
- operátor dekrementácie. Zníži celočíselnú hodnotu o 1.

Naprí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ýkon:

Tu je snímka obrazovky s kódom:

Vysvetlenie kódu:

  1. Vrátane súboru hlavičiek iostream v našom kóde. Umožní nám to čítať z konzoly a zapisovať do nej.
  2. Vrátane štandardného menného priestoru, aby bolo možné používať jeho triedy a funkcie bez jeho volania.
  3. Volanie funkcie main (), do ktorej by mala byť pridaná logika programu. Značka {označuje začiatok tela funkcie main ().
  4. Deklarovanie celočíselnej premennej a a jej inicializácia na 11.
  5. Deklarovanie celočíselnej premennej b a jej inicializácia na 5.
  6. Deklarovanie celočíselnej premennej c.
  7. Hodnota tlače operácie a + b spolu s ďalším textom na konzole.
  8. Hodnota tlače operácie ab spolu s ďalším textom na konzole.
  9. Hodnota tlače operácie a * b spolu s ďalším textom na konzole.
  10. Hodnota tlače operácie a / b spolu s ďalším textom na konzole.
  11. Hodnota tlače operácie a% b spolu s ďalším textom na konzole.
  12. Hodnota tlače operácie a ++ spolu s ďalším textom na konzole.
  13. Hodnota tlače operácie a-- spolu s ďalším textom na konzole.
  14. Funkcia main () by mala vrátiť hodnotu, ak program funguje dobre.
  15. Koniec tela hlavnej () funkcie.

Relační operátori

Tieto typy operátorov vykonávajú porovnanie na operandoch. Možno budete napríklad potrebovať vedieť, ktorý operand je väčší ako druhý alebo menší ako druhý. Zahŕňajú:

Popis

Prevádzkovateľ Popis
== rovná sa operátorovi. Kontroluje rovnosť dvoch hodnôt operandov.
! = nerovná sa operátorovi Kontroluje rovnosť dvoch hodnôt operandov.
> skvelý ako operátor Skontroluje, či je hodnota ľavého operandu väčšia ako hodnota pravého operandu.
Skontroluje, či je hodnota ľavého operandu menšia ako hodnota pravého operandu.
> = väčší alebo rovný operátoru Skontroluje, či je hodnota ľavého operandu väčšia alebo rovná hodnote pravého operandu.
<= menšie alebo rovnaké ako operátor. Skontroluje, či je hodnota ľavého operandu menšia alebo rovná hodnote pravého operandu.

Naprí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ýkon:

Tu je snímka obrazovky s kódom:

Vysvetlenie kódu:

  1. Vrátane súboru hlavičiek iostream v našom kóde. Umožní nám to čítať z konzoly a zapisovať do nej.
  2. Vrátane štandardného menného priestoru, aby bolo možné používať jeho triedy a funkcie bez jeho volania.
  3. Volanie funkcie main (), do ktorej by mala byť pridaná logika programu. Značka {označuje začiatok tela funkcie main ().
  4. Deklarovanie celočíselnej premennej a a jej inicializácia na 11.
  5. Deklarovanie celočíselnej premennej b a jej inicializácia na 5.
  6. Tlač nejakého textu na konzolu s uvedením hodnôt premenných a a b.
  7. Vykonaním aritmetickej operácie a == b v rozhodovacom výroku if, aby sme vedeli, či je to pravda alebo nepravda. {Označuje začiatok tela príkazu if.
  8. Text, ktorý sa má vytlačiť na konzolu, ak je operácia a == b pravdivá. Endl je kľúčové slovo C ++ pre koncový riadok. Stlačením kurzora sa spustí tlač v ďalšom riadku. Znak} označuje koniec tela príkazu if.
  9. Iná časť vyššie uvedeného vyhlásenia if. Stanovuje, čo má robiť, ak je operácia a == b nepravdivá.
  10. Text, ktorý sa má vytlačiť na konzolu, ak je operácia a == b nepravdivá. Endl je kľúčové slovo C ++ pre koncový riadok. Stlačením kurzora sa spustí tlač v ďalšom riadku. } Označuje koniec tela výrazu else.
  11. Vykonaním aritmetickej operácie a
  12. Text, ktorý sa má vytlačiť na konzolu, ak je operácia a
  13. Iná časť vyššie uvedeného vyhlásenia if. Stanovuje, čo má robiť, ak je operácia a
  14. Text, ktorý sa má vytlačiť na konzolu, ak je operácia a
  15. Vykonanie aritmetickej operácie a> b v rozhodovacom výroku if, aby sa zistilo, či je to pravda alebo nepravda. {Označuje začiatok tela príkazu if.
  16. Text, ktorý sa má vytlačiť na konzolu, ak je operácia a> b pravdivá. Endl je kľúčové slovo C ++ pre koncový riadok. Stlačením kurzora sa spustí tlač v ďalšom riadku. Znak} označuje koniec tela príkazu if.
  17. Iná časť vyššie uvedeného vyhlásenia if. Stanovuje, čo má robiť, ak je operácia a> b nepravdivá.
  18. Text, ktorý sa má vytlačiť na konzolu, ak je operácia a> b nepravdivá. Endl je kľúčové slovo C ++ pre koncový riadok. Stlačením kurzora sa spustí tlač v ďalšom riadku. } Označuje koniec tela výrazu else.
  19. Funkcia main () by mala vrátiť hodnotu, ak program funguje dobre.
  20. Koniec tela hlavnej () funkcie.

Logickí operátori

Logické operátory kombinujú dve / viac obmedzení / podmienok. Logické operátory tiež dopĺňajú hodnotenie pôvodného stavu, ktorý sa zvažuje. Zahŕňajú:

Prevádzkovateľ Popis
&& logický operátor AND. Podmienka je pravdivá, ak obidva operandy nie sú nulové.
|| logický operátor OR. Podmienka je splnená, ak je jeden z operandov nenulový.
! logický operátor NIE. Obracia logický stav operandu. Ak je operand pravdivý, znak! operátor to robí nepravdivým.

Naprí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ýkon:

Tu je snímka obrazovky s kódom:

Vysvetlenie kódu:

  1. Vrátane súboru hlavičiek iostream v našom kóde. Umožní nám to čítať z konzoly a zapisovať do nej.
  2. Vrátane štandardného menného priestoru, aby bolo možné používať jeho triedy a funkcie bez jeho volania.
  3. Volanie funkcie main (), do ktorej by mala byť pridaná logika programu.
  4. Značka {označuje začiatok tela funkcie main ().
  5. Deklarovanie 4 celočíselných premenných a, b, caad priraďovanie im rôznych hodnôt.
  6. Pomocou operátora && (AND) vo vnútri príkazu if. Spája dve podmienky, hodnota a sa rovná hodnote b a hodnota a je väčšia ako hodnota b. Prvá podmienka je nepravdivá, druhá podmienka je pravdivá. False && true je False, preto je výsledok if nepravdivý.
  7. Text, ktorý sa má vytlačiť na konzolu, ak je tvrdenie if uvedené vyššie. Toto sa nevykoná.
  8. Časť, ktorá sa má vykonať, ak je tvrdenie if uvedené nepravdivé.
  9. Text, ktorý sa má vytlačiť na konzolu, ak je príkaz if nepravdivý. Toto sa vykoná.
  10. Pomocou || (OR) operátor v rámci príkazu if. Spája dve podmienky, hodnota a sa rovná hodnote b a hodnota a je väčšia ako hodnota b. Prvá podmienka je nepravdivá, druhá podmienka je pravdivá. False || true je True, teda výsledok if je true.
  11. Text, ktorý sa má vytlačiť na konzolu, ak je tvrdenie if uvedené vyššie. Toto sa vykoná.
  12. Časť, ktorá sa má vykonať, ak je tvrdenie if uvedené nepravdivé.
  13. Text, ktorý sa má vytlačiť na konzolu, ak je príkaz if nepravdivý. Toto sa nevykoná.
  14. Kontrola, či je hodnota premennej 0.
  15. Text, ktorý sa má vytlačiť na konzolu, ak je tvrdenie if uvedené vyššie. Toto sa nevykoná.
  16. Časť, ktorá sa má vykonať, ak je tvrdenie if uvedené nepravdivé.
  17. Text, ktorý sa má vytlačiť na konzolu, ak je príkaz if nepravdivý. Toto sa vykoná.
  18. Funkcia main () by mala vrátiť hodnotu, ak program funguje dobre.
  19. Koniec tela hlavnej () funkcie.

Bitoví operátori

Bitové operátory vykonávajú na operandoch operácie na bitovej úrovni. Najskôr sa operátory prevedú na bitovú úroveň, potom sa na operandoch vykonajú operácie. Keď sa aritmetické operácie ako sčítanie a odčítanie vykonávajú na bitovej úrovni, výsledky možno dosiahnuť rýchlejšie. Zahŕňajú:

Prevádzkovateľ Popis
& (bitové AND). Trvá to 2 čísla (operandy), potom sa vykoná operácia AND na každom bite dvoch čísel. Ak sú oba 1, AND vráti 1, inak 0.
| (bitové ALEBO) Vezme 2 čísla (operandy), potom vykoná ALEBO na každom bite dvoch čísel. Vráti 1, ak je jedna z bitov 1.
(bitový XOR) Vezme 2 čísla (operandy) a potom vykoná XOR na každom bite 2 čísel. Vráti 1, ak sú obidve bity odlišné.
<< (posun vľavo) Vezme dve čísla a potom doľava posunie bity prvého operandu. Druhý operand určuje celkový počet miest na posunutie.
>> (pravý posun) Zoberie dve čísla a potom doprava posunie bity prvého operandu. Druhý operand určuje počet miest na posunutie.
~ (bitové NIE). Berie číslo a potom invertuje všetky svoje 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ýkon:

Tu je snímka obrazovky s kódom:

Vysvetlenie kódu:

  1. Vrátane súboru hlavičiek iostream v našom kóde. Umožní nám to čítať z konzoly a zapisovať do nej.
  2. Vrátane štandardného menného priestoru, aby bolo možné používať jeho triedy a funkcie bez jeho volania.
  3. Volanie funkcie main (), do ktorej by mala byť pridaná logika programu. Značka {označuje začiatok tela funkcie main ().
  4. Deklarovanie celočíselných premenných p bez znamienka p a priradenie hodnoty 60, čo je v binárnom vyjadrení 0011 1100.
  5. Deklarovanie celočíselných premenných q bez znamienka q a priradenie hodnoty 13, čo je v binárnom vyjadrení 0000 1101.
  6. Deklarovanie celočíselnej premennej z a jej inicializácia na 0.
  7. Vykonanie bitovej operácie & (AND) na premenných p a q a uloženie výsledku do premennej z.
  8. Výsledok vyššie uvedenej operácie sa vytlačí na konzolu spolu s ďalším textom.
  9. Vykonanie bitového toku | (OR) operácia s premennými p a q a uloženie výsledku do premennej z.
  10. Výsledok vyššie uvedenej operácie sa vytlačí na konzolu spolu s ďalším textom.
  11. Vykonanie bitovej operácie (XOR) na premenných p a q a uloženie výsledku do premennej z.
  12. Výsledok vyššie uvedenej operácie sa vytlačí na konzolu spolu s ďalším textom.
  13. Vykonanie bitovej operácie ~ (NOT) na premenných p a q a uloženie výsledku do premennej z.
  14. Výsledok vyššie uvedenej operácie sa vytlačí na konzolu spolu s ďalším textom.
  15. Vykonanie operácie ľavého posunu v premennej p a uloženie výsledku do premennej z.
  16. Výsledok vyššie uvedenej operácie sa vytlačí na konzolu spolu s ďalším textom.
  17. Vykonanie operácie pravého posunu v premennej p a uloženie výsledku do premennej z.
  18. Výsledok vyššie uvedenej operácie sa vytlačí na konzolu spolu s ďalším textom.
  19. Funkcia main () by mala vrátiť hodnotu, ak program funguje dobre.
  20. Koniec tela hlavnej () funkcie.

Prevádzkovatelia pridelenia

Operátori priradenia priraďujú hodnoty premenným. Operand / premenná sa pridá na ľavú stranu operátora, zatiaľ čo hodnota sa pridá na pravú stranu operátora. Premenná a hodnota musia patriť do rovnakého dátového typu, inak kompilátor C ++ spôsobí chybu. Napríklad:

x = 5;

Vo vyššie uvedenom príklade je x premenná / operand, = je operátor priradenia, zatiaľ čo 5 je hodnota. Tu sú populárne operátory priradenia v C ++:

Prevádzkovateľ Popis
= (operátor jednoduchého priradenia) Priradí hodnotu napravo premennej vľavo.
+ = (Pridať operátor priradenia A) Najskôr pridá hodnotu ľavého operandu k hodnote pravého operandu a potom priradí výsledok premennej vľavo.
- = (operátor odpočítania a priradenia) Najskôr odčíta hodnotu pravého operandu od hodnoty ľavého operandu a potom priradí výsledok premennej vľavo.
* = (Operátor priradenia A) Najskôr znásobí hodnotu ľavého operandu s hodnotou pravého operandu a potom priradí výsledok premennej vľavo.
/ = (Operátor rozdelenia A priradenia) Najskôr rozdelí hodnotu ľavého operandu na hodnotu pravého operandu a potom priradí výsledok premennej vľavo.

Naprí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ýkon:

Tu je snímka obrazovky s kódom:

Vysvetlenie kódu:

  1. Vrátane súboru hlavičiek iostream v našom kóde. Umožní nám to čítať z konzoly a zapisovať do nej.
  2. Vrátane štandardného menného priestoru, aby bolo možné používať jeho triedy a funkcie bez jeho volania.
  3. Volanie funkcie main (), do ktorej by mala byť pridaná logika programu.
  4. Značka {označuje začiatok tela funkcie main ().
  5. Deklarovanie celočíselných premenných x a ich priradenie k hodnote 5.
  6. Hodnota tlače premennej x spolu s ďalším textom na konzole. \ N je nový riadok. Pri tlači posúva kurzor na ďalší riadok.
  7. Sčítanie 5 k hodnote premennej x a priradenie výsledku k premennej x.
  8. Hodnota tlače premennej x na konzole spolu s ďalším textom.
  9. Odčítaním 5 od hodnoty x a priradením výsledku k premennej x.
  10. Hodnota tlače premennej x na konzole spolu s ďalším textom.
  11. Násobenie hodnoty premennej x číslom 5 a priradenie výsledku premennej x.
  12. Hodnota tlače premennej x na konzole spolu s ďalším textom.
  13. Rozdelenie hodnoty premennej x na 5 a priradenie výsledku premennej x.
  14. Hodnota tlače premennej x na konzole spolu s ďalším textom.
  15. Funkcia main () by mala vrátiť hodnotu, ak program funguje dobre.
  16. Koniec tela hlavnej () funkcie.

Rôzny operátor

Poďme diskutovať o ďalších operátoroch podporovaných v C ++:

sizeof operator

Tento operátor určuje veľkosť premennej. Na určenie veľkosti dátového typu použite operátor sizeof. Naprí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ýkon:

Tu je snímka obrazovky s kódom:

Vysvetlenie kódu:

  1. Vrátane súboru hlavičiek iostream v našom kóde. Umožní nám to čítať z konzoly a zapisovať do nej.
  2. Vrátane štandardného menného priestoru, aby bolo možné používať jeho triedy a funkcie bez jeho volania.
  3. Volanie funkcie main (), do ktorej by mala byť pridaná logika programu. Značka {označuje začiatok tela funkcie main ().
  4. Určenie veľkosti celočíselného dátového typu pomocou operátora sizeof a jeho vytlačenie spolu s ďalším textom na konzole.
  5. Určenie veľkosti dátového typu znaku pomocou operátora sizeof a jeho vytlačenie spolu s ďalším textom na konzole.
  6. Určenie veľkosti dátového typu float pomocou operátora sizeof a jeho vytlačenie spolu s ďalším textom na konzole.
  7. Určenie veľkosti dátového typu float pomocou operátora sizeof a jeho vytlačenie spolu s ďalším textom na konzole.
  8. Funkcia main () by mala vrátiť hodnotu, ak program funguje dobre.
  9. Koniec tela hlavnej () funkcie.

Operátor čiarky

Operátor čiarky (,) spúšťa vykonávanie postupnosti operácií. Vyjadruje prvý operand a zahodí výsledok. Ďalej vyhodnotí druhý operand a vráti 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ýkon:

Tu je snímka obrazovky s kódom:

Vysvetlenie kódu:

  1. Vrátane súboru hlavičiek iostream v našom kóde. Umožní nám to čítať z konzoly a zapisovať do nej.
  2. Vrátane štandardného menného priestoru, aby bolo možné používať jeho triedy a funkcie bez jeho volania.
  3. Volanie funkcie main (), do ktorej by mala byť pridaná logika programu. Značka {označuje začiatok tela funkcie main ().
  4. Deklarovanie dvoch celočíselných premenných x a y.
  5. Priradenie premennej ya hodnoty 100.
  6. Zvyšovanie hodnoty y a priradenie výsledku k premennej x. Začína sa na y na 100, potom sa zvyšuje na 101 (y ++). Ďalej je y pridané k 10. Nakoniec je y, stále na 101, pridané k 99, čím je 200. x je teraz 200.
  7. Hodnota tlače premennej x na konzole.
  8. Funkcia main () by mala vrátiť hodnotu, ak program funguje dobre.
  9. Koniec tela hlavnej () funkcie.

Podmienený operátor

Tento operátor vyhodnotí stav a bude konať na základe výsledku hodnotenia.

Syntax:

Condition ? Expression2 : Expression3;

Parametre:

  • Podmienka je podmienka, ktorá sa má vyhodnotiť.
  • Výraz1 je výraz, ktorý sa má vykonať, ak je podmienka pravdivá.
  • Výraz3 je výraz, ktorý sa má vykonať, ak je podmienka nepravdivá.

Naprí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ýkon:

Tu je snímka obrazovky s kódom:

Vysvetlenie kódu:

  1. Vrátane súboru hlavičiek iostream v našom kóde. Umožní nám to čítať z konzoly a zapisovať do nej.
  2. Vrátane štandardného menného priestoru, aby bolo možné používať jeho triedy a funkcie bez jeho volania.
  3. Volanie funkcie main (), do ktorej by mala byť pridaná logika programu. Značka {označuje začiatok tela funkcie main ().
  4. Deklarovanie dvoch celočíselných premenných a a b. Premennej a bola priradená hodnota 1.
  5. Priradenie hodnoty premennej b. Ak je premenná a menšia ako 10, bude b priradená hodnota 2, inak bude b priradená hodnota 5.
  6. Hodnota tlače premennej b na konzole spolu s iným textom.
  7. Funkcia main () by mala vrátiť hodnotu, ak program funguje dobre.
  8. Koniec tela hlavnej () funkcie.

Prednosť operátorov

Jedna operácia môže mať viac ako jedného operátora. V takom prípade prednosť operátora určuje ten, ktorý sa vyhodnotí ako prvý.

Nasledujúci zoznam zobrazuje prioritu operátorov v jazyku C ++ s klesajúcou prioritou zľava doprava:

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

Zhrnutie:

  • Operátory sú symboly na vykonávanie logických a aritmetických operácií.
  • Aritmetické operátory nám pomáhajú vykonávať rôzne aritmetické operácie na operandoch.
  • Relačné operátory nám pomáhajú vykonávať rôzne operácie porovnania operandov.
  • Logické operátory nám pomáhajú vykonávať rôzne logické operácie na operandoch.
  • Bitové operátory nám pomáhajú vykonávať bitové operácie na operandoch.
  • Operátory priradenia nám pomáhajú vykonávať rôzne aritmetické operácie na operandoch.
  • Operátor sizeof vráti veľkosť premennej alebo dátového typu.
  • Operátor čiarky vykoná postupnosť operácií.
  • Podmienený operátor vyhodnotí stav a koná na základe výsledku.