Sunteți pe pagina 1din 3

Elemente de baz ale limbajului C++

1
Programarea este activitatea de scriere a programelor ntr-un limbaj de programare, respectnd anumite reguli
tehnici. Elaborarea programelor este activitatea care urmeaz dup analiza i proiectarea algoritmului de rezolvare a unei
probleme.

I. Structura programelor C++
Un program C++ conine una sau mai multe funcii (secvene de program identificate printr-un nume). Dintre
acestea, una este funcia principal (main), care este obligatorie n orice program. Dup editare programul se salveaz ntr-un
fiier cu extensia .CPP.
Un program C++ are urmtoarea structur general:
directive_de_includere_a_bibliotecilor_de_funcii
declaraii_de_variabile_globale;
int main()
{
declaraii_de_variabile_locale;
instruciuni;
return 0;
}

II. Vocabularul limbajului C++
1. Setul de caractere al limbajului C++ conine:
- litere (mari i mici ale alfabetului englez; C++ este un limbaj case-sensitive)
- cifre arabe (de la 0 la 9)
- caractere speciale (operatori + - * / < i delimitatori ; )
- simboluri negrafice (\n newline, \t tab, \b backspace, \r carriage return)

2. Constantele sunt o categorie de date cu care lucreaz un program, care nu i pot modifica valoarea n timpul
execuiei programului. Se folosesc n calculul unor expresii sau n interiorul unor mesaje de afiat.
Constante ntregi. Corespund mulimii numerelor ntregi ce pot fi reprezentate n memoria calculatorului. Pot fi
scrise n baza 10, 8 sau n baza 16.
exemplu: 22 constant n baza 10
022 constant n baza 8 (se precede de caracterul 0)
0x24 constant n baza 16 (se precede de caracterele 0x)
Constante reale. Corespund unei submulimi a mulimii numerelor reale. Pot apare n notaie zecimal (2.75, -8.5)
sau exponenial (2.4e-5; -5.75E3).
Constante ir de caractere. Reprezint o succesiune de caractere, inclus ntre ghilimele ("alfa"). Caracterele
irului se pstreaz n memorie prin codurile lor ASCII (American Standard Code for Information Interchange; fiecare
caracter are asociat un numr, ntre 0 i 255; de exemplu a are codul ASCII 97, caracterul A are codul ASCII 65).

3. Un identificator este o succesiune de litere, cifre sau caracterul _ (primul caracter al identificatorului trebuie s
fie o liter sau caracterul _), prin care se asociaz nume constantelor, variabilelor i funciilor.
exemplu: a1, n, _alfa, a23 (corecte) a&b, 2a, a+b (incorecte)
O categorie special de identificatori o constituie cuvintele cheie ale limbajului (const, else, if, for, while etc), care
nu pot fi redefinite de utilizator, fiind utilizate doar n scopul n care au fost definite n limbaj.

4. Pentru o mai uoar nelegere a unui program este permis folosirea comentariilor. Ele pot apare oriunde n
program (nu n identificatori i n numere), ncadrate de caracterele /* */. Textul comentat este ignorat n faza de compilare a
programului. Pot apare comentarii care ncep cu //, cu condiia s se termine pe rndul pe care au nceput.

III. Tip de dat. Operatori. Expresii.
Prin tip de dat se nelege mulimea valorilor pe care le poate avea o dat (constant sau variabil). Tipul
restricioneaz modul n care sunt pstrate datele n memorie, operaiile ce se pot aplica datelor de tipul respectiv. Limbajul
C++ lucreaz cu tipuri de date standard (tipul i operaiile sunt predefinite n limbaj) sau utilizator (utilizatorul i stabilete
propriile definiii i operaii).


C
o
d
e
-
D
e
s
i
g
n
e
r
.
e
u
Elemente de baz ale limbajului C++


