Operatori C ++ cu exemple

Cuprins:

Anonim

Ce sunt operatorii?

Un operator este un simbol utilizat pentru efectuarea operațiilor pe operanzi. Un operator operează operanzi. Operațiile pot fi matematice sau logice. Există diferite tipuri de operatori în C ++ pentru efectuarea de operațiuni diferite.

Luați în considerare următoarea operație:

a = x + y;

În afirmația de mai sus, x și y sunt operanzii în timp ce + este un operator de adăugare. Când compilatorul C ++ întâlnește declarația de mai sus, va adăuga x și y și va stoca rezultatul în variabila a.

În acest tutorial C ++, veți afla:

  • Ce sunt operatorii?
  • Operatori aritmetici
  • Operatori relaționali
  • Operatori logici
  • Operatori Bitwise
  • Operatori de misiune
  • Operator divers
    • mărimea operatorului
    • Operator de virgulă
    • Operator condiționat
  • Precedența operatorilor

Operatori aritmetici

Sunt tipurile de operatori folosiți pentru efectuarea operațiilor matematice / aritmetice. Ei includ:

Operator Descriere
+ operator de adăugare Se adaugă la operanzi.
- operator de scădere Scade al doilea operand din primul operand.
* operator de multiplicare Multiplică 2 operanzi.
/ operator de divizie. Împarte numărătorul la numitor.
% operator modul Returnează restul după divizare.
++ operator de incrementare Crește o valoare întreagă cu 1.
- operator decrement. Scade o valoare întreagă cu 1.

De exemplu:

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

Ieșire:

Iată o captură de ecran a codului:

Explicatie cod:

  1. Includerea fișierului antet iostream în codul nostru. Ne va permite să citim și să scriem pe consolă.
  2. Includerea spațiului de nume std pentru a-și folosi clasele și funcțiile fără a-l apela.
  3. Apelarea funcției main () în cadrul căreia ar trebui adăugată logica programului. {Marchează începutul corpului funcției main ().
  4. Declararea unei variabile întregi a și inițializarea acesteia la 11.
  5. Declararea unei variabile întregi b și inițializarea acesteia la 5.
  6. Declararea unei variabile întregi c.
  7. Valoarea de imprimare a operației a + b alături de alt text de pe consolă.
  8. Valoarea de imprimare a operației ab alături de alt text de pe consolă.
  9. Valoarea de imprimare a operației a * b alături de alt text de pe consolă.
  10. Valoarea de imprimare a operației a / b alături de alt text de pe consolă.
  11. Valoarea de imprimare a operației a% b alături de alt text de pe consolă.
  12. Valoarea de imprimare a operației a ++ alături de alt text de pe consolă.
  13. Valoarea de imprimare a operației a-- alături de alt text de pe consolă.
  14. Funcția main () ar trebui să returneze o valoare dacă programul rulează bine.
  15. Sfârșitul corpului funcției main ().

Operatori relaționali

Aceste tipuri de operatori efectuează comparații pe operanzi. De exemplu, poate fi necesar să știți care operand este mai mare decât celălalt sau mai mic decât celălalt. Ei includ:

Descriere

Operator Descriere
== egal cu operatorul. Verifică egalitatea a două valori de operand.
! = nu este egal cu operatorul Verifică egalitatea a două valori de operand.
> grozav decât operator Verifică dacă valoarea operandului din stânga este mai mare decât valoarea operandului din dreapta.
Verifică dacă valoarea operandului din stânga este mai mică decât valoarea operandului din dreapta.
> = mai mare sau egal cu operatorul Verifică dacă valoarea operandului din stânga este mai mare sau egală cu valoarea operandului din dreapta.
<= mai mic sau egal cu operatorul. Verifică dacă valoarea operandului din stânga este mai mică sau egală cu valoarea operandului din dreapta.

De exemplu:

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

Ieșire:

Iată o captură de ecran a codului:

Explicatie cod:

  1. Includerea fișierului antet iostream în codul nostru. Ne va permite să citim și să scriem pe consolă.
  2. Includerea spațiului de nume std pentru a-și folosi clasele și funcțiile fără a-l apela.
  3. Apelarea funcției main () în cadrul căreia ar trebui adăugată logica programului. {Marchează începutul corpului funcției main ().
  4. Declararea unei variabile întregi a și inițializarea acesteia la 11.
  5. Declararea unei variabile întregi b și inițializarea acesteia la 5.
  6. Tipărirea unui text pe consolă cu valori ale variabilelor a și b.
  7. Efectuând operația aritmetică, a == b într-o declarație de luare a deciziilor if pentru a ști dacă este adevărată sau falsă. {Marchează începutul corpului declarației if.
  8. Text de imprimat pe consolă dacă operația a == b este adevărată. Endl este un cuvânt cheie C ++ pentru linia finală. Împinge cursorul pentru a începe tipărirea în următoarea linie. } Marchează sfârșitul corpului declarației if.
  9. Cealaltă parte a declarației de mai sus if. Se precizează ce trebuie făcut dacă operațiunea a == b este falsă.
  10. Text de imprimat pe consolă dacă operațiunea a == b este falsă. Endl este un cuvânt cheie C ++ pentru linia finală. Împinge cursorul pentru a începe tipărirea în următoarea linie. } Marchează sfârșitul corpului declarației else.
  11. Efectuând operația aritmetică, a
  12. Text de imprimat pe consolă dacă operațiunea a
  13. Cealaltă parte a declarației de mai sus if. Se precizează ce trebuie făcut dacă operațiunea a
  14. Text de imprimat pe consolă dacă operațiunea a
  15. Efectuarea operației aritmetice a> b într-o declarație de luare a deciziilor pentru a ști dacă este adevărată sau falsă. {Marchează începutul corpului declarației if.
  16. Text de imprimat pe consolă dacă operația a> b este adevărată. Endl este un cuvânt cheie C ++ pentru linia finală. Împinge cursorul pentru a începe tipărirea în următoarea linie. } Marchează sfârșitul corpului declarației if.
  17. Cealaltă parte a declarației de mai sus if. Se precizează ce trebuie făcut dacă operațiunea a> b este falsă.
  18. Text de imprimat pe consolă dacă operațiunea a> b este falsă. Endl este un cuvânt cheie C ++ pentru linia finală. Împinge cursorul pentru a începe tipărirea în următoarea linie. } Marchează sfârșitul corpului declarației else.
  19. Funcția main () ar trebui să returneze o valoare dacă programul rulează bine.
  20. Sfârșitul corpului funcției main ().

