Cuprins:
Video: Expresii relationale si operatori relationali - C++ 2024
Variabilele și constantele sunt utile numai dacă le puteți utiliza pentru a efectua calcule. Expresia este jargonul C ++ pentru un calcul. Ați văzut deja expresia cea mai simplă:
int n; // declarație n = 1; // expression
Programatorii combină variabile, constante și operatori pentru a face expresii. Un operator efectuează o operație aritmetică pe argumentele sale. Majoritatea operatorilor iau două argumente - acestea sunt numite operatori binari . Unii operatori iau un singur argument - aceștia sunt operatorii unari .
Toate expresiile returnează o valoare și un tip.
Operatorii binari
A Operatorul binar este un operator care are două argumente. Dacă puteți spune var1 op var2, atunci op trebuie să fie un operator binar. Operatorii binari cei mai obișnuiți sunt aceleași operații simple pe care le-ați învățat în școala primară. Operatorii binari obișnuiți apar în tabel.
Precedență | Operator | Înțeles |
---|---|---|
1 | - |
(unar) |
Increment | 2 | - (unar) |
Decrement | 3 | > Diviziune |
3 | (binar) | Modul |
4 | + (binar) | 5 |
=, * =,% =, + =, - = (speciale) | Tipuri de asignări |
|
Cea mai simplă binară este operatorul de atribuire notat cu semnul egal. Operatorul de atribuire spune: "Luați valoarea în partea dreaptă și depozitați la locația din partea stângă a operatorului. " | Înmulțirea, diviziunea, adunarea, scăderea și modulo sunt operatorii utilizați pentru a efectua aritmetică. Ele funcționează la fel ca operatorii aritmetici ai învățat în școala de limbă, cu următoarele considerații speciale: |
|
Înmulțirea trebuie să fie întotdeauna specificată și nu este niciodată implicită, așa cum este în algebră. | Luați în considerare următorul exemplu: | int n = 2; // declarați o variabilă int m = 2n; // aceasta generează o eroare |
Expresia de mai sus nu atribuie | m | valoarea de 2 ori |
. În schimb, C ++ încearcă să interpreteze 2
n
ca nume de variabilă. Din moment ce numele de variabile nu pot începe cu o cifră, aceasta generează o eroare în timpul etapei de construire.-
Ceea ce a însemnat programatorul a fost: int n = 2; int m = 2 * n; // acest lucru este OK
diviziunea întregi aruncă restul.
Astfel, următoarele: int n = 13/7; // atribuie valoarea 1 la n Paisprezece împărțit la 7 este 2. Treisprezece împărțit la șapte este 1. Operatorul modulo returnează restul după diviziunea (este posibil să nu-ți aduci aminte modulo): int n = 13% 7; // stabilește n la 6 Paisprezece modulo șapte este zero. Treisprezece modulo șapte este șase.
Exprimarea expresiilor compuse
O singură expresie poate include mai mulți operatori:
-
int n = 5 + 100 + 32; Când toți operatorii sunt aceiași, C ++ evaluează expresia de la stânga la dreapta:
5 + 100 + 32 105 + 32 137
Când operatori diferiți sunt combinați într-o singură expresie, C ++ utilizează o proprietate
-
prioritate. Precedenta este ordinea în care operatorii sunt evaluați într-o expresie compusă. Luați în considerare următorul exemplu:
int n = 5 * 100 + 32;
Ce este mai întâi, multiplicare sau adăugare? Sau este această expresie evaluată pur și simplu de la stânga la dreapta? Reveniți la tabel, care vă spune că multiplicarea are o valoare precedentă de 3, care este mai mare decât precedența adăugării care este 4 (valorile mai mici au precedență mai mare). Astfel, multiplicarea are loc mai întâi:
5 * 100 + 32 500 + 32 532
Ordinea operațiunilor este anulată de prioritatea operatorilor. După cum puteți vedea
int n = 32 + 5 * 100;
generează același rezultat:
32 + 5 * 100 32 + 500 532
Dar dacă vrei cu adevărat de 5 ori suma de 100 plus 32? Puteți anula prioritatea operatorilor prin împachetarea expresiilor pe care doriți să le efectuați mai întâi în paranteze, după cum urmează: int n = 5 * (100 + 32); Acum adăugarea se face înainte de înmulțire:
5 * (100 + 32) 5 * 132 660
Puteți combina paranteze pentru a face expresii cât mai complicate. C ++ pornește întotdeauna cu parantezele imbricate cele mai adânci pe care le poate găsi și își îndeplinește calea.
(3 + 2) * ((100/20) + (50/5)) (3 + 2) * (5 + 10) 5 * 15 75
Următoarele sunt mai sigure:
int factor = 3 + 2; int principal = (100/20) + (50/5); int total = factor * principal;
Atribuirea unui nume la valori intermediare permite programatorului să explice părțile unei ecuații complexe - făcându-i mai ușor să înțeleagă următorul programator.