Skip to content
Lesson 1 · Computer Science

Elemente de bază ale limbajului C++

Înveți structura unui program C++, tipurile de date de bază, citirea și afișarea, operatorii aritmetici, relaționali și logici și instrucțiunea if.

Beginner25 minGrade IX

This lesson is written in Romanian.

On this page
  1. Structura unui program
  2. Variabile și tipuri de date
  3. Citire și afișare
  4. Operatori
  5. Instrucțiunea if
  6. Exemple rezolvate
  7. Greșeli frecvente
  8. Pe scurt
  9. Quiz at the end

Orice aplicație pe care o folosești, de la un joc la un GPS, a fost scrisă într-un limbaj de programare. În liceu, la informatică, limbajul de lucru este de obicei C++: este rapid, foarte răspândit și este limbajul folosit la BAC și la olimpiade. În această lecție înveți „alfabetul” lui: cum arată un program, cum memorezi date, cum faci calcule și cum iei decizii.

Structura unui program

Cel mai simplu program complet arată așa:

#include <iostream>
using namespace std;

int main()
{
    int a, b;
    cin >> a >> b;
    cout << a + b;
    return 0;
}
  • #include <iostream> aduce instrucțiunile de citire (cin) și afișare (cout);
  • using namespace std; îți permite să scrii cout în loc de std::cout;
  • execuția începe întotdeauna cu funcția main;
  • fiecare instrucțiune se termină cu ;, iar acoladele { } grupează instrucțiuni într-un bloc.

Variabile și tipuri de date

O variabilă este o zonă de memorie cu un nume, în care păstrezi o valoare. Înainte să o folosești, trebuie să o declari, adică să-i precizezi tipul:

tipce memoreazăexemplu
intnumere întregi (aproximativ între −2⋅109-2 \cdot 10^9 și 2⋅1092 \cdot 10^9)int n = 2026;
long longnumere întregi mari (până la aproximativ 9⋅10189 \cdot 10^{18})long long p = 1;
doublenumere realedouble media = 9.5;
charun singur caracterchar c = 'A';
boolo valoare logică (true sau false)bool gasit = false;

Atribuirea x = expresie; calculează expresia din dreapta și pune rezultatul în variabila din stânga. Valoarea veche a lui x se pierde. De aceea x = x + 1; are sens în C++: crește valoarea lui x cu 11 (prescurtat x++;).

Numele variabilelor conțin litere, cifre și _, nu încep cu o cifră și țin cont de litere mari și mici: suma și Suma sunt variabile diferite.

Citire și afișare

  • cin >> x; citește o valoare de la tastatură în variabila x;
  • cout << x; afișează valoarea lui x;
  • cout << "Text"; afișează exact textul dintre ghilimele;
  • cout << endl; (sau '\n') trece pe rândul următor.

Poți înlănțui operațiile: cin >> a >> b; citește două valori, iar cout << a << ' ' << b; le afișează separate printr-un spațiu.

Operatori

Aritmetici: +, -, *, /, %.

  • Dacă ambii operanzi sunt întregi, / dă câtul împărțirii întregi: 17 / 5 este 3.
  • % dă restul împărțirii întregi și se folosește doar cu întregi: 17 % 5 este 2.
  • Dacă un operand este real, împărțirea este reală: 17.0 / 5 este 3.4.

Două aplicații pe care le vei folosi mereu: n % 10 este ultima cifră a lui n, iar n / 10 este numărul fără ultima cifră (pentru n≥0n \geq 0).

Relaționali: <, <=, >, >=, == (egal), != (diferit). Rezultatul este adevărat (1) sau fals (0).

Logici: && (și), || (sau), ! (negație). Ordinea priorităților: !, apoi operatorii aritmetici, apoi cei relaționali, apoi && și abia la final ||. Când nu ești sigur, pune paranteze.

Instrucțiunea if

if (conditie)
    instructiune1;
else
    instructiune2;

Dacă conditie este adevărată, se execută instructiune1, altfel instructiune2. Ramura else poate lipsi. Dacă pe o ramură ai mai multe instrucțiuni, le pui între acolade.

Exemple rezolvate

Exemplul 1: cifrele unui număr

Se citește un număr natural n cu cel puțin două cifre. Afișează cifra unităților și cifra zecilor.

int n;
cin >> n;
cout << n % 10 << ' ' << n / 10 % 10;

Pentru n = 4728: n % 10 este 8, iar n / 10 este 472, deci n / 10 % 10 este 2. Se afișează 8 2.

Exemplul 2: interschimbarea a două variabile

Vrem ca a și b să-și schimbe valorile. Folosim o variabilă auxiliară, ca atunci când schimbi conținutul a două pahare cu ajutorul unui al treilea:

int a = 5, b = 8, aux;
aux = a;   // aux = 5
a = b;     // a = 8
b = aux;   // b = 5

Fără aux, după a = b; valoarea 55 s-ar pierde definitiv.

Exemplul 3: maximul a trei numere

int x, y, z, mx;
cin >> x >> y >> z;
mx = x;
if (y > mx) mx = y;
if (z > mx) mx = z;
cout << mx;

Pentru datele 7 12 9: mx pornește de la 77, devine 1212 la a doua comparație și rămâne 1212 la a treia. Ideea „presupun că primul este maximul, apoi îl corectez” se folosește în foarte multe probleme.

Greșeli frecvente

  • = în loc de ==. if (x = 0) atribuie valoarea 00 lui x în loc să o compare. Comparația se scrie x == 0.
  • Împărțirea întreagă neașteptată. Pentru int a = 7, b = 2;, a / b este 3, nu 3.5. Ca să obții un rezultat real, scrie de exemplu 1.0 * a / b.
  • Interschimbare fără variabilă auxiliară. a = b; b = a; lasă ambele variabile cu aceeași valoare.
  • Variabile neinițializate. O sumă trebuie pornită de la 0, iar un produs de la 1, altfel pornești de la o valoare oarecare din memorie.
  • Restul numerelor negative. În C++, -7 % 2 este -1, nu 1. Pentru a testa dacă un număr este impar, folosește x % 2 != 0.
  • Lipsa acoladelor. Fără acolade, if controlează doar prima instrucțiune care îi urmează.

Pe scurt

  • Un program C++ începe execuția cu main, iar fiecare instrucțiune se termină cu ;.
  • Variabilele se declară cu un tip: int, long long, double, char, bool.
  • Între întregi, / dă câtul și % dă restul; n % 10 este ultima cifră, n / 10 elimină ultima cifră.
  • == compară, = atribuie; && are prioritate mai mare decât ||.
  • if / else alege între două ramuri în funcție de o condiție.

Check what you learned

5 questions. The lesson counts as completed once you score at least 60%.

Save your progress. You can take the quiz without an account, but progress and XP are only saved when you are signed in.

Sign in

Question 1 of 5

Ce valoare are expresia 17 / 5 în C++, dacă ambii operanzi sunt de tip int?

Elemente de bază ale limbajului C++ · Teachify