2
Tipuri de date standard
1. Tipurile ntregi de date permit reprezentarea, memorarea i prelucrarea numerelor ntregi. Numerele ntregi se
scriu ca o secven de cifre zecimale, precedat eventual de semnul - (ex: 126, -6382). In limbajul C++ este predefinit tipul
ntreg int.
Tipul int poate fi modificat folosind "modificatori de tip" unsigned, short i long, rezultnd tipurile
short int (ntregi cu semn)
unsigned int (ntregi fr semn)
long int (ntregi cu semn)
unsigned long int (ntregi fr semn)
2. Tipurile reale de date se folosesc pentru reprezentarea unei submulimi a numerelor reale. Reprezentarea
numerelor reale este limitat in calculator prin mrime i precizie. Numerele reale pot fi scrise in notaie zecimal (3.67) sau
tiinific (exponenial 3e5).

Tipuri reale in C++ sunt float i double. Modificatorul long se poate aplica tipului double, rezultnd tipul long
double.

3. Tipul char permite reprezentarea mulimii caracterelor. La un moment dat o dat de tip char poate conine codul
ASCII al unui caracter sau un ntreg n sine. Pentru atribuirea unei valori unei variabile de tip char se pot folosi constante
ntregi sau constante de tip caracter (ex: c='A' sau c=65).

Toate tipurile de mai sus sunt tipuri de date simple (la un moment dat pot reine o singur valoare).
Orice valoare nenul este considerat ca avnd valoarea logic adevrat. Valoarea 0 este considerat ca fiind fals.
Fiecrui tip de dat i se asociaz un anumit numr de octei i implicit un interval de valori admise.
Tip Dimensiune Domeniu de valori
unsigned char 8 bii (1 octet) [0, 255]
char 8 bii (1 octet) [-128, 127]
unsigned int 32 bii (4 octei) [0, 4294967295]
short int 16 bii (2 octei) [-32768, 32767]
int 32 bii (4 octei) [-2147483648, 2147483647]
unsigned long 32 bii (4 octei) [0, 4294967295]
long 32 bii (4 octei) [-2147483648, 2147483647]
long long 64 bii (8 octei) [-2
63
, 2
63
-1]
float 32 bii (4 octei) [3.4 * 10
-38
, 3.4 * 10
38
]
double 64 bii (8 octei) [1.7 * 10
-308
, 1.7 * 10
308
]
long double 96 bii (12 octei)

Operatorii ce pot fi folosii n expresii sunt:
1. aritmetici: +, -, *, /, % (restul mpririi a dou numere ntregi)
2. relaionali: <, >, != (diferit), == (egal), <=, >=
3. de atribuire: = (se folosete n forma varabil=expresie; la execuie se evalueaz expresia i variabilei i se
atribuie valoarea obinut; pot fi efectuate i atribuiri multiple, de forma variabil
1
=variabil
2
=variabil
3
=expresie, caz n
care valoarea expresiei este atribuit de la dreapta la stnga, tuturor variabilelor specificate)
4. de incrementare/decrementare: ++, -- ( i=i+1 i++ i+=1; operatorul de incrementare adun o unitate
la coninutul unei variabile; poate fi folosit n form prefixat ++i sau postfixat i++; n forma prefixat variabila este
incrementat i valoarea modificat se folosete mai departe n calcule; n forma postfixat se folosete variabila n calcule i
apoi i este incrementat valoarea) ( i=i-1 i-- i-=1; operatorul de decrementare scade o unitate din coninutul unei
variabile; poate fi folosit n form prefixat --i sau postfixat i--; n forma prefixat variabila este decrementat i valoarea
modificat se folosete mai departe n calcule; n forma postfixat se folosete variabila n calcule i apoi i este decrementat
valoarea)
5. logici: ! (not), || (or), && (and)
Operatorii logici funcioneaz conform urmtoarelor reguli:
|| F A && F A !
F F A F F F F A
A A A A F A A F
C
o
d
e
-
D
e
s
i
g
n
e
r
.
e
u
Elemente de baz ale limbajului C++


