Kaj so operaterji?
Operator je simbol, ki se uporablja za izvajanje operacij nad operandi. Operater upravlja operande. Operacije so lahko matematične ali logične. V jeziku C ++ obstajajo različne vrste operaterjev za izvajanje različnih operacij.
Razmislite o naslednjem postopku:
a = x + y;
V zgornji izjavi sta x in y operanda, medtem ko je + seštevalni operator. Ko prevajalnik C ++ naleti na zgornji stavek, bo dodal x in y ter rezultat shranil v spremenljivko a.
V tej vadnici C ++ boste izvedeli:
- Kaj so operaterji?
- Aritmetični operaterji
- Relacijski operaterji
- Logični operaterji
- Bitni operaterji
- Operatorji dodelitve
- Razno operater
- velikost operaterja
- Comma Operator
- Pogojni operater
- Prednost operaterjev
Aritmetični operaterji
So vrste operatorjev, ki se uporabljajo za izvajanje matematičnih / aritmetičnih operacij. Vključujejo:
Operater | Opis |
+ operater seštevanja | Doda operande. |
- operater odštevanja | Odšteva 2 nd operanda iz 1 st operanda. |
* operator množenja | Množi 2 operanda. |
/ deliteljski operater. | Deli števec s imenovalcem. |
% modula | Vrne ostanek po delitvi. |
++ operator prirastka | Poveča celoštevilčno vrednost za 1. |
- operater zmanjšanja. | Zmanjša celoštevilčno vrednost za 1. |
Na primer:
#includeusing 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;}
Izhod:
Tu je posnetek zaslona kode:
Razlaga kode:
- Vključitev glave datoteke iostream v našo kodo. Omogočil nam bo branje s konzole in pisanje nanjo.
- Vključno z imenskim prostorom std, da lahko uporablja njegove razrede in funkcije, ne da bi ga poklical.
- Poklic funkcije main (), znotraj katere je treba dodati logiko programa. {Označuje začetek telesa glavne () funkcije.
- Razglasitev celoštevilčne spremenljivke a in inicializacija na 11.
- Razglasitev celoštevilčne spremenljivke b in inicializacija na 5.
- Razglasitev celoštevilčne spremenljivke c.
- Tiskanje vrednosti operacije a + b poleg drugega besedila na konzoli.
- Tiskanje vrednosti operacije ab poleg drugega besedila na konzoli.
- Tiskanje vrednosti operacije a * b skupaj z drugim besedilom na konzoli.
- Tiskanje vrednosti operacije a / b skupaj z drugim besedilom na konzoli.
- Tiskanje vrednosti operacije% b skupaj z drugim besedilom na konzoli.
- Tiskanje vrednosti operacije a ++ skupaj z drugim besedilom na konzoli.
- Vrednost tiskanja operacije a - poleg drugega besedila na konzoli.
- Funkcija main () mora vrniti vrednost, če program deluje dobro.
- Konec telesa glavne () funkcije.
Relacijski operaterji
Te vrste operatorjev izvajajo primerjave na operandih. Na primer, morda boste morali vedeti, kateri operand je večji od drugega ali manjši od drugega. Vključujejo:
Opis
Operater | Opis |
== enako operatorju. | Preveri enakost dveh vrednosti operanda. |
! = ni enako operatorju | Preveri enakost dveh vrednosti operanda. |
> super od operaterja | Preveri, ali je vrednost levega operanda večja od vrednosti desnega operanda. |
Preveri, ali je vrednost levega operanda manjša od vrednosti desnega operanda. |
|
> = večje ali enako operatorju | Preveri, ali je vrednost levega operanda večja ali enaka vrednosti desnega operanda. |
<= manj ali enako operatorju. | Preveri, ali je vrednost levega operanda manjša ali enaka vrednosti desnega operanda. |
Na primer:
#includeusing 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;}
Izhod:
Tu je posnetek zaslona kode:
Razlaga kode:
- Vključitev glave datoteke iostream v našo kodo. Omogočil nam bo branje s konzole in pisanje nanjo.
- Vključno z imenskim prostorom std, da lahko uporablja njegove razrede in funkcije, ne da bi ga poklical.
- Poklic funkcije main (), znotraj katere je treba dodati logiko programa. {Označuje začetek telesa glavne () funkcije.
- Razglasitev celoštevilčne spremenljivke a in inicializacija na 11.
- Razglasitev celoštevilčne spremenljivke b in inicializacija na 5.
- Tiskanje besedila na konzoli z navedbo vrednosti spremenljivk a in b.
- Izvedba aritmetične operacije, a == b v izjavi, če se odloča, če želite vedeti, ali je resnična ali neresnična. {Označuje začetek telesa stavka if.
- Besedilo za tiskanje na konzoli, če je operacija a == b resnična. Endl je ključna beseda C ++ za končno vrstico. Potisne kurzor, da začne tiskati v naslednji vrstici. The} označuje konec telesa stavka if.
- Drugi del zgornje izjave if. Navaja, kaj storiti, če je operacija a == b napačna.
- Besedilo za tiskanje na konzoli, če je operacija a == b napačna. Endl je ključna beseda C ++ za končno vrstico. Potisne kurzor, da začne tiskati v naslednji vrstici. The} označuje konec telesa stavka else.
- Izvedba aritmetične operacije, a
- Besedilo za tiskanje na konzoli, če je operacija a
- Drugi del zgornje izjave if. Navaja, kaj storiti, če je operacija a
- Besedilo za tiskanje na konzoli, če je operacija a
- Izvedba aritmetične operacije a> b v izjavi odločanja, če želite vedeti, ali je resnična ali neresnična. {Označuje začetek telesa stavka if.
- Besedilo za tiskanje na konzoli, če je operacija a> b resnična. Endl je ključna beseda C ++ za končno vrstico. Potisne kurzor, da začne tiskati v naslednji vrstici. The} označuje konec telesa stavka if.
- Drugi del zgornje izjave if. Navaja, kaj storiti, če je operacija a> b napačna.
- Besedilo za tiskanje na konzoli, če je operacija a> b napačna. Endl je ključna beseda C ++ za končno vrstico. Potisne kurzor, da začne tiskati v naslednji vrstici. The} označuje konec telesa stavka else.
- Funkcija main () mora vrniti vrednost, če program deluje dobro.
- Konec telesa glavne () funkcije.
- Besedilo za tiskanje na konzoli, če je operacija a
Logični operaterji
Logični operaterji združujejo dve / več omejitev / pogojev. Logični operaterji dopolnjujejo tudi oceno prvotnega stanja, ki ga obravnavamo. Vključujejo:
Operater | Opis |
&& logični operater AND. | Pogoj je resničen, če oba operanda nista nič. |
|| logični operater ALI. | Pogoj je resničen, če eden od operandov ni nič. |
! logični operater NOT. | Obrne logično stanje operanda. Če je operand res, je! napačno. |
Na primer:
#includeusing 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;}
Izhod:
Tu je posnetek zaslona kode:
Razlaga kode:
- Vključitev glave datoteke iostream v našo kodo. Omogočil nam bo branje s konzole in pisanje nanjo.
- Vključno z imenskim prostorom std, da lahko uporablja njegove razrede in funkcije, ne da bi ga poklical.
- Poklic funkcije main (), znotraj katere je treba dodati logiko programa.
- {Označuje začetek telesa glavne () funkcije.
- Razglasitev 4 celoštevilnih spremenljivk a, b, c in d in dodelitev različnih vrednosti.
- Uporaba operatorja && (AND) znotraj stavka if. Združuje dva pogoja, vrednost enaka vrednosti b in vrednost a je večja od vrednosti b. Prvi pogoj je napačen, drugi pogoj je resničen. False && true je False, zato je rezultat if false.
- Besedilo za tiskanje na konzoli, če je zgornji argument if resničen. To se ne bo izvedlo.
- Del, ki ga je treba izvršiti, če je zgornji stavek if neresničen.
- Besedilo za tiskanje na konzoli, če stavek if ne drži. To bo izvedeno.
- Uporaba || (OR) v stavku if. Združuje dva pogoja, vrednost enaka vrednosti b in vrednost a je večja od vrednosti b. Prvi pogoj je napačen, drugi pogoj je resničen. False || true je True, zato je rezultat if res.
- Besedilo za tiskanje na konzoli, če je zgornji argument if resničen. To bo izvedeno.
- Del, ki ga je treba izvršiti, če je zgornji stavek if neresničen.
- Besedilo za tiskanje na konzoli, če stavek if ne drži. To se ne bo izvedlo.
- Preverjanje, ali je vrednost spremenljivke 0.
- Besedilo za tiskanje na konzoli, če je zgornji argument if resničen. To se ne bo izvedlo.
- Del, ki ga je treba izvršiti, če je zgornji stavek if neresničen.
- Besedilo za tiskanje na konzoli, če stavek if ne drži. To bo izvedeno.
- Funkcija main () mora vrniti vrednost, če program deluje dobro.
- Konec telesa glavne () funkcije.
Bitni operaterji
Bitni operaterji izvajajo operacije na bitni ravni na operandih. Najprej se operaterji pretvorijo v nivo bitov, nato pa se na operandih izvedejo operacije. Ko se aritmetične operacije, kot sta seštevanje in odštevanje, izvajajo na bitni ravni, lahko rezultate dosežemo hitreje. Vključujejo:
Operater | Opis |
& (v bitnem IN). | Potrebuje 2 števili (operandi), nato izvede AND na vsakem bitu dveh števil. Če sta oba 1, AND vrne 1, sicer 0. |
| (bitno ALI) | Zavzame dve številki (operandi) in nato izvede ALI na vsakem bitu dveh števil. Vrne 1, če je eden od bitov 1. |
(bitni XOR) | Zavzame dve številki (operandi) in nato izvede XOR na vsakem bitu dveh številk. Vrne 1, če sta oba bita različna. |
<< (levi premik) | Vzame dve številki, nato levo premakne bit prvega operanda. Drugi operand določa skupno število mest za premik. |
>> (desni premik) | Zavzame dve številki, nato pa desno premakne bit prvega operanda. Drugi operand določa število mest za premik. |
~ (bitno NE). | Zavzame število, nato pa obrne vse njegove bite. |
#includeusing 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;}
Izhod:
Tu je posnetek zaslona kode:
Razlaga kode:
- Vključitev glave datoteke iostream v našo kodo. Omogočil nam bo branje s konzole in pisanje nanjo.
- Vključno z imenskim prostorom std, da lahko uporablja njegove razrede in funkcije, ne da bi ga poklical.
- Poklic funkcije main (), znotraj katere je treba dodati logiko programa. {Označuje začetek telesa glavne () funkcije.
- Deklariranje nepodpisanih celoštevilnih spremenljivk p in ji dodeli vrednost 60, kar je v binarni obliki 0011 1100.
- Deklariranje nepodpisanih celoštevilnih spremenljivk q in dodelitev vrednosti 13, kar je v binarni obliki 0000 1101.
- Razglasitev celoštevilčne spremenljivke z in inicializacija na 0.
- Izvedba bitne operacije & (AND) na spremenljivkah p in q in shranjevanje rezultata v spremenljivko z.
- Tiskanje rezultata zgornje operacije na konzolo skupaj z drugim besedilom.
- Izvajanje v bitnih razmerah | (ALI) operacija na spremenljivki p in q in shranjevanje rezultata v spremenljivko z.
- Tiskanje rezultata zgornje operacije na konzolo skupaj z drugim besedilom.
- Izvedba bitne operacije (XOR) na spremenljivkah p in q ter shranjevanje rezultata v spremenljivko z.
- Tiskanje rezultata zgornje operacije na konzolo skupaj z drugim besedilom.
- Izvedba bitne operacije ~ (NOT) na spremenljivkah p in q in shranjevanje rezultata v spremenljivko z.
- Tiskanje rezultata zgornje operacije na konzolo skupaj z drugim besedilom.
- Izvedba operacije levega premika na spremenljivki p in shranjevanje rezultata v spremenljivko z.
- Tiskanje rezultata zgornje operacije na konzolo skupaj z drugim besedilom.
- Izvedba operacije desnega premika na spremenljivki p in shranjevanje rezultata v spremenljivko z.
- Tiskanje rezultata zgornje operacije na konzolo skupaj z drugim besedilom.
- Funkcija main () mora vrniti vrednost, če program deluje dobro.
- Konec telesa glavne () funkcije.
Operatorji dodelitve
Operatorji dodelitve spremenljivkam dodelijo vrednosti. Operand / spremenljivka je dodana na levi strani operaterja, vrednost pa na desni strani operaterja. Spremenljivka in vrednost morata pripadati istemu podatkovnemu tipu, sicer bo prevajalnik C ++ povzročil napako. Na primer:
x = 5;
V zgornjem primeru je x spremenljivka / operand, = operater dodelitve, medtem ko je 5 vrednost. Tu so priljubljeni operaterji dodelitve v jeziku C ++:
Operater | Opis |
= (operater enostavne dodelitve) | Vrednost na desni dodeli spremenljivki na levi. |
+ = (Dodaj IN operator dodelitve) | Najprej doda vrednost levega operanda vrednosti desnega operanda, nato pa spremenljivki na levi dodeli rezultat. |
- = (Operator odštevanja in dodelitve) | Najprej od vrednosti levega operanda odšteje vrednost desnega operanda, nato pa spremenljivki na levi dodeli rezultat. |
* = (Operator množenja IN dodelitve) | Najprej pomnoži vrednost levega operanda z vrednostjo desnega operanda, nato pa spremenljivki na levi dodeli rezultat. |
/ = (Operater delitve IN dodelitve) | Najprej vrednost levega operanda deli z vrednostjo desnega operanda, nato pa spremenljivki na levi dodeli rezultat. |
Na primer:
#includeusing 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;}
Izhod:
Tu je posnetek zaslona kode:
Razlaga kode:
- Vključitev glave datoteke iostream v našo kodo. Omogočil nam bo branje s konzole in pisanje nanjo.
- Vključno z imenskim prostorom std, da lahko uporablja njegove razrede in funkcije, ne da bi ga poklical.
- Poklic funkcije main (), znotraj katere je treba dodati logiko programa.
- {Označuje začetek telesa glavne () funkcije.
- Deklariranje celoštevilnih spremenljivk x in dodelitev vrednosti 5.
- Tiskanje vrednosti spremenljivke x poleg drugega besedila na konzoli. \ N je nov črkovni znak. Med tiskanjem premakne kurzor v naslednjo vrstico.
- Dodajanje vrednosti 5 spremenljivki x in dodelitev rezultata spremenljivki x.
- Tiskanje vrednosti spremenljivke x na konzolo skupaj z drugim besedilom.
- Od vrednosti x odštejemo 5 in spremenljivki x dodelimo rezultat.
- Tiskanje vrednosti spremenljivke x na konzolo skupaj z drugim besedilom.
- Množenje vrednosti spremenljivke x s 5 in dodelitev rezultata spremenljivki x.
- Tiskanje vrednosti spremenljivke x na konzolo skupaj z drugim besedilom.
- Delitev vrednosti spremenljivke x s 5 in dodelitev rezultata spremenljivki x.
- Tiskanje vrednosti spremenljivke x na konzolo skupaj z drugim besedilom.
- Funkcija main () mora vrniti vrednost, če program deluje dobro.
- Konec telesa glavne () funkcije.
Razno operater
Pogovorimo se o drugih operaterjih, ki jih podpira C ++:
velikost operaterja
Ta operater določi velikost spremenljivke. Za določitev velikosti podatkovnega tipa uporabite operator sizeof. Na primer:
#includeusing 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;}
Izhod:
Tu je posnetek zaslona kode:
Razlaga kode:
- Vključitev glave datoteke iostream v našo kodo. Omogočil nam bo branje s konzole in pisanje nanjo.
- Vključno z imenskim prostorom std, da lahko uporablja njegove razrede in funkcije, ne da bi ga poklical.
- Poklic funkcije main (), znotraj katere je treba dodati logiko programa. {Označuje začetek telesa glavne () funkcije.
- Določitev velikosti celoštevilnega podatkovnega tipa z uporabo sizeof operatorja in tiskanje skupaj z drugim besedilom na konzoli.
- Določitev velikosti podatkovnega tipa znakov z uporabo sizeof operatorja in tiskanje skupaj z drugim besedilom na konzoli.
- Določitev velikosti podatkovnega tipa z uporabo velikosti operatorja in tiskanje skupaj z drugim besedilom na konzoli.
- Določitev velikosti podatkovnega tipa z uporabo velikosti operatorja in tiskanje skupaj z drugim besedilom na konzoli.
- Funkcija main () mora vrniti vrednost, če program deluje dobro.
- Konec telesa glavne () funkcije.
Comma Operator
Operator vejice (,) sproži izvajanje zaporedja operacij. Izraža prvi operand in zavrže rezultat. Nato oceni drugi operand in vrne vrednost in vrsto.
#includeusing namespace std;int main() {int x, y;y = 100;x = (y++, y + 10, 99 + y);cout << x;return 0;}
Izhod:
Tu je posnetek zaslona kode:
Razlaga kode:
- Vključitev glave datoteke iostream v našo kodo. Omogočil nam bo branje s konzole in pisanje nanjo.
- Vključno z imenskim prostorom std, da lahko uporablja njegove razrede in funkcije, ne da bi ga poklical.
- Poklic funkcije main (), znotraj katere je treba dodati logiko programa. {Označuje začetek telesa glavne () funkcije.
- Izjava dveh celoštevilnih spremenljivk x in y.
- Dodelitev spremenljivke ya vrednosti 100.
- Povečanje vrednosti y in dodelitev rezultata spremenljivki x. Začne se z y pri 100, nato pa poveča na 101 (y ++). Nato se y doda 10. Končno se y, še vedno 101, doda 99, kar pomeni 200. x je zdaj 200.
- Tiskanje vrednosti spremenljivke x na konzoli.
- Funkcija main () mora vrniti vrednost, če program deluje dobro.
- Konec telesa glavne () funkcije.
Pogojni operater
Ta operater oceni stanje in deluje na podlagi rezultata ocene.
Sintaksa:
Condition ? Expression2 : Expression3;
Parametri:
- Pogoj je pogoj, ki ga je treba oceniti.
- Izraz1 je izraz, ki se izvede, če je pogoj resničen.
- Izraz3 je izraz, ki se izvrši, če je pogoj neresničen.
Na primer:
#includeusing namespace std;int main() {int a = 1, b;b = (a < 10) ? 2 : 5;cout << "value of b: " << b << endl;return 0;}
Izhod:
Tu je posnetek zaslona kode:
Razlaga kode:
- Vključitev glave datoteke iostream v našo kodo. Omogočil nam bo branje s konzole in pisanje nanjo.
- Vključno z imenskim prostorom std, da lahko uporablja njegove razrede in funkcije, ne da bi ga poklical.
- Poklic funkcije main (), znotraj katere je treba dodati logiko programa. {Označuje začetek telesa glavne () funkcije.
- Razglasitev dveh celoštevilnih spremenljivk a in b. Spremenljivki a je bila dodeljena vrednost 1.
- Dodelitev vrednosti spremenljivki b. Če je spremenljivka a manjša od 10, bo b dodeljena vrednosti 2, sicer pa b 5.
- Tiskanje vrednosti spremenljivke b na konzolo poleg drugega besedila.
- Funkcija main () mora vrniti vrednost, če program deluje dobro.
- Konec telesa glavne () funkcije.
Prednost operaterjev
Posamezna operacija ima lahko več operaterjev. V tem primeru prednost operaterja določi tistega, ki je bil najprej ovrednoten.
Naslednji seznam prikazuje prednost operaterjev v jeziku C ++ z manjšo prednostjo od leve proti desni:
(), [], *, /,%, +/-, <<, >>, ==,! =, ^, |, &&, ||,?:, =, + =, - =, 8 = , / =
Povzetek:
- Operaterji so simboli za izvajanje logičnih in aritmetičnih operacij.
- Aritmetični operaterji nam pomagajo izvajati različne računske operacije na operandih.
- Relacijski operaterji nam pomagajo pri izvajanju različnih primerjalnih operacij na operandih.
- Logični operaterji nam pomagajo izvajati različne logične operacije nad operandi.
- Bit-operatorji nam pomagajo izvajati bitne operacije nad operandi.
- Operatorji dodeljevanja nam pomagajo izvajati različne računske operacije nad operandi.
- Operator sizeof vrne velikost spremenljivke ali podatkovnega tipa.
- Operator vejic izvede zaporedje operacij.
- Pogojni operater oceni stanje in deluje na podlagi rezultata.