C ++ operaatorid koos näidetega

Lang L: none (table-of-contents):

Anonim

Mis on operaatorid?

Operaator on sümbol, mida kasutatakse operandidel toimingute tegemiseks. Operaator opereerib operande. Toimingud võivad olla matemaatilised või loogilised. Erinevate toimingute tegemiseks on C ++ -s erinevat tüüpi operaatorid.

Mõelge järgmisele toimingule:

a = x + y;

Ülaltoodud avalduses on x ja y operandid, samal ajal kui + on liitmisoperaator. Kui C ++ kompilaator kohtab ülaltoodud lauset, lisab see x ja y ning salvestab tulemuse muutujasse a.

Selles C ++ õpetuses saate teada:

  • Mis on operaatorid?
  • Aritmeetikaoperaatorid
  • Suheteoperaatorid
  • Loogilised operaatorid
  • Bitipõhised operaatorid
  • Ülesandeoperaatorid
  • Muu operaator
    • operaatori suurus
    • Komaoperaator
    • Tingimuslik operaator
  • Operaatorite ülimuslikkus

Aritmeetikaoperaatorid

Need on operaatoritüübid, mida kasutatakse matemaatiliste / aritmeetiliste toimingute tegemiseks. Nad sisaldavad:

Operaator Kirjeldus
+ liitmisoperaator Lisab operandidesse.
- lahutamise operaator Lahutab 2 nd operandi 1 silmus operandi.
* korrutamise operaator Korrutab 2 operandi.
/ divisjoni operaator. Jagab lugeja nimetaja järgi.
% moodulioperaator Tagastab pärast jagamist ülejäänud osa.
++ juurdekasvuoperaator Suurendab täisarvu 1 võrra.
- kahanemisoperaator. Vähendab täisarvu 1 võrra.

Näiteks:

#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äljund:

Siin on ekraanipilt koodist:

Koodi selgitus:

  1. Iostreami päisefaili kaasamine meie koodi. See võimaldab meil konsoolist lugeda ja sinna kirjutada.
  2. Kaasa arvatud standardne nimeruum, et kasutada selle klasse ja funktsioone seda kutsumata.
  3. Funktsiooni main () kutsumine, mille sisse tuleks lisada programmi loogika. {Tähistab põhifunktsiooni () keha algust.
  4. Deklareeritakse täisarvu muutuja a ja lähtestatakse see väärtuseks 11.
  5. Deklareeritakse täisarvu muutuja b ja lähtestatakse see väärtuseks 5.
  6. Täisarvu muutuja d deklareerimine.
  7. Operatsiooni a + b väärtuse printimine konsooli muu teksti kõrvale.
  8. Operatsiooni ab väärtuse printimine konsooli muu teksti kõrvale.
  9. Operatsiooni a * b väärtuse printimine konsooli muu teksti kõrvale.
  10. Operatsiooni a / b väärtuse printimine konsooli muu teksti kõrvale.
  11. Operatsiooni a% b väärtuse printimine konsooli muu teksti kõrvale.
  12. Operatsiooni a ++ väärtuse printimine konsooli muu teksti kõrvale.
  13. Operatsiooni a väärtuse printimine konsooli muu teksti kõrvale.
  14. Funktsioon main () peaks tagastama väärtuse, kui programm töötab hästi.
  15. Põhifunktsiooni () keha lõpp.

Suheteoperaatorid

Seda tüüpi operaatorid teostavad operandide võrdlusi. Näiteks peate võib-olla teadma, milline operand on teisest suurem või väiksem kui teine. Nad sisaldavad:

Kirjeldus

Operaator Kirjeldus
== võrdne operaatoriga. Kontrollib kahe operandi väärtuse võrdsust.
! = pole võrdne operaatoriga Kontrollib kahe operandi väärtuse võrdsust.
> suurepärane kui operaator Kontrollib, kas vasaku operandi väärtus on parem operandi väärtus suurem.
Kontrollib, kas vasakpoolse operandi väärtus on väiksem kui parempoolse operandi väärtus.
> = operaatorist suurem või sellega võrdne Kontrollib, kas vasaku operandi väärtus on parem operandi väärtusega võrdne või sellega võrdne.
<= väiksem või võrdne operaatoriga. Kontrollib, kas vasakpoolse operandi väärtus on väiksem või võrdne parema operandi väärtusega.

Näiteks:

#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äljund:

Siin on ekraanipilt koodist:

Koodi selgitus:

  1. Iostreami päisefaili kaasamine meie koodi. See võimaldab meil konsoolist lugeda ja sinna kirjutada.
  2. Kaasa arvatud standardne nimeruum, et kasutada selle klasse ja funktsioone seda kutsumata.
  3. Funktsiooni main () kutsumine, mille sisse tuleks lisada programmi loogika. {Tähistab põhifunktsiooni () keha algust.
  4. Deklareeritakse täisarvu muutuja a ja lähtestatakse see väärtuseks 11.
  5. Deklareeritakse täisarvu muutuja b ja lähtestatakse see väärtuseks 5.
  6. Konsoolile teksti printimine, märkides muutujate a ja b väärtused.
  7. Aritmeetilise toimingu sooritamisel a == b if otsuste tegemise avalduses, et teada saada, kas see on tõene või vale. {Tähistab if-lause keha algust.
  8. Konsoolile printimiseks tekst, kui toiming a == b on tõene. Endl on lõpurea C ++ märksõna. See lükkab kursori järgmisel real printimist alustama. } Tähistab if-lause sisu lõppu.
  9. Eeltoodud if-lause teine ​​osa. Seal on öeldud, mida teha, kui operatsioon a == b on vale.
  10. Konsoolile printimiseks tekst, kui toiming a == b on vale. Endl on lõpurea C ++ märksõna. See lükkab kursori järgmisel real printimist alustama. } Tähistab lause lause muu osa lõppu.
  11. Tehes aritmeetilist toimingut, a
  12. Konsoolile printimiseks tekst, kui toiming a
  13. Eeltoodud if-lause teine ​​osa. See ütleb, mida teha, kui operatsioon a
  14. Konsoolile printimiseks tekst, kui toiming a
  15. Aritmeetilise toimingu a> b sooritamine if otsuste tegemise avalduses, et teada saada, kas see on tõene või väär. {Tähistab if-lause keha algust.
  16. Konsoolile printimiseks tekst, kui toiming a> b on tõene. Endl on lõpurea C ++ märksõna. See lükkab kursori järgmisel real printimist alustama. } Tähistab if-lause sisu lõppu.
  17. Eeltoodud if-lause teine ​​osa. See ütleb, mida teha, kui operatsioon a> b on vale.
  18. Konsoolile printimiseks tekst, kui toiming a> b on vale. Endl on lõpurea C ++ märksõna. See lükkab kursori järgmisel real printimist alustama. } Tähistab lause lause muu osa lõppu.
  19. Funktsioon main () peaks tagastama väärtuse, kui programm töötab hästi.
  20. Põhifunktsiooni () keha lõpp.

