C ++ operatori s primjerima

Sadržaj:

Anonim

Što su operateri?

Operator je simbol koji se koristi za izvođenje operacija nad operandima. Operator upravlja operandima. Operacije mogu biti matematičke ili logičke. U C ++-u postoje različite vrste operatora za izvođenje različitih operacija.

Razmotrite sljedeću operaciju:

a = x + y;

U gornjoj su izjavi x i y operandi, dok je + operator zbrajanja. Kada C ++ kompajler naiđe na gornju izjavu, on će dodati x i y i rezultat pohraniti u varijablu a.

U ovom vodiču za C ++ naučit ćete:

  • Što su operateri?
  • Aritmetički operatori
  • Relacijski operateri
  • Logički operatori
  • Bitovni operateri
  • Operatori dodjele
  • Razni operater
    • veličina operatora
    • Zapetac
    • Uvjetni operater
  • Prednost operatora

Aritmetički operatori

To su vrste operatora koji se koriste za izvođenje matematičkih / aritmetičkih operacija. Oni uključuju:

Operater Opis
+ operator sabiranja Dodaje se operandima.
- operator oduzimanja Oduzima drugi operand od prvog operanda.
* operator množenja Množi 2 operanda.
/ operator podjele. Dijeli brojilac s nazivnikom.
% operatora modula Vraća ostatak nakon podjele.
++ operator prirasta Povećava cijelu vrijednost za 1.
- operator dekrementa. Smanjuje cijelu vrijednost za 1.

Na primjer:

#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;}

Izlaz:

Evo snimke zaslona koda:

Objašnjenje koda:

  1. Uključujući iostream datoteku zaglavlja u naš kod. Omogućit će nam čitanje s konzole i pisanje na nju.
  2. Uključujući prostor imena std kako bi koristio njegove klase i funkcije bez poziva.
  3. Pozivanje funkcije main () unutar koje treba dodati logiku programa. {Označava početak tijela glavne () funkcije.
  4. Deklariranje cjelobrojne varijable a i inicijalizacija na 11.
  5. Deklariranje cjelobrojne varijable b i inicijalizacija na 5.
  6. Deklariranje cjelobrojne varijable c.
  7. Ispis vrijednosti operacije a + b uz drugi tekst na konzoli.
  8. Ispis vrijednosti operacije ab uz drugi tekst na konzoli.
  9. Ispis vrijednosti operacije a * b uz drugi tekst na konzoli.
  10. Ispis vrijednosti operacije a / b zajedno s drugim tekstom na konzoli.
  11. Ispis vrijednosti operacije a% b uz drugi tekst na konzoli.
  12. Ispis vrijednosti operacije a ++ uz drugi tekst na konzoli.
  13. Vrijednost ispisa operacije a-- zajedno s drugim tekstom na konzoli.
  14. Funkcija main () trebala bi vratiti vrijednost ako program dobro radi.
  15. Kraj tijela glavne () funkcije.

Relacijski operateri

Ove vrste operatora izvode usporedbe na operandima. Na primjer, možda ćete trebati znati koji je operand veći od drugog ili manji od drugog. Oni uključuju:

Opis

Operater Opis
== jednako operatoru. Provjerava jednakost dviju vrijednosti operanda.
! = nije jednako operatoru Provjerava jednakost dviju vrijednosti operanda.
> sjajan od operatera Provjerava je li vrijednost lijevog operanda veća od vrijednosti desnog operanda.
Provjerava je li vrijednost lijevog operanda manja od vrijednosti desnog operanda.
> = veći ili jednak operatoru Provjerava je li vrijednost lijevog operanda veća ili jednaka vrijednosti desnog operanda.
<= manje ili jednako operatoru. Provjerava je li vrijednost lijevog operanda manja ili jednaka vrijednosti desnog operanda.

Na primjer:

#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;}

Izlaz:

Evo snimke zaslona koda:

Objašnjenje koda:

  1. Uključujući iostream datoteku zaglavlja u naš kod. Omogućit će nam čitanje s konzole i pisanje na nju.
  2. Uključujući prostor imena std kako bi koristio njegove klase i funkcije bez poziva.
  3. Pozivanje funkcije main () unutar koje treba dodati logiku programa. {Označava početak tijela glavne () funkcije.
  4. Deklariranje cjelobrojne varijable a i inicijalizacija na 11.
  5. Deklariranje cjelobrojne varijable b i inicijalizacija na 5.
  6. Ispis određenog teksta na konzoli navodeći vrijednosti varijabli a i b.
  7. Izvođenje aritmetičke operacije, a == b u izjavi za donošenje odluke ako želite znati je li istinita ili netačna. Oznaka {označava početak tijela naredbe if.
  8. Tekst za ispis na konzoli ako je operacija a == b istinita. Endl je ključna riječ C ++ za krajnji redak. Gura kursor za početak ispisa u sljedećem retku. }} Označava kraj tijela izjave if.
  9. Ostali dio gore navedene izjave if. Navodi se što učiniti ako je operacija a == b lažna.
  10. Tekst za ispis na konzoli ako je operacija a == b lažna. Endl je ključna riječ C ++ za krajnji redak. Gura kursor za početak ispisa u sljedećem retku. }} Označava kraj tijela naredbe else.
  11. Izvođenje aritmetičke operacije, a
  12. Tekst za ispis na konzoli ako je operacija a
  13. Ostali dio gore navedene izjave if. Navodi se što učiniti ako je operacija a
  14. Tekst za ispis na konzoli ako je operacija a
  15. Izvođenje aritmetičke operacije a> b u izjavi donošenja odluka ako želite znati je li istinita ili netačna. Oznaka {označava početak tijela naredbe if.
  16. Tekst za ispis na konzoli ako je operacija a> b istinita. Endl je ključna riječ C ++ za krajnji redak. Gura kursor za početak ispisa u sljedećem retku. }} Označava kraj tijela izjave if.
  17. Ostali dio gore navedene izjave if. Navodi se što učiniti ako je operacija a> b lažna.
  18. Tekst za ispis na konzoli ako je operacija a> b lažna. Endl je ključna riječ C ++ za krajnji redak. Gura kursor za početak ispisa u sljedećem retku. }} Označava kraj tijela naredbe else.
  19. Funkcija main () trebala bi vratiti vrijednost ako program dobro radi.
  20. Kraj tijela glavne () funkcije.

