Tipurile fundamentale
| Tip | Ce memorează | Exemplu |
|---|---|---|
int | numere întregi | int n = 7; |
float / double | numere reale | double x = 3.14; |
char | un caracter | char c = 'A'; |
bool | adevărat/fals | bool ok = true; |
double are precizie mai mare decât float; la BAC folosim de regulă int și double.
Declarare și inițializare
#include <iostream>
using namespace std;
int main() {
int a;
int b = 10;
int c = b + 5;
a = 1;
cout << a << " " << b << " " << c;
return 0;
}Atenție: O variabila declarata dar neinitializata are valoare nedefinita in C, C++ si Pascal. De aceea lui a i se da o valoare inainte de a fi folosita.
O variabilă nedeclarată nu poate fi folosită; o variabilă neinițializată are o valoare imprevizibilă.
Atribuirea
Semnul = NU e egalitate matematică, ci ATRIBUIRE: "pune în stânga valoarea din dreapta".
#include <iostream>
using namespace std;
int main() {
int x = 3;
x = x + 2;
cout << x;
return 0;
}Atenție: Partea dreapta se calculeaza intai, cu valoarea veche a lui x, si abia apoi rezultatul se pune in x. De aceea x devine 5, nu ramane 3.
După a doua linie, x este 5: se calculează întâi dreapta (3+2), apoi rezultatul se pune în x.
Exemplu rezolvat
Ce valori au a și b la final?
#include <iostream>
using namespace std;
int main() {
int a = 4, b = 9;
a = b;
b = a;
cout << a << " " << b;
return 0;
}Atenție: Rezultatul e 9 9, nu 9 4. Prima atribuire pierde valoarea lui a, iar a doua o copiaza inapoi pe cea noua. Pentru interschimbare e nevoie de o variabila auxiliara.
După a = b, a devine 9. Apoi b = a pune 9 în b (care era deja 9). Final: a = 9, b = 9. Valoarea inițială a lui a (4) s-a pierdut: pentru interschimbare era nevoie de o variabilă auxiliară.
Greșeli frecvente
- Interschimbarea fără auxiliar pierde o valoare (exemplul de mai sus).
charfolosește apostrof ('A'), șirurile folosesc ghilimele ("AB").- Împărțirea a doi
intdă totint:7 / 2este3, nu3.5.