Loogilised operaatorid

Loogilised operaatorid ühendavad kaks / enam piirangut / tingimust. Loogilised operaatorid täiendavad ka vaadeldava algse seisundi hindamist. Nad sisaldavad:

Operaator Kirjeldus
&& loogiline JA operaator. Tingimus on tõene, kui mõlemad operandid pole nullid.
|| loogiline VÕI operaator. Tingimus on tõene, kui üks operandidest on nullist erinev.
! loogiline EI operaator. See muudab operandi loogilise oleku ümber. Kui operand on tõene, siis! operaator teeb selle valeks.

Näiteks:

#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äljund:

Siin on ekraanipilt koodist:

Koodi selgitus:

  1. Iostreami päisefaili kaasamine meie koodi. See võimaldab meil konsoolist lugeda ja sinna kirjutada.
  2. Kaasa arvatud standardne nimeruum, et kasutada selle klasse ja funktsioone seda kutsumata.
  3. Funktsiooni main () kutsumine, mille sisse tuleks lisada programmi loogika.
  4. {Tähistab põhifunktsiooni () keha algust.
  5. 4 täisarvu muutuja a, b, c ja d deklareerimine ja neile erinevate väärtuste määramine.
  6. Operatsiooni && (AND) kasutamine if-lause sees. See ühendab kaks tingimust, mille b väärtus on võrdne b väärtusega, ja a väärtus on suurem kui b väärtus. Esimene tingimus on vale, teine ​​tingimus on tõene. Vale && tõene on Vale, seega on if vale tulemus.
  7. Konsoolile printimiseks tekst, kui ülaltoodu vastab tõele. Seda ei täideta.
  8. Osa, mis täidetakse, kui ülaltoodud väide on vale.
  9. Konsoolile printimiseks tekst, kui if-lause on vale. See täidetakse.
  10. Kasutades || (OR) operaator if-lauses. See ühendab kaks tingimust, mille b väärtus on võrdne b väärtusega, ja a väärtus on suurem kui b väärtus. Esimene tingimus on vale, teine ​​tingimus on tõene. Vale || tõene on tõene, seega on if-i tulemus tõene.
  11. Konsoolile printimiseks tekst, kui ülaltoodu vastab tõele. See täidetakse.
  12. Osa, mis täidetakse, kui ülaltoodud väide on vale.
  13. Konsoolile printimiseks tekst, kui if-lause on vale. Seda ei täideta.
  14. Kontrollitakse, kas muutuja väärtus on 0.
  15. Konsoolile printimiseks tekst, kui ülaltoodu vastab tõele. Seda ei täideta.
  16. Osa, mis täidetakse, kui ülaltoodud väide on vale.
  17. Konsoolile printimiseks tekst, kui if-lause on vale. See täidetakse.
  18. Funktsioon main () peaks tagastama väärtuse, kui programm töötab hästi.
  19. Põhifunktsiooni () keha lõpp.

Bitipõhised operaatorid

Bitipõhised operaatorid teostavad operandidel bititaseme toiminguid. Esiteks teisendatakse operaatorid bititasemele, seejärel tehakse operandid operandidega. Kui aritmeetilised toimingud nagu liitmine ja lahutamine tehakse bittitasemel, saab tulemusi saavutada kiiremini. Nad sisaldavad:

Operaator Kirjeldus
& (biti kaupa JA). See võtab 2 numbrit (operandi), seejärel täidab JA kahe numbri igale bitile. Kui mõlemad on 1, tagastab AND 1, vastasel juhul 0.
| (bitipidi VÕI) Võtab 2 numbrit (operandi) ja sooritab VÕI kahe numbri igale bitile. See tagastab 1, kui üks bittidest on 1.
(bitipõhine XOR) Võtab 2 numbrit (operandi) ja seejärel täidab XOR iga 2 numbri bitiga. See tagastab 1, kui mõlemad bitid on erinevad.
<< (vasakpoolne nihe) Võtab kaks arvu ja vasakule nihutab esimese operandi bitte. Teine operand määrab vahetatavate kohtade koguarvu.
>> (parem nihe) Võtab kaks numbrit ja nihutab seejärel esimese operandi bitte paremale. Teine operand määrab vahetatavate kohtade arvu.
~ (bitipidi EI). Numbri pöörab siis kõik oma bitid ümber.
#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äljund:

Siin on ekraanipilt koodist:

Koodi selgitus:

  1. Iostreami päisefaili kaasamine meie koodi. See võimaldab meil konsoolist lugeda ja sinna kirjutada.
  2. Kaasa arvatud standardne nimeruum, et kasutada selle klasse ja funktsioone seda kutsumata.
  3. Funktsiooni main () kutsumine, mille sisse tuleks lisada programmi loogika. {Tähistab põhifunktsiooni () keha algust.
  4. Allkirjastamata täisarvu muutujate p deklareerimine ja väärtuseks 60 määramine, see on binaararvus 0011 1100.
  5. Allkirjastamata täisarvu muutujate q deklareerimine ja määramine sellele väärtuseks 13, mis on binaarses väärtuses 0000 1101.
  6. Deklareeritakse täisarvu muutuja z ja lähtestatakse see väärtuseks 0.
  7. Muutujate p ja q bitipõhine ja (JA) toiming ning tulemuse salvestamine muutujasse z.
  8. Ülaltoodud toimingu tulemuse printimine konsoolile koos muu tekstiga.
  9. Täitmine bitipidi | (OR) operatsioon muutujatega p ja q ning tulemuse salvestamine muutujasse z.
  10. Ülaltoodud toimingu tulemuse printimine konsoolile koos muu tekstiga.
  11. Tehakse muutujate p ja q bittide kaupa (XOR) toiming ja salvestatakse tulemus muutujasse z.
  12. Ülaltoodud toimingu tulemuse printimine konsoolile koos muu tekstiga.
  13. Tehakse muutujate p ja q bitipõhine ~ (NOT) toiming ja salvestatakse tulemus muutujasse z.
  14. Ülaltoodud toimingu tulemuse printimine konsoolile koos muu tekstiga.
  15. Vasaku nihke toimingu tegemine muutujaga p ja tulemuse salvestamine muutujasse z.
  16. Ülaltoodud toimingu tulemuse printimine konsoolile koos muu tekstiga.
  17. Parempoolse nihkeoperatsiooni sooritamine muutujaga p ja tulemuse salvestamine muutujasse z.
  18. Ülaltoodud toimingu tulemuse printimine konsoolile koos muu tekstiga.
  19. Funktsioon main () peaks tagastama väärtuse, kui programm töötab hästi.
  20. Põhifunktsiooni () keha lõpp.

Ülesandeoperaatorid

Määramise operaatorid määravad muutujatele väärtused. Operand / muutuja lisatakse operaatori vasakule küljele, samal ajal kui väärtus lisatakse operaatori paremale küljele. Muutuja ja väärtus peavad kuuluma samasse andmetüüpi, vastasel juhul tekitab C ++ kompilaator vea. Näiteks:

x = 5;

Ülaltoodud näites on x muutuja / operand, = on omistamise operaator, samas kui 5 on väärtus. Siin on C ++ keeles populaarsed määranguoperaatorid:

Operaator Kirjeldus
= (lihtne määranguoperaator) See määrab väärtuse paremal vasakpoolsele muutujale.
+ = (Lisa JA määrangu operaator) Kõigepealt lisab see vasaku operandi väärtuse parema operandi väärtusele, seejärel määrab tulemuse vasakpoolsele muutujale.
- = (lahuta JA määramise operaator) Kõigepealt lahutatakse parempoolse operandi väärtus vasakpoolse operandi väärtusest, seejärel määratakse tulemus vasakpoolsele muutujale.
* = (Korruta JA määramise operaator) Kõigepealt korrutatakse vasaku operandi väärtus parema operandi väärtusega, seejärel määratakse tulemus vasakpoolsele muutujale.
/ = (Jaotuse JA määramise operaator) Kõigepealt jagatakse vasakpoolse operandi väärtus parempoolse operandi väärtusega, seejärel määratakse tulemus vasakpoolsele muutujale.

Näiteks:

#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äljund:

Siin on ekraanipilt koodist:

Koodi selgitus:

  1. Iostreami päisefaili kaasamine meie koodi. See võimaldab meil konsoolist lugeda ja sinna kirjutada.
  2. Kaasa arvatud standardne nimeruum, et kasutada selle klasse ja funktsioone seda kutsumata.
  3. Funktsiooni main () kutsumine, mille sisse tuleks lisada programmi loogika.
  4. {Tähistab põhifunktsiooni () keha algust.
  5. Deklareeritakse täisarvu muutujad x ja määratakse sellele väärtus 5.
  6. Muutuja x väärtuse printimine konsooli muu teksti kõrvale. \ N on uus rea märk. See viib kursori printimisel järgmisele reale.
  7. Muutuja x väärtusele 5 lisamine ja muutujale x tulemuse määramine.
  8. Muutuja x väärtuse printimine konsoolile koos muu tekstiga.
  9. Lahutades x väärtusest 5 ja määrates tulemuse muutujale x.
  10. Muutuja x väärtuse printimine konsoolile koos muu tekstiga.
  11. Muutuja x väärtuse korrutamine 5-ga ja tulemuse määramine muutujale x.
  12. Muutuja x väärtuse printimine konsoolile koos muu tekstiga.
  13. Muutuja x väärtuse jagamine 5-ga ja tulemuse määramine muutujale x.
  14. Muutuja x väärtuse printimine konsoolile koos muu tekstiga.
  15. Funktsioon main () peaks tagastama väärtuse, kui programm töötab hästi.
  16. Põhifunktsiooni () keha lõpp.

Muu operaator

Arutleme teiste operaatorite üle, mida C ++ toetab:

operaatori suurus

See operaator määrab muutuja suuruse. Andmetüübi suuruse määramiseks kasutage operaator sizeof. Näiteks:

#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äljund:

Siin on ekraanipilt koodist:

Koodi selgitus:

  1. Iostreami päisefaili kaasamine meie koodi. See võimaldab meil konsoolist lugeda ja sinna kirjutada.
  2. Kaasa arvatud standardne nimeruum, et kasutada selle klasse ja funktsioone seda kutsumata.
  3. Funktsiooni main () kutsumine, mille sisse tuleks lisada programmi loogika. {Tähistab põhifunktsiooni () keha algust.
  4. Täisarvu andmetüübi suuruse määramine operaatori sizeof abil ja printimine konsooli muu teksti kõrvale.
  5. Märgi andmetüübi suuruse määramine operaatori sizeof abil ja printimine konsooli muu teksti kõrvale.
  6. Ujukandmetüübi suuruse määramine operaatori sizeof abil ja printimine konsooli muu teksti kõrvale.
  7. Ujukandmetüübi suuruse määramine operaatori sizeof abil ja printimine konsooli muu teksti kõrvale.
  8. Funktsioon main () peaks tagastama väärtuse, kui programm töötab hästi.
  9. Põhifunktsiooni () keha lõpp.

Komaoperaator

Komaoperaator (,) käivitab toimingute jada. See väljendab esimest operandi ja viskab tulemuse kõrvale. Järgmisena hindab see teist operandi ning tagastab väärtuse ja tüübi.

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

Väljund:

Siin on ekraanipilt koodist:

Koodi selgitus:

  1. Iostreami päisefaili kaasamine meie koodi. See võimaldab meil konsoolist lugeda ja sinna kirjutada.
  2. Kaasa arvatud standardne nimeruum, et kasutada selle klasse ja funktsioone seda kutsumata.
  3. Funktsiooni main () kutsumine, mille sisse tuleks lisada programmi loogika. {Tähistab põhifunktsiooni () keha algust.
  4. Kahe täisarvu muutuja x ja y deklareerimine.
  5. Muutuja ya väärtuse 100 määramine.
  6. Y väärtuse suurendamine ja tulemuse määramine muutujale x. See algab y-ga 100-ga, seejärel suurendab seda väärtuseni 101 (y ++). Järgmisena lisatakse y arvule 10. Lõpuks lisatakse 99-le y, endiselt 101-ga, saades 200. x on nüüd 200.
  7. Muutuja x väärtuse printimine konsoolile.
  8. Funktsioon main () peaks tagastama väärtuse, kui programm töötab hästi.
  9. Põhifunktsiooni () keha lõpp.

Tingimuslik operaator

See operaator hindab seisundit ja tegutseb hindamise tulemuse põhjal.

Süntaks:

Condition ? Expression2 : Expression3;

Parameetrid:

  • Tingimus on tingimus, mida tuleb hinnata.
  • Avaldis1 on avaldis, mis tuleb täita juhul, kui tingimus on tõene.
  • Avaldis 3 on avaldis, mis tuleb täita, kui tingimus on vale.

Näiteks:

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

Väljund:

Siin on ekraanipilt koodist:

Koodi selgitus:

  1. Iostreami päisefaili kaasamine meie koodi. See võimaldab meil konsoolist lugeda ja sinna kirjutada.
  2. Kaasa arvatud standardne nimeruum, et kasutada selle klasse ja funktsioone seda kutsumata.
  3. Funktsiooni main () kutsumine, mille sisse tuleks lisada programmi loogika. {Tähistab põhifunktsiooni () keha algust.
  4. Kahe täisarvu muutuja a ja b deklareerimine. Muutujale a on määratud väärtus 1.
  5. Väärtuse omistamine muutujale b. Kui muutuja a on väiksem kui 10, määratakse b väärtuseks 2, vastasel juhul määratakse b väärtuseks 5.
  6. Muutuja b väärtuse printimine konsoolile koos muu tekstiga.
  7. Funktsioon main () peaks tagastama väärtuse, kui programm töötab hästi.
  8. Põhifunktsiooni () keha lõpp.

Operaatorite ülimuslikkus

Ühes toimingus võib olla rohkem kui üks operaator. Sellisel juhul määrab operaatori eelisjärjekorra kõigepealt hinnatu.

Järgmine loend näitab operaatorite ülimuslikkust C ++ keeles, kahanevas ülimuslikkuses vasakult paremale:

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

Kokkuvõte:

  • Operaatorid on loogiliste ja aritmeetiliste toimingute teostamise sümbolid.
  • Aritmeetikaoperaatorid aitavad meil operandidel teha erinevaid aritmeetilisi toiminguid.
  • Relatsioonoperaatorid aitavad meil teha operandidel erinevaid võrdlustoiminguid.
  • Loogilised operaatorid aitavad meil operandidel teha erinevaid loogilisi toiminguid.
  • Bitipõhised operaatorid aitavad meil operandidel bitipidi toiminguid teha.
  • Ülesandeoperaatorid aitavad meil operandidel erinevaid aritmeetilisi toiminguid teha.
  • Operaator size tagastab muutuja või andmetüübi suuruse.
  • Komaoperaator teostab toimingute jada.
  • Tingimuslik operaator hindab tingimust ja tegutseb tulemuse põhjal.