Operatorkab sisse C++Tüübid koos näitega
⚡ Nutikas kokkuvõte
Operatorkab sisse C++ on sümbolid, mis teostavad operandidega tehteid, alates aritmeetikast ja võrdlemisest kuni loogiliste, bitipõhiste ja omistamistoiminguteni. See ressurss selgitab iga operaatorikategooriat koos käivitatavate näidisprogrammide, väljundi ja hindamisjärjekorra määravate eelistusreeglitega.
Mis on Operators?
Operaator on sümbol, mida kasutatakse operandidega tehtavate toimingute tegemiseks. Operaator opereerib operandidega ja toimingud võivad olla matemaatilised või loogilised. Operaatoreid on erinevat tüüpi. C++ erinevate toimingute tegemiseks.
Kaaluge järgmist toimingut:
a = x + y;
Ülaltoodud avalduses on x ja y operandid, samas kui + on liitmistehter. Kui C++ Kui kompilaator kohtab ülaltoodud avaldust, lisab see x ja y ning salvestab tulemuse muutujas a.
Liigid Operatorkab sisse C++
Neid on peamiselt 6 erinevat tüüpi operaatorit C++:
- Aritmeetika Operatorse
- Suhteline Operatorse
- loogiline Operatorse
- Bituumen Operatorse
- Ülesanne Operatorse
- Muu Operatorse
Alustame aritmeetiliste operaatoritega, mis on kõige sagedamini kasutatav kategooria.
Aritmeetika Operatorse
Neid operaatoreid kasutatakse matemaatiliste/aritmeetiliste toimingute tegemiseks. Nende hulka kuuluvad:
| Operator | Kirjeldus |
|---|---|
| + lisamise operaator | Lisab kaks operandi. |
| – alamtractsioonioperaator | allatrac2. osand operand alates 1st operand. |
| * korrutamisoperaator | Korrutab 2 operandi. |
| / jagamisoperaator | Jagab lugeja nimetajaga. |
| % mooduli operaator | Tagastab jäägi pärast jagamist. |
| ++ juurdekasvu operaator | Suurendab täisarvu väärtust 1 võrra. |
| — kahandamisoperaator | Vähendab täisarvu väärtust 1 võrra. |
Näiteks:
#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äljund:
Siin on koodi ekraanipilt:
Code Selgitus:
- Kaasa arvatud iostreami päisefail meie koodis. See võimaldab meil konsoolist lugeda ja sinna kirjutada.
- Kaasa arvatud std-nimeruum, et kasutada selle klasse ja funktsioone ilma seda kutsumata.
- Kutsutakse välja funktsioon main(), mille sisse tuleks lisada programmi loogika. Märk { tähistab funktsiooni main() sisu algust.
- Täisarvulise muutuja a deklareerimine ja selle lähtestamine 11-ks.
- Täisarvulise muutuja b deklareerimine ja selle lähtestamine 5-ks.
- Täisarvulise muutuja deklareerimine c.
- Tehte a+b väärtuse printimine konsoolile koos muu tekstiga.
- Tehte ab väärtuse printimine konsoolile koos muu tekstiga.
- Toimingu a*b väärtuse printimine konsoolile koos muu tekstiga.
- Toimingu a/b väärtuse printimine konsoolile koos muu tekstiga.
- Toimingu a%b väärtuse printimine konsoolile koos muu tekstiga.
- Toimingu a++ väärtuse printimine konsoolile koos muu tekstiga.
- Tehte a– väärtuse printimine konsoolile koos muu tekstiga.
- Funktsioon main() peaks tagastama väärtuse, kui programm töötab hästi.
- Funktsiooni main() keha lõpp.
Suhteline Operatorse
Seda tüüpi operaatorid võrdlevad operande. Näiteks peate võib-olla teadma, milline operaand on teisest suurem või väiksem kui teine. Nende hulka kuuluvad:
| Operator | Kirjeldus |
|---|---|
| == võrdne operaatoriga | Kontrollib kahe operandi väärtuse võrdsust. |
| != ei võrdu operaatoriga | Kontrollib kahe operandi väärtuse ebavõrdsust. |
| > suurem kui operaator | Kontrollib, kas vasakpoolse operandi väärtus on suurem kui parempoolse operandi väärtus. |
| < operaator väiksem kui | Kontrollib, kas vasakpoolse operandi väärtus on väiksem kui parempoolse operandi väärtus. |
| >= suurem kui operaator või sellega võrdne | Kontrollib, kas vasakpoolse operandi väärtus on suurem või võrdne parempoolse operandi väärtusega. |
| <= operaator väiksem või võrdne | Kontrollib, kas vasakpoolse operandi väärtus on väiksem või võrdne parempoolse operandi väärtusega. |
Näiteks:
#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äljund:
Siin on koodi ekraanipilt:
Code Selgitus:
- Kaasa arvatud iostreami päisefail meie koodis. See võimaldab meil konsoolist lugeda ja sinna kirjutada.
- Kaasa arvatud std-nimeruum, et kasutada selle klasse ja funktsioone ilma seda kutsumata.
- Main() funktsiooni kutsumine, mille sees tuleks lisada programmi loogika.
- Täisarvulise muutuja a deklareerimine ja selle lähtestamine 11-ks.
- Täisarvulise muutuja b deklareerimine ja selle lähtestamine 5-ks.
- Konsoolile mingi teksti printimine, kus on kirjas muutujate a ja b väärtused.
- Kontrollimine, kas a on võrdne b-ga, kasutades otsustuslauset if.
- Tekst, mis konsoolile prinditakse, kui tehe a==b on tõene.
- Ülaltoodud if-lause teine osa, mis näitab, mida teha, kui a==b on väär.
- Tekst, mis konsoolile prinditakse, kui tehe a==b on väär.
- Kontrollimine, kas a on väiksem kui b, kasutades if-lauset.
- Konsoolile prinditav tekst, kui toiming a
- Teine osa selleks puhuks, kui a
- Konsoolile prinditav tekst, kui toiming a
- Kontrollimine, kas a on suurem kui b, kasutades if-lauset.
- Tekst, mis konsoolile prinditakse, kui tehe a>b on tõene.
- Muu osa, kui a>b on väär.
- Tekst, mis konsoolile prinditakse, kui tehe a>b on väär.
- Funktsioon main() peaks tagastama väärtuse, kui programm töötab hästi.
- Funktsiooni main() keha lõpp.
loogiline Operatorse
. loogilised operaatorid kombineerida kahte või enamat piirangut/tingimust. Loogilised operaatorid täiendavad ka vaadeldava algse tingimuse hindamist. Nende hulka kuuluvad:
| Operator | Kirjeldus |
|---|---|
| && loogiline JA operaator | Tingimus on tõene, kui mõlemad operandid ei ole nullid. |
| || loogiline VÕI operaator | Tingimus on tõene, kui üks operanditest on nullist erinev. |
| ! loogiline NOT-operaator | See pöörab operandi loogilise oleku ümber. Kui operand on tõene, muudab operaator ! selle vääraks. |
Näiteks:
#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äljund:
Siin on koodi ekraanipilt:
Code Selgitus:
- Kaasa arvatud iostreami päisefail meie koodis. See võimaldab meil konsoolist lugeda ja sinna kirjutada.
- Kaasa arvatud std-nimeruum, et kasutada selle klasse ja funktsioone ilma seda kutsumata.
- Main() funktsiooni kutsumine, mille sees tuleks lisada programmi loogika.
- { märgib funktsiooni main() keha algust.
- Nelja täisarvulise muutuja a, b, c ja d deklareerimine ja neile erinevate väärtuste määramine.
- Kasutades && (AND) operaatorit if-lauses. See ühendab kaks tingimust. Esimene tingimus on väär ja teine on tõene, seega väär&&tõene on väär; if-lause tulemus on väär.
- Tekst, mis konsoolile prinditakse, kui ülaltoodud if-lause on tõene. Seda ei käivitata.
- Osa, mis täidetakse, kui ülaltoodud if-lause on väär.
- Konsoolile prinditav tekst, kui if-lause on väär. See täidetakse.
- Kasutades || (OR) operaatorit if-lauses. Esimene tingimus on väär ja teine on tõene, seega väär||tõene on tõene; if-lause tulemus on tõene.
- Tekst, mis konsoolile prinditakse, kui ülaltoodud if-lause on tõene. See käivitatakse.
- Osa, mis täidetakse, kui ülaltoodud if-lause on väär.
- Konsoolile prinditav tekst, kui if-lause on väär. Seda ei täideta.
- Muutuja b väärtuse kontrollimine, kas see on 0.
- Tekst, mis konsoolile prinditakse, kui ülaltoodud if-lause on tõene. Seda ei käivitata.
- Osa, mis täidetakse, kui ülaltoodud if-lause on väär.
- Konsoolile prinditav tekst, kui if-lause on väär. See täidetakse.
- Funktsioon main() peaks tagastama väärtuse, kui programm töötab hästi.
- Funktsiooni main() keha lõpp.
Bituumen Operatorse
Bitipõhised operaatorid teostavad operandidega bititasemel operatsioone. Esmalt teisendatakse operandid bititasemele ja seejärel teostatakse toiminguid. Aritmeetiliste toimingute, näiteks liitmise ja osamaksete tegemise ajaltracMida täpsemalt bititasandil tehakse, seda kiiremini tulemusi saab saavutada. Nende hulka kuuluvad:
| Operator | Kirjeldus |
|---|---|
| & (bitipõhine JA) | Võtab kaks arvu (operandi) ja teostab seejärel iga kahe arvu biti puhul NING-tehte. Kui mõlemad on 1, tagastab NING-tehte 1, vastasel juhul 0. |
| | (biti kaupa VÕI) | Võtab kaks arvu (operandi) ja teostab seejärel VÕI-tehte iga kahe arvu bitiga. Tagastab 1, kui üks bittidest on 1. |
| ^ (bitipõhine XOR) | Võtab kaks arvu (operandi) ja teostab seejärel iga kahe arvu biti peal XOR-tehte. Tagastab 1, kui mõlemad bitid on erinevad. |
| << (vasak vahetus) | Võetakse kaks arvu ja seejärel nihutatakse esimese operandi bitte vasakule. Teine operand määrab nihutatavate bittide koguarvu. |
| >> (nihe paremale) | Võtab kaks arvu ja nihutab esimese operandi bitte paremale. Teine operand määrab nihutatavate bittide arvu. |
| ~ (bittide kaupa EI) | Võtab arvu ja inverteerib kõik selle bitid. |
#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äljund:
Siin on koodi ekraanipilt:
Code Selgitus:
- Kaasa arvatud iostreami päisefail meie koodis. See võimaldab meil konsoolist lugeda ja sinna kirjutada.
- Kaasa arvatud std-nimeruum, et kasutada selle klasse ja funktsioone ilma seda kutsumata.
- Main() funktsiooni kutsumine, mille sees tuleks lisada programmi loogika.
- Märgimata täisarvulise muutuja p deklareerimine ja sellele väärtuse 60 omistamine, mis kahendsüsteemis on 0011 1100.
- Märgita täisarvulise muutuja q deklareerimine ja sellele väärtuse 13 omistamine, mis kahendsüsteemis on 0000 1101.
- Täisarvulise muutuja z deklareerimine ja selle lähtestamine 0-ks.
- Muutujatel p ja q bitipõhise & (AND) operatsiooni sooritamine ning tulemuse salvestamine muutujasse z.
- Ülaltoodud toimingu tulemuse trükkimine konsoolile koos muu tekstiga.
- Bitipõhise | (OR) operatsioon muutujatega p ja q ning tulemuse salvestamine muutujasse z.
- Ülaltoodud toimingu tulemuse trükkimine konsoolile koos muu tekstiga.
- Muutujatel p ja q bitipõhise ^ (XOR) operatsiooni sooritamine ning tulemuse salvestamine muutujasse z.
- Ülaltoodud toimingu tulemuse trükkimine konsoolile koos muu tekstiga.
- Bitikaupa ~ (NOT) tehte sooritamine muutujaga p ja tulemuse salvestamine muutujasse z.
- Ülaltoodud toimingu tulemuse trükkimine konsoolile koos muu tekstiga.
- Muutuja p vasakpoolse nihutamise operatsiooni sooritamine ja tulemuse salvestamine muutujasse z.
- Ülaltoodud toimingu tulemuse trükkimine konsoolile koos muu tekstiga.
- Parema nihutamise operatsiooni sooritamine muutujal p ja tulemuse salvestamine muutujasse z.
- Ülaltoodud toimingu tulemuse trükkimine konsoolile koos muu tekstiga.
- Funktsioon main() peaks tagastama väärtuse, kui programm töötab hästi.
- Funktsiooni main() keha lõpp.
Ülesanne Operatorse
Määramise operaatorid Määrake muutujatele väärtused. Operand/muutuja lisatakse operaatori vasakule poolele ja väärtus paremale poolele. Muutuja ja väärtus peavad kuuluma samasse andmetüüpi, vastasel juhul C++ kompilaator tekitab vea.
Näiteks:
x = 5;
Ülaltoodud näites on x muutuja/operand, = on omistamisoperaator ja 5 on väärtus. Siin on populaarsed omistamisoperaatorid C++:
| Operator | Kirjeldus |
|---|---|
| = (lihtsa määramise operaator) | Määrab paremal oleva väärtuse vasakpoolsele muutujale. |
| += (Lisa määramise operaator JA) | Lisab vasakpoolsele operandile parempoolse operandi väärtuse, seejärel määrab tulemuse vasakpoolsele muutujale. |
| -= (Alamtract JA omistamisoperaator) | allatracArvutab vasakpoolse operandi põhjal parempoolse operandi väärtuse ja määrab seejärel tulemuse vasakpoolsele muutujale. |
| *= (Korruta JA määramise operaator) | Korrutab vasaku operandi väärtuse parempoolse operandiga ja määrab tulemuse vasakpoolsele muutujale. |
| /= (jaotuse JA määramise operaator) | Jagab vasaku operandi väärtuse parempoolse operandiga, seejärel määrab tulemuse vasakpoolsele muutujale. |
Näiteks:
#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äljund:
Siin on koodi ekraanipilt:
Code Selgitus:
- Kaasa arvatud iostreami päisefail meie koodis. See võimaldab meil konsoolist lugeda ja sinna kirjutada.
- Kaasa arvatud std-nimeruum, et kasutada selle klasse ja funktsioone ilma seda kutsumata.
- Main() funktsiooni kutsumine, mille sees tuleks lisada programmi loogika.
- { märgib funktsiooni main() keha algust.
- Täisarvulise muutuja x deklareerimine ja väärtuse 5 määramine.
- Muutuja x väärtuse kuvamine konsoolil koos muu tekstiga. \n on reavahetuse märk.
- Muutuja x väärtusele 5 lisamine ja tulemuse määramine muutujale x.
- Muutuja x väärtuse printimine konsoolile koos muu tekstiga.
- allatrac5 leidmine x väärtusest ja tulemuse määramine muutujale x.
- Muutuja x väärtuse printimine konsoolile koos muu tekstiga.
- Muutuja x väärtuse korrutamine 5-ga ja tulemuse määramine muutujale x.
- Muutuja x väärtuse printimine konsoolile koos muu tekstiga.
- Muutuja x väärtuse jagamine 5-ga ja tulemuse määramine muutujale x.
- Muutuja x väärtuse printimine konsoolile koos muu tekstiga.
- Funktsioon main() peaks tagastama väärtuse, kui programm töötab hästi.
- Funktsiooni main() keha lõpp.
Muu Operatorse
Muu Operatorse Lisage sizeof operaator, koma Operator, tingimuslik Operator ja Operaoperaatorite eelistus. Arutagem teisi operaatoreid, mida toetab C++:
operaatori suurus
See operaator määrab muutuja suuruse. Andmetüübi suuruse määramiseks kasutage operaatorit sizeof.
Näiteks:
#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äljund:
Siin on koodi ekraanipilt:
Code Selgitus:
- Kaasa arvatud iostreami päisefail meie koodis. See võimaldab meil konsoolist lugeda ja sinna kirjutada.
- Kaasa arvatud std-nimeruum, et kasutada selle klasse ja funktsioone ilma seda kutsumata.
- Main() funktsiooni kutsumine, mille sees tuleks lisada programmi loogika.
- Täisarvulise andmetüübi suuruse määramine sizeof operaatori abil ja selle väljastamine konsoolil koos muu tekstiga.
- Märgi andmetüübi suuruse määramine operaatori sizeof abil ja selle kuvamine konsoolil koos muu tekstiga.
- Ujukandmetüübi suuruse määramine sizeof operaatori abil ja selle väljastamine konsoolil koos muu tekstiga.
- Double andmetüübi suuruse määramine sizeof operaatori abil ja selle väljastamine konsoolil koos muu tekstiga.
- Funktsioon main() peaks tagastama väärtuse, kui programm töötab hästi.
- Funktsiooni main() keha lõpp.
Koma Operator
. komaoperaator (,) käivitab toimingute jada. See väljendab esimest operandi ja tühistab tulemuse. Seejärel hindab see teist operandi ning tagastab väärtuse ja tüübi.
#include <iostream> using namespace std; int main() { int x, y; y = 100; x = (y++, y + 10, 99 + y); cout << x; return 0; }
Väljund:
Siin on koodi ekraanipilt:
Code Selgitus:
- Kaasa arvatud iostreami päisefail meie koodis. See võimaldab meil konsoolist lugeda ja sinna kirjutada.
- Kaasa arvatud std-nimeruum, et kasutada selle klasse ja funktsioone ilma seda kutsumata.
- Main() funktsiooni kutsumine, mille sees tuleks lisada programmi loogika.
- Kahe täisarvulise muutuja x ja y deklareerimine.
- Muutuja ya väärtuse määramine 100.
- Komaoperaatori kasutamine. See algab y-ga väärtusel 100 ja suurendab seda seejärel 101-ni (y++). Seejärel liidetakse y 10-le. Lõpuks liidetakse y, mis on endiselt 101, arvule 99, saades tulemuseks 200. x on nüüd 200.
- Muutuja x väärtuse printimine konsoolile.
- Funktsioon main() peaks tagastama väärtuse, kui programm töötab hästi.
- Funktsiooni main() keha lõpp.
tingimuslik Operator
See operaator hindab seisundit ja tegutseb hindamise tulemuse põhjal.
süntaksit:
Condition ? Expression2 : Expression3;
Parameetrid:
- Tingimus on tingimus, mida tuleb hinnata.
- Avaldis2 on avaldis, mis täidetakse, kui tingimus on tõene.
- Avaldis3 on avaldis, mis täidetakse, kui tingimus on väär.
Näiteks:
#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äljund:
Siin on koodi ekraanipilt:
Code Selgitus:
- Kaasa arvatud iostreami päisefail meie koodis. See võimaldab meil konsoolist lugeda ja sinna kirjutada.
- Kaasa arvatud std-nimeruum, et kasutada selle klasse ja funktsioone ilma seda kutsumata.
- Main() funktsiooni kutsumine, mille sees tuleks lisada programmi loogika.
- Kahe väljakuulutamine täisarvulised muutujad a ja b. Muutujale a on määratud väärtus 1.
- Muutujale b väärtuse määramine. Kui muutuja a on väiksem kui 10, määratakse muutujale b väärtus 2, vastasel juhul määratakse muutujale b väärtus 5.
- Muutuja b väärtuse printimine konsoolile koos muu tekstiga.
- Funktsioon main() peaks tagastama väärtuse, kui programm töötab hästi.
- Funktsiooni main() keha lõpp.
Operators Eeliskoht
Ühel toimingul võib olla rohkem kui üks operaator. Sel juhul määrab operaatori prioriteetsus selle, mida hinnatakse esimesena.
Järgmine loend näitab operaatorite prioriteetsust C++, kahaneva tähtsusega vasakult paremale:
(), [], *, /, %, +/-, <<, >>, ==, !=, ^, |, &&, ||, ?:, =, +=, -=, *=, /=