Operatori logici

Operatorii logici combină două / mai multe constrângeri / condiții. Operatorii logici completează, de asemenea, evaluarea stării originale luate în considerare. Ei includ:

Operator Descriere
&& logic AND operator. Condiția este adevărată dacă ambii operanzi nu sunt zero.
|| operator SAU logic. Condiția este adevărată dacă unul dintre operanzi este diferit de zero.
! operator NU logic. Inversează starea logică a operandului. Dacă operandul este adevărat, operatorul îl face fals.

De exemplu:

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

Ieșire:

Iată o captură de ecran a codului:

Explicatie cod:

  1. Includerea fișierului antet iostream în codul nostru. Ne va permite să citim și să scriem pe consolă.
  2. Includerea spațiului de nume std pentru a-și folosi clasele și funcțiile fără a-l apela.
  3. Apelarea funcției main () în cadrul căreia ar trebui adăugată logica programului.
  4. {Marchează începutul corpului funcției main ().
  5. Declararea a 4 variabile întregi a, b, c și d și atribuirea lor de valori diferite.
  6. Folosind operatorul && (ȘI) din instrucțiunea if. Împreună cu două condiții, valoarea lui este egală cu valoarea lui b și, valoarea lui a este mai mare decât valoarea lui b. Prima condiție este falsă, a doua condiție este adevărată. False && true este False, deci rezultatul dacă este fals.
  7. Text de imprimat pe consolă dacă declarația de mai sus if este adevărată. Acest lucru nu va fi executat.
  8. Piesa de executat dacă declarația de mai sus if este falsă.
  9. Text de imprimat pe consolă dacă instrucțiunea if este falsă. Aceasta va fi executată.
  10. Utilizarea || (SAU) operator într-o declarație if. Împreună cu două condiții, valoarea lui este egală cu valoarea lui b și, valoarea lui a este mai mare decât valoarea lui b. Prima condiție este falsă, a doua condiție este adevărată. Fals || adevărat este adevărat, deci rezultatul dacă este adevărat.
  11. Text de imprimat pe consolă dacă declarația de mai sus if este adevărată. Aceasta va fi executată.
  12. Piesa de executat dacă declarația de mai sus if este falsă.
  13. Text de imprimat pe consolă dacă instrucțiunea if este falsă. Acest lucru nu va fi executat.
  14. Verificarea dacă valoarea variabilei este 0.
  15. Text de imprimat pe consolă dacă declarația de mai sus if este adevărată. Acest lucru nu va fi executat.
  16. Piesa de executat dacă declarația de mai sus if este falsă.
  17. Text de imprimat pe consolă dacă instrucțiunea if este falsă. Aceasta va fi executată.
  18. Funcția main () ar trebui să returneze o valoare dacă programul rulează bine.
  19. Sfârșitul corpului funcției main ().

Operatori Bitwise

Operatorii bitwise efectuează operații la nivel de bit pe operanzi. În primul rând, operatorii sunt convertiți la nivel de biți, apoi operațiile sunt efectuate pe operanzi. Când operațiile aritmetice, cum ar fi adunarea și scăderea, se fac la nivel de biți, rezultatele pot fi obținute mai repede. Ei includ:

Operator Descriere
& (bitwise AND). Este nevoie de 2 numere (operanzi), apoi efectuează ȘI pe fiecare bit de două numere. Dacă ambele sunt 1, ȘI returnează 1, altfel 0.
| (SAU bit) Ia 2 numere (operanzi), apoi efectuează SAU pentru fiecare bit de două numere. Returnează 1 dacă unul dintre biți este 1.
(XOR bitwise) Ia 2 numere (operanzi) apoi efectuează XOR pe fiecare bit de 2 numere. Returnează 1 dacă ambii biți sunt diferiți.
<< (schimbare stânga) Ia două numere, apoi la stânga schimbă biții primului operand. Al doilea operand determină numărul total de locuri pentru deplasare.
>> (schimbare dreapta) Ia două numere, apoi dreapta deplasează biții primului operand. Al doilea operand determină numărul de locuri de deplasat.
~ (bitwise NU). Ia numărul, apoi își inversează toți biții.
#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;}

Ieșire:

Iată o captură de ecran a codului:

Explicatie cod:

  1. Includerea fișierului antet iostream în codul nostru. Ne va permite să citim și să scriem pe consolă.
  2. Includerea spațiului de nume std pentru a-și folosi clasele și funcțiile fără a-l apela.
  3. Apelarea funcției main () în cadrul căreia ar trebui adăugată logica programului. {Marchează începutul corpului funcției main ().
  4. Declararea unei variabile întregi nesemnate p și atribuirea acesteia la o valoare de 60, adică 0011 1100 în binar.
  5. Declararea unei variabile întregi nesemnate q și atribuirea acesteia la o valoare de 13, adică 0000 1101 în binar.
  6. Declararea unei variabile întregi z și inițializarea acesteia la 0.
  7. Efectuarea operației bit și & (ȘI) pe variabilele p și q și stocarea rezultatului în variabila z.
  8. Imprimarea rezultatului operației de mai sus pe consolă alături de alt text.
  9. Efectuarea bitwise | (SAU) operație pe variabilele p și q și stocarea rezultatului în variabila z.
  10. Imprimarea rezultatului operației de mai sus pe consolă alături de alt text.
  11. Efectuarea operațiunii bitwise (XOR) pe variabilele p și q și stocarea rezultatului în variabila z.
  12. Imprimarea rezultatului operației de mai sus pe consolă alături de alt text.
  13. Efectuarea operației ~ (NU) pe biți pe variabilele p și q și stocarea rezultatului în variabila z.
  14. Imprimarea rezultatului operației de mai sus pe consolă alături de alt text.
  15. Efectuarea operației de schimbare la stânga a variabilei p și stocarea rezultatului în variabila z.
  16. Imprimarea rezultatului operației de mai sus pe consolă alături de alt text.
  17. Efectuarea operației de schimbare dreaptă a variabilei p și stocarea rezultatului în variabila z.
  18. Imprimarea rezultatului operației de mai sus pe consolă alături de alt text.
  19. Funcția main () ar trebui să returneze o valoare dacă programul rulează bine.
  20. Sfârșitul corpului funcției main ().

Operatori de misiune

Operatorii de atribuire atribuie valori variabilelor. Operandul / variabila este adăugat în partea stângă a operatorului în timp ce valoarea este adăugată în partea dreaptă a operatorului. Variabila și valoarea trebuie să aparțină aceluiași tip de date, în caz contrar, compilatorul C ++ va ridica eroarea. De exemplu:

x = 5;

În exemplul de mai sus, x este variabila / operand, = este operatorul de atribuire în timp ce 5 este valoarea. Iată operatorii populari de atribuire în C ++:

Operator Descriere
= (operator simplu de atribuire) Atribuie valoare din dreapta variabilei din stânga.
+ = (Adăugare ȘI operator de atribuire) Mai întâi adaugă valoarea operandului stâng la valoarea operandului drept, apoi atribuie rezultatul variabilei din stânga.
- = (Operator de scădere ȘI atribuire) Mai întâi scade valoarea operandului din dreapta din valoarea operandului din stânga, apoi atribuie rezultatul variabilei din stânga.
* = (Multiplicare ȘI operator de atribuire) Mai întâi înmulțește valoarea operandului stâng cu valoarea operandului drept, apoi atribuie rezultatul variabilei din stânga.
/ = (Divizie ȘI operator de atribuire) Mai întâi împarte valoarea operandului stâng la valoarea operandului drept, apoi atribuie rezultatul variabilei din stânga.

De exemplu:

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

Ieșire:

Iată o captură de ecran a codului:

Explicatie cod:

  1. Includerea fișierului antet iostream în codul nostru. Ne va permite să citim și să scriem pe consolă.
  2. Includerea spațiului de nume std pentru a-și folosi clasele și funcțiile fără a-l apela.
  3. Apelarea funcției main () în cadrul căreia ar trebui adăugată logica programului.
  4. {Marchează începutul corpului funcției main ().
  5. Declararea unui număr întreg variabilele x și atribuirea acestuia la o valoare de 5.
  6. Valoarea de imprimare a variabilei x alături de alt text de pe consolă. \ N este un nou caracter de linie. Mută ​​cursorul pe linia următoare la imprimare.
  7. Adăugarea 5 la valoarea variabilei x și atribuirea rezultatului variabilei x.
  8. Valoarea de imprimare a variabilei x pe consolă alături de alt text.
  9. Scăderea 5 din valoarea lui x și atribuirea rezultatului variabilei x.
  10. Valoarea de imprimare a variabilei x pe consolă alături de alt text.
  11. Înmulțind valoarea variabilei x cu 5 și atribuind rezultatul variabilei x.
  12. Valoarea de imprimare a variabilei x pe consolă alături de alt text.
  13. Împărțirea valorii variabilei x la 5 și atribuirea rezultatului variabilei x.
  14. Valoarea de imprimare a variabilei x pe consolă alături de alt text.
  15. Funcția main () ar trebui să returneze o valoare dacă programul rulează bine.
  16. Sfârșitul corpului funcției main ().

Operator divers

Să discutăm alți operatori susținuți de C ++:

mărimea operatorului

Acest operator determină dimensiunea unei variabile. Utilizați operatorul sizeof pentru a determina dimensiunea unui tip de date. De exemplu:

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

Ieșire:

Iată o captură de ecran a codului:

Explicatie cod:

  1. Includerea fișierului antet iostream în codul nostru. Ne va permite să citim și să scriem pe consolă.
  2. Includerea spațiului de nume std pentru a-și folosi clasele și funcțiile fără a-l apela.
  3. Apelarea funcției main () în cadrul căreia ar trebui adăugată logica programului. {Marchează începutul corpului funcției main ().
  4. Determinarea dimensiunii tipului de date întregi folosind operatorul sizeof și imprimarea acestuia alături de alt text de pe consolă.
  5. Determinarea dimensiunii tipului de date de caractere folosind operatorul sizeof și imprimarea acestuia alături de alt text de pe consolă.
  6. Determinarea dimensiunii tipului de date flotante folosind operatorul sizeof și imprimarea acestuia alături de alt text de pe consolă.
  7. Determinarea dimensiunii tipului de date flotante folosind operatorul sizeof și imprimarea acestuia alături de alt text de pe consolă.
  8. Funcția main () ar trebui să returneze o valoare dacă programul rulează bine.
  9. Sfârșitul corpului funcției main ().

Operator de virgulă

Operatorul de virgulă (,) declanșează efectuarea unei secvențe de operații. Exprimă primul operand și aruncă rezultatul. Apoi, evaluează al doilea operand și returnează valoarea și tipul.

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

Ieșire:

Iată o captură de ecran a codului:

Explicatie cod:

  1. Includerea fișierului antet iostream în codul nostru. Ne va permite să citim și să scriem pe consolă.
  2. Includerea spațiului de nume std pentru a-și folosi clasele și funcțiile fără a-l apela.
  3. Apelarea funcției main () în cadrul căreia ar trebui adăugată logica programului. {Marchează începutul corpului funcției main ().
  4. Declararea a două variabile întregi x și y.
  5. Atribuirea variabilei ya valoare de 100.
  6. Creșterea valorii lui y și atribuirea rezultatului variabilei x. Începe cu y la 100, apoi îl mărește la 101 (y ++). Apoi, y se adaugă la 10. În cele din urmă, y, încă la 101, se adaugă la 99, oferind 200. x este acum 200.
  7. Valoarea de imprimare a variabilei x pe consolă.
  8. Funcția main () ar trebui să returneze o valoare dacă programul rulează bine.
  9. Sfârșitul corpului funcției main ().

Operator condiționat

Acest operator evaluează o stare și acționează pe baza rezultatului evaluării.

Sintaxă:

Condition ? Expression2 : Expression3;

Parametri:

  • Condiția este condiția care urmează să fie evaluată.
  • Expression1 este expresia care trebuie executată dacă condiția este adevărată.
  • Expression3 este expresia care trebuie executată dacă condiția este falsă.

De exemplu:

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

Ieșire:

Iată o captură de ecran a codului:

Explicatie cod:

  1. Includerea fișierului antet iostream în codul nostru. Ne va permite să citim și să scriem pe consolă.
  2. Includerea spațiului de nume std pentru a-și folosi clasele și funcțiile fără a-l apela.
  3. Apelarea funcției main () în cadrul căreia ar trebui adăugată logica programului. {Marchează începutul corpului funcției main ().
  4. Declararea a două variabile întregi a și b. Variabilei a i s-a atribuit o valoare de 1.
  5. Atribuirea valorii variabilei b. Dacă variabila a este mai mică de 10, lui b i se va atribui valoarea 2, în caz contrar, b i se va atribui o valoare de 5.
  6. Valoarea de imprimare a variabilei b pe consolă alături de alt text.
  7. Funcția main () ar trebui să returneze o valoare dacă programul rulează bine.
  8. Sfârșitul corpului funcției main ().

Precedența operatorilor

O singură operație poate avea mai mulți operatori. În acest caz, prioritatea operatorului îl determină pe cel evaluat mai întâi.

Următoarea listă arată prioritatea operatorilor în C ++, cu prioritate descrescătoare de la stânga la dreapta:

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

Rezumat:

  • Operatorii sunt simboluri pentru efectuarea operațiilor logice și aritmetice.
  • Operatorii aritmetici ne ajută să efectuăm diverse operații aritmetice pe operanzi.
  • Operatorii relaționali ne ajută să efectuăm diferite operații de comparație pe operanzi.
  • Operatorii logici ne ajută să efectuăm diverse operații logice pe operanzi.
  • Operatorii bitwise ne ajută să efectuăm operații bitwise pe operanzi.
  • Operatorii de atribuire ne ajută să efectuăm diverse operații aritmetice pe operanzi.
  • Operatorul sizeof returnează dimensiunea unei variabile sau a unui tip de date.
  • Operatorul virgulă execută o succesiune de operații.
  • Operatorul condiționat evaluează o condiție și acționează pe baza rezultatului.