3
6. operator de decizie: ?: (se aplic n forma operand
1
?operand
2
:operand
3
. se execut n urmtorul mod: se
testeaz valoarea operandului 1; dac este adevrat rezultatul este operand 2, n caz contrar rezultatul este operand 3)
Exemplu: calculul maximului a 2 valori x i y max=x>y ? x : y

7. de determinare a spaiului ocupat n memorie: sizeof (valoare) sau sizeof(tip) (returneaz dimensiunea n
octei a unei valori sau a unui tip de date)
Exemplu : sizeof(int)=4
long x; sizeof(x)=4

8. de conversie explicit (cast): (tip)expresie (convertete o dat de un anumit tip la un alt tip de date; conversia nu
afecteaz declaraiile fcute i este valabil doar n momentul n care este folosit operatorul cast)
Exemplu: int x;
float y=2.3;
x=(int)y ; y este convertit la tipul int; n urma conversiei se pierd zecimalele; x va avea valoarea 2

Operatorii ~, !, ++, -- sunt unari. Se aplic n forma operator operand.
Operatorul de decizie este ternar.
Ceilali operatori sunt binari. Se aplic n forma operand
1
operator operand
2
.
Operatorii + i pot fi i unari (cnd au semnificaia de schimbare a semnului unui numr) i binari (cnd se folosesc
n operaiile aritmetice).
Operatorul /, de mprire produce rezultate diferite, n funcie de tipul operanzilor. Dac acetia sunt ntregi i
rezultatul este ntreg. Dac cel puin un operand este real, rezultatul este real. (1/2=0; 1.0/2=0.5; 4/3=1; 4/3.0=1.33)

Expresiile sunt o succesiune de operanzi (variabile, constante, funcii) i operatori, grupai dup reguli specifice
limbajului. O expresie se evalueaz de la stnga la dreapta, innd cont de prioritatea operatorilor. Prioritile pot fi
modificate prin folosirea parantezelor.

IV. Variabile. Declararea variabilelor. Variabilele sunt o categorie de date a cror valoare se poate modifica
pe parcursul execuiei unui program. Fiecare variabil are asociat un identificator, prin intermediul cruia i se poate accesa
valoarea. Asocierea variabilidentificator se face ntr-o declaraie, care are forma general
tip identificator;
La declarare, identificatorii variabilelor de acelai tip se separ prin virgul.
tip poate fi un tip de date definit anterior de utilizator sau un tip de date standard.
Declaraia stabilete tipul variabilei. El nu poate fi modificat prin program i definete mulimea valorilor pe care le
poate lua variabila, operaiile ce i se pot aplica etc. De tipul variabilei depinde dimensiunea zonei de memorie care se aloc
variabilei.
La un moment dat o variabil conine o singur valoare. Modificarea acestei valori se poate face printr-o citire sau
printr-o atribuire. Valoarea rmne nemodificat att timp ct programul nu acioneaz asupra variabilei sau pn cnd
variabila respectiv este desfiinat (se ncheie execuia blocului de program n care a fost declarat variabila).
nainte de utilizare toate variabilele trebuie s fie declarate. Abaterea de la aceast regul produce erori la compilare.
Exemplu: int i, j; s-au declarat dou variabile de tip ntreg
float x, y, suma; s-au declarat trei variabile de tip real
char a, b; s-au declarat dou variabile de tip caracter

V. Citirea/scrierea datelor
Se face n C++ folosind obiectele cin, cout. Aceste obiecte se iniializeaz prin includerea n program a bibliotecii
iostream i utilizarea spaiului de nume std.
Afiarea la ieirea standard (pe ecran) se face folosind obiectul cout, urmat de <<.
Exemplu: cout<<i ; afieaz valoarea i
cout<<"\n"; afieaz newline (trece la o linie nou)
cout<<"i="<<i<<"\n"; afieaz textul i=, apoi valoarea i i trece la o linie nou

Citirea de la intrarea standard (tastatur) se face folosind obiectul cin, urmat de >>.
Exemplu: cin>>i ; citete valoarea i
cin>>a>>b; citete dou valori a i b

C
o
d
e
-
D
e
s
i
g
n
e
r
.
e
u