Bazele programării în C++

Variabile și tipuri de date în C++

Învață să declari și să inițializezi variabile în C++. Alege tipuri potrivite, urmărește atribuirile și evită greșelile cu rezultate intermediare mari.

Când citești numărul de elevi sau calculezi o sumă, ai nevoie să păstrezi valori. O variabilă asociază un nume unei zone de memorie și are un tip care stabilește ce fel de valori poate reprezenta. Înainte de lecție, parcurge primul program C++.

Ce vei învăța

Vei declara și inițializa variabile, vei urmări atribuiri succesive și vei alege între câteva tipuri uzuale. Nu trebuie să memorezi toate tipurile limbajului pentru a scrie primele programe.

Declarație, inițializare, atribuire

În int puncte = 10;, int este tipul, puncte este numele, iar 10 este valoarea inițială. Mai târziu, puncte = 14; schimbă valoarea aceleiași variabile. Semnul = înseamnă atribuire: se calculează partea dreaptă și rezultatul se memorează în partea stângă.

#include <iostream>

int main() {
    int puncte = 10;
    int bonus = 4;
    puncte = puncte + bonus;
    bonus = 1;
    std::cout << puncte << ' ' << bonus << '\n';
    return 0;
}

Rezultatul este 14 1. La atribuirea puncte = puncte + bonus, expresia din dreapta folosește valorile existente, 10 și 4. Apoi puncte primește 14. Modificarea ulterioară a lui bonus nu recalculează automat valoarea lui puncte.

Pentru a urmări un program, notează după fiecare instrucțiune valorile variabilelor. Acest obicei te ajută mai mult decât încercarea de a ghici rezultatul final.

puncte pornește de la 10, bonus de la 4. După adunare puncte este 14, iar schimbarea bonusului la 1 nu îl modifică.Valorile variabilelor după fiecare atribuire.

Tipuri pe care le vei întâlni des

  • int: numere întregi, de exemplu un contor mic sau o zi din lună.
  • long long: numere întregi pentru care ai nevoie de un interval mai mare; are cel puțin 64 de biți.
  • double: numere cu parte fracționară, reprezentate de obicei aproximativ.
  • char: un caracter din exemplele simple, precum 'A' sau '7'.
  • bool: o valoare logică, true sau false.

'7' și 7 nu sunt aceeași valoare: prima este un caracter, a doua un întreg. Pentru text de lungime variabilă vei folosi std::string, cu antetul <string>.

Nu presupune că orice număr încape într-un int. Pe multe platforme de concurs acesta are 32 de biți, dar standardul nu impune exact această dimensiune. Citește limitele datelor și alege tipul și pentru rezultatele intermediare, nu numai pentru datele de intrare.

Un rezultat mare trebuie calculat într-un tip potrivit

#include <iostream>

int main() {
    long long latura = 100000;
    long long aria = latura * latura;
    const int zilePeSaptamana = 7;
    std::cout << aria << '\n';
    std::cout << zilePeSaptamana << '\n';
    return 0;
}

Programul afișează 10000000000 și apoi 7. Înmulțirea folosește deja operanzi long long. Dacă ambii operanzi ar fi int, simpla memorare a rezultatului într-un long long nu ar schimba tipul în care s-a făcut înmulțirea.

const indică aici o valoare pe care nu o mai poți modifica după inițializare. Un nume precum zilePeSaptamana explică rolul valorii mai bine decât repetarea numărului 7 în multe locuri.

Nume clare și valori inițiale

Alege nume precum suma, numarElevi sau temperatura. Pentru început folosește litere latine, cifre și _, fără spații, iar primul caracter să nu fie o cifră. Nu poți folosi cuvinte rezervate precum int sau return. suma și Suma sunt nume diferite.

Inițializează variabilele înainte să le citești. O variabilă locală declarată doar prin int suma; nu primește automat zero. Scrie int suma = 0; când calculul trebuie să pornească de la zero. Nici depășirea intervalului unui întreg cu semn nu are un rezultat pe care te poți baza.

Exersează

  1. Pornind de la a = 3 și b = 8, urmărește a = b; și apoi b = a + 2;. Ce valori rămân?
  2. Ce tip ai alege pentru numărul de pagini al unui caiet? Dar pentru o medie cu zecimale?
  3. De ce schimbul a = b; b = a; nu interschimbă valorile inițiale?

Răspunsuri: a devine 8, iar b devine 10. Pentru un caiet obișnuit este suficient int; pentru o medie poți folosi double. În ultimul exercițiu pierzi valoarea inițială a lui a la prima atribuire: salveaz-o într-o variabilă auxiliară înainte.

Următorul pas este calculul expresiilor. Pentru date introduse la rulare, vezi citirea și afișarea.

Un pas mai departe

Se încarcă progresul…

Exersează cu o problemă →