Logički operatori

Logički operatori kombiniraju dva / više ograničenja / uvjeta. Logički operatori također nadopunjuju ocjenu izvornog stanja koje se razmatra. Oni uključuju:

Operater Opis
&& logički operator AND. Uvjet je istinit ako oba operanda nisu nula.
|| logički ILI operator. Uvjet je istinit ako je jedan od operanda različit od nule.
! logički NE operator. Obrne logičko stanje operanda. Ako je operand istinit,! operator čini lažnim.

Na primjer:

#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;}

Izlaz:

Evo snimke zaslona koda:

Objašnjenje koda:

  1. Uključujući iostream datoteku zaglavlja u naš kod. Omogućit će nam čitanje s konzole i pisanje na nju.
  2. Uključujući prostor imena std kako bi koristio njegove klase i funkcije bez poziva.
  3. Pozivanje funkcije main () unutar koje treba dodati logiku programa.
  4. {Označava početak tijela glavne () funkcije.
  5. Deklariranje 4 cjelobrojne varijable a, b, c i d i dodjeljivanje različitih vrijednosti.
  6. Korištenje operatora && (AND) unutar izraza if. Spaja dva uvjeta, vrijednost jednako jednaka je vrijednosti b i, vrijednost a je veća od vrijednosti b. Prvi je uvjet netačan, drugi uvjet je istinit. False && true je False, dakle, ishod if je false.
  7. Tekst za ispis na konzoli ako je gore navedeni podatak if istinit. Ovo se neće izvršiti.
  8. Dio koji treba izvršiti ako je gore navedeni navod if netačan.
  9. Tekst za ispis na konzoli ako je izraz if netačan. Ovo će biti izvršeno.
  10. Korištenje || (ILI) operator unutar if naredbe. Spaja dva uvjeta, vrijednost jednako jednaka je vrijednosti b i, vrijednost a je veća od vrijednosti b. Prvi je uvjet netačan, drugi uvjet je istinit. False || true je istina, stoga je ishod if istinit.
  11. Tekst za ispis na konzoli ako je gore navedeni podatak if istinit. Ovo će biti izvršeno.
  12. Dio koji treba izvršiti ako je gore navedeni navod if netačan.
  13. Tekst za ispis na konzoli ako je izraz if netačan. Ovo se neće izvršiti.
  14. Provjera je li vrijednost varijable 0.
  15. Tekst za ispis na konzoli ako je gore navedeni podatak if istinit. Ovo se neće izvršiti.
  16. Dio koji treba izvršiti ako je gore navedeni navod if netačan.
  17. Tekst za ispis na konzoli ako je izraz if netačan. Ovo će biti izvršeno.
  18. Funkcija main () trebala bi vratiti vrijednost ako program dobro radi.
  19. Kraj tijela glavne () funkcije.

Bitovni operateri

Bitovni operatori izvode operacije na razini bita nad operandima. Prvo se operatori pretvaraju u razinu bita, a zatim se operacije izvršavaju na operandima. Kada se aritmetičke operacije poput zbrajanja i oduzimanja izvode na razini bitova, rezultati se mogu postići brže. Oni uključuju:

Operater Opis
& (u bitovima I). Potrebna su 2 broja (operanda), a zatim se izvodi I na svakom bitu od dva broja. Ako su oba 1, I vraća 1, inače 0.
| (u bitovima ILI) Uzima 2 broja (operanda), a zatim izvodi ILI na svakom bitu od dva broja. Vraća 1 ako je jedan od bitova 1.
(bitni XOR) Uzima 2 broja (operanda), a zatim izvodi XOR na svakom bitu od 2 broja. Vraća 1 ako su oba bita različita.
<< (smjena ulijevo) Uzme dva broja, a zatim lijevo pomiče bitove prvog operanda. Drugi operand određuje ukupna mjesta za pomicanje.
>> (desna smjena) Uzima dva broja, a zatim udesno pomiče bitove prvog operanda. Drugi operand određuje broj mjesta za pomicanje.
~ (u bitima NE). Uzme broj, a zatim invertira sve njegove bitove.
#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;}

Izlaz:

Evo snimke zaslona koda:

Objašnjenje koda:

  1. Uključujući iostream datoteku zaglavlja u naš kod. Omogućit će nam čitanje s konzole i pisanje na nju.
  2. Uključujući prostor imena std kako bi koristio njegove klase i funkcije bez poziva.
  3. Pozivanje funkcije main () unutar koje treba dodati logiku programa. {Označava početak tijela glavne () funkcije.
  4. Deklariranje nepotpisane cjelobrojne varijable p i dodjeljivanje vrijednosti 60, što je 0011 1100 u binarnom obliku.
  5. Deklariranje nepotpisane cjelobrojne varijable q i dodjeljivanje vrijednosti 13, što je 0000 1101 u binarnom obliku.
  6. Deklariranje cjelobrojne varijable z i inicijalizacija na 0.
  7. Izvođenje bitovne operacije & (AND) na varijablama p i q i spremanje rezultata u varijablu z.
  8. Ispis rezultata gore navedene operacije na konzoli uz drugi tekst.
  9. Izvođenje u bitovima | (ILI) operacija na varijablama p i q i spremanje rezultata u varijablu z.
  10. Ispis rezultata gore navedene operacije na konzoli uz drugi tekst.
  11. Izvođenje bitovne (XOR) operacije na varijablama p i q i spremanje rezultata u varijablu z.
  12. Ispis rezultata gore navedene operacije na konzoli uz drugi tekst.
  13. Izvođenje bitovne ~ (NOT) operacije na varijablama p i q i spremanje rezultata u varijablu z.
  14. Ispis rezultata gore navedene operacije na konzoli uz drugi tekst.
  15. Izvođenje operacije lijevog pomaka na varijabli p i spremanje rezultata u varijablu z.
  16. Ispis rezultata gore navedene operacije na konzoli uz drugi tekst.
  17. Izvođenje operacije desnog pomaka na varijabli p i spremanje rezultata u varijablu z.
  18. Ispis rezultata gore navedene operacije na konzoli uz drugi tekst.
  19. Funkcija main () trebala bi vratiti vrijednost ako program dobro radi.
  20. Kraj tijela glavne () funkcije.

Operatori dodjele

Operatori dodjele dodjeljuju vrijednosti varijablama. Operand / varijabla dodaje se na lijevu stranu operatora, dok se vrijednost dodaje na desnu stranu operatora. Varijabla i vrijednost moraju pripadati istom tipu podataka, u suprotnom će C ++ prevodilac stvoriti pogrešku. Na primjer:

x = 5;

U gornjem primjeru, x je varijabla / operand, = je operator dodjele, dok je 5 vrijednost. Evo popularnih operatora dodjele u C ++-u:

Operater Opis
= (operater jednostavnog dodjeljivanja) Vrijednosti s desne strane dodjeljuje varijabli s lijeve strane.
+ = (Dodaj I operator dodjele) Prvo dodaje vrijednost lijevog operanda vrijednosti desnog operanda, a zatim dodjeljuje rezultat varijabli na lijevoj strani.
- = (Oduzmi I operator dodjele) Prvo oduzima vrijednost desnog operanda od vrijednosti lijevog operanda, a zatim dodjeljuje rezultat varijabli na lijevoj strani.
* = (Pomnoži i dodijeli operator) Prvo pomnoži vrijednost lijevog operanda s vrijednošću desnog operanda, a zatim dodijeli rezultat varijabli na lijevoj strani.
/ = (Operator podjele i dodjele) Prvo dijeli vrijednost lijevog operanda s vrijednošću desnog operanda, a zatim dodjeljuje rezultat varijabli na lijevoj strani.

Na primjer:

#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;}

Izlaz:

Evo snimke zaslona koda:

Objašnjenje koda:

  1. Uključujući iostream datoteku zaglavlja u naš kod. Omogućit će nam čitanje s konzole i pisanje na nju.
  2. Uključujući prostor imena std kako bi koristio njegove klase i funkcije bez poziva.
  3. Pozivanje funkcije main () unutar koje treba dodati logiku programa.
  4. {Označava početak tijela glavne () funkcije.
  5. Deklariranje cjelobrojne varijable x i dodjeljivanje vrijednosti 5.
  6. Ispis vrijednosti varijable x uz drugi tekst na konzoli. \ N je novi redak. Tijekom ispisa pomiče kursor u sljedeći redak.
  7. Dodavanje vrijednosti 5 varijabli x i dodjeljivanje rezultata varijabli x.
  8. Ispis vrijednosti varijable x na konzoli uz drugi tekst.
  9. Oduzimanje vrijednosti 5 od vrijednosti x i dodjeljivanje rezultata varijabli x.
  10. Ispis vrijednosti varijable x na konzoli uz drugi tekst.
  11. Množenje vrijednosti varijable x s 5 i dodjeljivanje rezultata varijabli x.
  12. Ispis vrijednosti varijable x na konzoli uz drugi tekst.
  13. Dijeljenje vrijednosti varijable x s 5 i dodjeljivanje rezultata varijabli x.
  14. Ispis vrijednosti varijable x na konzoli uz drugi tekst.
  15. Funkcija main () trebala bi vratiti vrijednost ako program dobro radi.
  16. Kraj tijela glavne () funkcije.

Razni operater

Razgovarajmo o ostalim operatorima koje podržava C ++:

veličina operatora

Ovaj operator određuje veličinu varijable. Koristite operator sizeof da odredite veličinu vrste podataka. Na primjer:

#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;}

Izlaz:

Evo snimke zaslona koda:

Objašnjenje koda:

  1. Uključujući iostream datoteku zaglavlja u naš kod. Omogućit će nam čitanje s konzole i pisanje na nju.
  2. Uključujući prostor imena std kako bi koristio njegove klase i funkcije bez poziva.
  3. Pozivanje funkcije main () unutar koje treba dodati logiku programa. {Označava početak tijela glavne () funkcije.
  4. Određivanje veličine cjelobrojnog tipa podataka pomoću sizeof operatora i ispisivanje uz drugi tekst na konzoli.
  5. Određivanje veličine podatkovnog tipa znakova pomoću sizeof operatora i ispis zajedno s drugim tekstom na konzoli.
  6. Utvrđivanje veličine tipa plutajućeg podataka pomoću sizeof operatora i ispisivanje uz drugi tekst na konzoli.
  7. Utvrđivanje veličine tipa plutajućeg podataka pomoću sizeof operatora i ispisivanje uz drugi tekst na konzoli.
  8. Funkcija main () trebala bi vratiti vrijednost ako program dobro radi.
  9. Kraj tijela glavne () funkcije.

Zapetac

Operator zareza (,) pokreće izvođenje niza operacija. Izražava prvi operand i odbacuje rezultat. Zatim ocjenjuje drugi operand i vraća vrijednost i vrstu.

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

Izlaz:

Evo snimke zaslona koda:

Objašnjenje koda:

  1. Uključujući iostream datoteku zaglavlja u naš kod. Omogućit će nam čitanje s konzole i pisanje na nju.
  2. Uključujući prostor imena std kako bi koristio njegove klase i funkcije bez poziva.
  3. Pozivanje funkcije main () unutar koje treba dodati logiku programa. {Označava početak tijela glavne () funkcije.
  4. Deklariranje dvije cjelobrojne varijable x i y.
  5. Dodjeljivanje varijable ya vrijednosti 100.
  6. Povećavanje vrijednosti y i dodjeljivanje rezultata varijabli x. Počinje s y na 100, a zatim ga povećava na 101 (y ++). Dalje, y se dodaje 10. Napokon, y, još uvijek na 101, dodaje se 99, dajući 200. x je sada 200.
  7. Ispis vrijednosti varijable x na konzoli.
  8. Funkcija main () trebala bi vratiti vrijednost ako program dobro radi.
  9. Kraj tijela glavne () funkcije.

Uvjetni operater

Ovaj operater procjenjuje stanje i djeluje na temelju ishoda procjene.

Sintaksa:

Condition ? Expression2 : Expression3;

Parametri:

  • Uvjet je uvjet koji treba procijeniti.
  • Izraz1 je izraz koji treba izvršiti ako je uvjet istinit.
  • Izraz3 je izraz koji treba izvršiti ako je uvjet netačan.

Na primjer:

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

Izlaz:

Evo snimke zaslona koda:

Objašnjenje koda:

  1. Uključujući iostream datoteku zaglavlja u naš kod. Omogućit će nam čitanje s konzole i pisanje na nju.
  2. Uključujući prostor imena std kako bi koristio njegove klase i funkcije bez poziva.
  3. Pozivanje funkcije main () unutar koje treba dodati logiku programa. {Označava početak tijela glavne () funkcije.
  4. Deklariranje dvije cjelobrojne varijable a i b. Varijabli a dodijeljena je vrijednost 1.
  5. Dodjeljivanje vrijednosti varijabli b. Ako je varijabla a manja od 10, b će dobiti vrijednost 2, u suprotnom b će dobiti vrijednost 5.
  6. Ispis vrijednosti varijable b na konzoli uz drugi tekst.
  7. Funkcija main () trebala bi vratiti vrijednost ako program dobro radi.
  8. Kraj tijela glavne () funkcije.

Prednost operatora

Jedna operacija može imati više operatora. U tom slučaju, prednost operatora određuje onaj koji se prvo ocjenjuje.

Sljedeći popis prikazuje prednost operatora u C ++, s smanjenjem prednosti slijeva udesno:

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

Sažetak:

  • Operatori su simboli za izvođenje logičkih i aritmetičkih operacija.
  • Aritmetički operatori pomažu nam u izvođenju različitih aritmetičkih operacija na operandima.
  • Relacijski operateri pomažu nam u izvođenju različitih operacija usporedbe operanda.
  • Logički operatori pomažu nam u izvršavanju različitih logičkih operacija nad operandima.
  • Bitovni operatori pomažu nam u vršenju bitnih operacija na operandima.
  • Operatori dodjele pomažu nam u izvršavanju različitih aritmetičkih operacija na operandima.
  • Operator sizeof vraća veličinu varijable ili tipa podataka.
  • Operator zarez izvršava slijed operacija.
  • Uvjetni operator procjenjuje stanje i djeluje na temelju ishoda.