Sunteți pe pagina 1din 2

Variabile si tipuri de date in C++

Pentru realizarea algoritmului si a programului care sa rezolve o anumita problema utilizam anumite
variabile avand un anume tip, in functie de necesitati. O variabila este reprezentata printr-un caracter
sau o insiruire ce caractere alfanumerice si reprezinta continutul unei locatii de memorie. Variabilele isi
pot modifica valoarea pe parcursul programului in functie de necesitati.
Atentie: O variabila nu poate fi utilizata in cadrul unui program fara a fi declarata. In cazul in care o
variabila nu este declarata, vom primi un mesaj de eroare in momentul compilarii si lansarii in executie
a programului.
Observatie: In denumirea variabilelor trebuie tinut cont daca literele folosite sunt litere mari sau mici.
Astfel, o variabila a este diferita de o variabila A.
Exemple de variabile:

int a, A; a, respectiv A reprezinta cate o variabila de timp intreg


char c; c reprezinta o variabila de tip caracter

float f; f reprezinta o variabila de tip real

double d; d reprezinta o variabila de tip double

int a[10]; a reprezinta o un vector de 10 numere intregi;

int a[10][10]; a reprezinta o matrice de 10 linii si 10 coloane avand in componenta numere


intregi

etc...

Constantele sunt reprezentate tot printr-un caracter sau o insiruire de caractere alfanumerice, insa, spre
deosebire de variabilele normale, acestea nu-si vor modifica valoarea pe parcursul intregului program.
Constantele pot avea de asemenea valori intregi, reale, caracter, etc.
Exemple de constante:

const int raza=10;


const float pi=3.14;

cont char litera='l';

In tabelul de mai jos sunt reprezentate valorile pe care le pot lua variabilelele si constantele, in functie de
principalele tipuri ale acestora:
Tip
unsigned char
char
unsigned int/unsigned short int
short/short int/signed short int
long/long int/signed long int
float
double

Descriere/Dimensiune
tipul caracter / 8 biti
tipul caracter / 8 biti
numere intregi, fara semn / 16 biti
numere intregi, cu semn / 16 biti
numere intregi, cu semn / 32 biti
numere reale / 32 biti
numere reale / 64 biti

Interval
0 ... 255
-128 ... 127
0 ... 65535
-32768 ... 32767
-2147483648 ... 2147483647
3.4E +/- 38
1.7E +/- 308

Obs:
a) In C++ nu exista tipul boolean. In acest caz, orice valoare diferita de 0 este considerata ca fiind
TRUE si orice valoare 0 este considerata ca fiind FALSE.
b) Tipul caracter este asimilat tipurilor intregi. Memorarea unui caracter se face folosind codul ASCII al
acestuia. In operatiile referitoare la caractere ne putem referi atat la caracter cat si la codul sau ASCII
(conversia se face automat, in functie de context).

De ex:
char a='c',b=99;
cout<<a<<" "<<b; //Se tipareste de 2 ori caracterul 'c' (care are codul ASCII 99)
cout<<a+101;
//Se tipareste 200 (a fost adunat codul ASCII al caracterului 'c' cu 101)

Tipurile de baza sunt: intregi si reale


Intregi:

char un singur octet (1 byte=8 biti), capabil sa contina codul unui caracter din setul local de
caractere;
int numar intreg, reflecta in mod tipic marimea naturala din calculatorul utilizat;

reale

float numar real, in virgula mobila, simpla precizie;


double numar real, in virgula mobila, dubla precizie.

In completare exista un numar de calificatori, care se pot aplica tipurilor de baza char, int, float sau
double: short, long, signed si unsigned. Astfel, se obtin tipurile derivate de date. Short si long se refera la
marimea diferita a intregilor, iar datele de tip unsigned int sunt intotdeauna pozitive. S-a intentionat ca
short si long sa furnizeze diferite lungimi de intregi, int reflectand marimea cea mai "naturala" pentru un
anumit calculator. Fiecare compilator este liber sa interpreteze short si long in mod adecvat propriului
hardware; in nici un caz, insa, short nu este mai lung decat long. Toti acesti calificatori pot aplicati tipului
int. Calificatorii signed (cel implicit) si unsigned se aplica tipului char. Calificatorul long se aplica tipului
double. Daca intr-o declaratie se omite tipul de baza, implicit, acesta va fi int. Tabelul urmator prezinta
lungimea zonei de memorie ocupata de fiecare tip de data.

S-ar putea să vă placă și