Structura unui program C++

Bază~12 min10 pași

De ce contează?

Orice scrisoare oficială are aceeași schelă: antet, formula de adresare, conținut, semnătură. Nu poți pune semnătura înainte de antet. La fel, un program C++ are o structură fixă: câteva linii care se repetă în absolut orice program, în aceeași ordine.

Anatomia unui program

Iată cel mai scurt program util pe care îl vei scrie — citește două numere și le adună:

#include <iostream>
using namespace std;

int main() {
    int a, b;
    cin >> a >> b;
    cout << a + b;
    return 0;
}

Fiecare linie are un rol bine definit:

  1. #include <iostream> — aduce în program biblioteca pentru citire/afișare (input-output stream). Fără ea, cin și cout nu există.
  2. using namespace std; — ne lasă să scriem cout în loc de std::cout.
  3. int main() { ... } — funcția principală. Execuția începe de la prima instrucțiune din main și merge în jos, linie cu linie.
  4. return 0; — anunță sistemul că totul a mers bine.
Observația-cheie

Programul nu pornește „de sus în jos" de la #include. Liniile de dinainte de main sunt doar pregătiri pentru compilator. Execuția reală începe la prima instrucțiune din main. Restul e decor necesar.

Pas cu pas: ce face compilatorul

Să urmărim exemplul cu a = 4 și b = 7 la intrare:

  1. Compilatorul citește #include și using → pregătește instrumentele.
  2. Ajunge la main → de aici începe execuția.
  3. int a, b; → rezervă spațiu pentru două numere întregi.
  4. cin >> a >> b; → citește 4 în a și 7 în b.
  5. cout << a + b; → calculează 4 + 7 și afișează 11.
  6. return 0; → gata, fără erori.

De ce contează ; și { }

Fiecare instrucțiune se termină cu ;. Acoladele { } grupează instrucțiunile care aparțin lui main. Sunt ca punctul de la finalul unei propoziții: fără ele, compilatorul nu știe unde se termină o idee și unde începe alta.

cout << a + b   // GRESIT: lipseste ; -> eroare de compilare

Complexitate

Structura în sine nu are „complexitate" — e doar schela. Timpul de execuție depinde de ce instrucțiuni pui în main. Vom măsura asta în lecția-punte despre complexitate.

Greșeli frecvente

Capcane clasice la primul program:

  • Uiți ; la finalul unei instrucțiuni → eroare de compilare cu mesaj derutant, adesea raportată pe linia următoare.
  • Scrii cod în afara lui main → instrucțiunile executabile trebuie să fie înăuntrul funcției, între { }.
  • Uiți #include <iostream>cout și cin apar ca „nedeclarate".
  • Uiți return 0; → în C++ modern programul tot funcționează, dar e o practică bună să-l pui explicit la concursuri.

De reținut

  • Orice program C++ are aceeași schelă: #include, using namespace std;, int main().
  • Execuția începe în main și curge de sus în jos, instrucțiune cu instrucțiune.
  • Fiecare instrucțiune se termină cu ;; { } grupează ce ține de main.

Întrebarea 1 / 3

De ce avem nevoie de `#include <iostream>` într-un program care afișează ceva?