Operanzi
Expresii = operatori + operanzi
Operatori=semnele care se pun intre operanzi ca sa se efectuieze operatii.
I.Instruciunea de calcul este alctuit din:
nume var = expresie
unde:
- nume var este numele variabilei a crei valoare se modific
- expresie este format din unul sau mai muli operanzi legai ntre ei din punct de vedere
logic de diferii operatori.
- caracterul = reprezint operatorul de atribuire i semnific transferul informaiei
calculate n locaia de memorie atribuit variabilei reprezentate prin identificatorul din
stnga seninului =.
Obs.
Orice expresie are o valoare i un tip n concordan cu tipul operanzilor care
alctuiesc expresia.
Ex 1.
II. Operanzi
Acetia pot fi:
- constante;
- variabile;
- tablouri;
- numele unei funcii;
Ex. 2
int p;
p = 5;
float eps;
eps = p/3;
char t,tablou[10];
t = tablou [0];
d) - relaionali,
e) - de egalitate,
f) - logici,
e) Operatori de egalitate:
Operatorii de egalitate ~ealizeaz compararea valorilor a dou variabile.
Rezultatul aplicrii unui operator de egalitate asupra unei expresii poate fi una dintre cele
dou valori logice TRUE sau FALSE.
Operatorii de egalitate sunt:
- = = (egalitate),
- ! = (diferit).
Prioritatea operatorilor de egalitate este inferioar celui pentru operatori
relaonali.
Ex. 10
int x,y;
x = 9;
y=11;
Expresia (x = = y) este evaluat la compilare ca fiind 0.
Expresia (x ! = y) este evaluat la compilare ca fiind 1.
f) Operatori logici
Acetia sunt:
- ! (negaia),
- && (I logic),
- || (SAU logic).
Expresiile logice au ca operanzi expresii relaionale, legate prin operatori logici. Acestea
sunt utile n exprimarea domeniului de definiie a unei funcii:
Ex.11
intervalul x apartine [-1,1] poate fi exprimat prin expresia logic
(x>= -1)&&( x<=l)
ATENIE:
Folosirea parantezelor rotunde pentru delimitarea expresiilor relationale este
obligatorie. Ordinea interpretrii expresiilor logice este urmtoarea:
- se evalueaz expresiile care conin operatorul !,
- se evalueaz expresiile care conin operatorul &&,
- se evalueaz expresiile care conin operatorul ||,
- se stabilete valoarea final a expresiei logice care poate fi ADEVRAT sau FALS.
ATENIE:
Operatorul logic not reprezentat prin (!) este de tip unar i are prioritatea maxim
n evaluarea expresiilor.
Operatorul logic && are prioritatea mai mare dect operatorul || n evaluarea
expresiilor.
x
;
2
z = (float)
x
;
2
Pentru exemplul considerat lipsa conversiei cast float (n primul caz) va conduce
la atribuirea valorii 2 pentru variabila z n loc de 2.5. Aceasta deoarece operandul x are
tipul int i deci rezultatul mpririi va fi convertit la tipul int (dispare partea zecimal). n
final valoarea ntreag 2 va fi convertit la realul 2.0 (n conformitate cu tipul variabilei
z).
Pentru evitarea acestei erori s-a folosit operatorul (float) - ex. 18, dei operatorii
mpririi sunt ntregi, mprirea se va face n numere reale.