Sintaxa:
variabilă=expresie;
Mod de executie:
Pas1: se evalueaza expresia din membrul drept
Pas2: rezultatul evaluarii se atribuie variabilei din membrul stang
Operatorul “=” se numeste operator de atribuire.
Observatie: Operaţia de atribuire are sensul de la dreapta la stânga!
ATRIBUIREA NU ESTE EGALITAEA MATEMATICĂ!
Intotdeauna, in partea stanga a unei atribuiri trebuie sa fie o variabila si nu o expresie (variabila are
memorie alocata, expresia NU are)
Atribuirea compusă a op= b reprezintă într-o formă compactă operaţia a = a op b
Atribuirea multiplă este de forma variabilă1 = variabilă2 = … = expresie şi iniţializează variabilele, pornind de la dreapta spre stânga cu valoarea expresiei.
Operatorii de incrementare folosiţi în atribuiri au efecte diferite. Astfel:
a = ++b este echivalentă cu b=b+1; a=b; în timp ce:
a = b++ are ca efect a=b; b=b+1;
Exemple:
x = 4;// variabilei x i se atribuie valoarea 4
y =y+1;//variabila y se incrementează cu 1
z= 24/a + b*b-1; /* se evaluează mai întâi expresia din partea dreaptă şi valoarea rezultată este atribuită variabilei z */
calculul radicalului
#include <cmath>
....
int n, x;
....
x = sqrt(n); //va atribui lui x cel mai mare numar pentru care
x^2<=n (daca n=28 atunci x=5)
verificarea unui numar daca este patrat perfect
int (sqrt(n)) == sqrt(n)