Nu obții 100 de puncte sau ai nelămuriri în privința problemelor? Scrie-mi pe Instagram.
Ai găsit o greșeală, vrei să raportezi un utilizator sau vrei să comunici altceva? Folosește formularul de contact.
Vrei să ne transmiți o părere despre platformă? Folosește formularul de feedback.
Folosește următoarele shortcuturi pentru a naviga mai ușor pe platformă.
Meniu shortcuturi | ? |
Căutare probleme sau utilizatori | / |
Navigare printre rezultatele căutării | ↑, ↓ |
Meniu de contact și feedback | CTRL + Shift + F |
Ieșire din meniuri | Esc |
Setări editor | CTRL + Shift + S |
Schimbare stil editor | CTRL + Shift + E |
Șabloane de cod | CTRL + Shift + 1/2/3 |
Golire editor | CTRL + Shift + 4 |
Cea mai importantă caracteristică a unei informații în C++ este tipul ei. Pentru toate variabilele trebuie cunoscut tipul acesteia, care permite diverse operații specifice sau valori pe care le poate lua.
În C++ există o mare varietate de tipuri diferite de date.
int
Pe departe cel mai utilizat tip de date, tipul int
permite memorarea unui număr întreg (număr fără virgulă, atât pozitive, cât și negative).
Tipul int
ocupă 4
octeți, adică 32
de biți. Astfel, un număr de tip int poate memora valori între -231
și 231 - 1
, sau între -2.147.483.648
și 2.147.483.647
.
Iată un exemplu de declarare a unui număr întreg:
int x = 15;
int
Dacă în problema dată, un număr nu depășește aproximativ 2.000.000.000
(două miliarde) sau 9
cifre, atunci putem să folosim tipul de date int
.
Există și varianta short int
(sau mai simplu: short
), care ocupă jumătate din memorie, astfel că poate reține valori doar de la -215
până la 215 - 1
.
long long
Tipul long long
permite memorarea numerelor întregi de la -263
la 263 - 1
. Tipul long long
poate reține numere până la 18
cifre, în comparație cu doar 9
pentru numere de tipul int
.
Tipul long long
ocupă 8
octeți, sau 64
de biți. Poate lua valori de la -263
până la 263 - 1
, sau de la -9.223.372.036.854.775.808
până la 9.223.372.036.854.775.807
.
Iată un exemplu de declarare a unui număr long long
:
long long x = 1000000000000; //13 cifre
float
și double
Tipurile float
și double
rețin numere reale, atât pozitive, cât și negative. Partea întreagă este separată de partea rațională cu punctul (.
).
Cele două tipuri de date sunt tipuri de date în virgulă mobilă: mai exact, limitele acestor variabile se ating fie cu valori mari și cu puține zecimale, fie cu valori mici și cu multe zecimale. Tipul float
se reprezintă pe 4
octeți (32
de biți), pe când tipul double
se reprezintă pe 8
octeți (64
de biți), adică dublul tipului float
(de unde vine și numele).
Iată un exemplu de program care utilizează tipurile float
și double
:
float nr1 = 1.23;
double nr2 = 4.56E-03; //4.56 * 10(-3) = 0.00456
char
Tipul char
reține un singur caracter: literă, simboluri sau chiar cifre. Mai exact, fiecare dintre cele 256
de caractere posibile are atribuit câte un cod, numit cod ASCII, o valoare de un octet (8
biți), care este salvat. Astfel, tipul char
poate să rețină valori între -128
și 127
.
Caracterele sunt delimitate de apostroafe ('
).
Mai multe detalii despre tipul char
se învață în clasa a X-a, în această lecție.
Iată un exemplu de program ce utilizează tipul char
:
char c1 = 'a'; //Delimitat cu apostroafe
char c2 = 97; //Reține caracterul 'a', deoarece codul ASCII al lui 'a' este 97
bool
Tipul bool
este un tip de date ce poate memora doar două valori: 0
(false
— fals) și 1
(true
— adevărat).
Acest tip de variabilă este salvată pe un octet (8
biți). Deși, intuitiv, o variabilă ce reține doar 0
și 1
ar trebui să fie memorat într-un singur bit (deoarece un bit poate reține valorile 0
și 1
), apelând funcția sizeof(bool)
în C++ dă răspunsul 1
, adică 1
byte (1
octet).
Iată un exemplu de folosire a tipului de variabilă bool
. Se poate folosi în cazul variabilelor flag (steguleț):
bool ok = true, gasit = false;
void
Void înseamnă nimic, astfel că, intuitiv, tipul void
nu poate reține nicio valoare. În clasa a X-a se învață mai mult despre acest tip (în această lecție), iar variabilele obișnuite nu pot fi declarate cu acest tip.
signed
vs. unsigned
Pentru tipurile int
(numit și long
), short
, long long
și char
există variante signed
și unsigned
— cu sau fără semn. Mai precis, varianta signed
(cea obișnuită) cuprinde atât numere pozitive, cât și negative. Pe de altă parte, varianta unsigned
cuprinde doar numere pozitive (începând cu 0
), însă limita superioară este de 2
ori mai mare.
Spre exemplu, int
, sau signed int
reține numere de la -2.147.483.648
până la 2.147.483.647
, pe când unsigned int
reține numere de la 0
la 4.294.967.295
(dublul limitei anterioare).