Documente Academic
Documente Profesional
Documente Cultură
Elementele de Baza Ale Limbajul de Programare C++ PDF
Elementele de Baza Ale Limbajul de Programare C++ PDF
Sumar
1. Competene . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
2. Noiuni introductive . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
3. Structura generala a unui program C++ . . . . . . . . . . . . . . . . . . . . . . . 9
4. Elementele de limbaj . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
5. Vocabularul limbajului C++ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
6. Tipuri simple de date . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
7. Constante i variabile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
8. Operatori i expresii . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
9. Operaii de citire i scriere . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
10. Instruciunile limbajului C++ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
11. Aplicaii . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
12. Bibliografie & webografie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
1. Competene
Competene generale
implementarea algoritmilor ntr-un limbaj de programare
aplicarea algoritmilor fundamentali n prelucrarea datelor
Competene specifice
transcrierea algoritmilor din limbaj pseudocod n limbaj de programare
elaborarea unui algoritm de rezolvare a unor probleme din aria
curricular a specialitii
alegerea unui algoritm eficient de rezolvare a unei probleme
2. Noiuni introductive
Noiuni introductive
Orice limbaj constituie un mijloc de comunicare ntre dou entiti:
emitorul i receptorul.
n general limbajele sunt de dou tipuri:
limbaje naturale;
limbaje artificiale.
Limbajele naturale s-au constituit de-a lungul timpului, n procesul
conlucrrii membrilor societii.
Limbajele artificiale au fost i sunt create pentru comunicarea ntr-un
domeniu particular de activitate.
Noiuni introductive
Limbajele de programare fac parte din categoria limbajelor artificiale, fiind
utilizate n procesul de comunicare om-calculator.
Un limbaj de programare reprezint un mijloc de comunicare ntre
programator i calculator.
Un limbaj de programare este un mijloc de comunicare particular, n
care informaia ce trebuie comunicat este codificat printr-un program pe
baza a trei componente:
un set de aciuni, care acioneaz asupra unui
set de date ntr-o anumit
secven de acionare.
Noiuni introductive
Repere istorice n evoluia limbajelor de programare:
1955 FORTRAN (FORmula TRANslation)
1960 ALGOL (ALGOrithmic Language)
1960 COBOL (COmmon Business Oriented Language)
1971 Pascal (Blaise PASCAL)
1972 C
1980 C++
1995 Java
Noiuni introductive
Limbajul de programare C++
La nceputul anilor 70 a aprut limbajul C creaia lui Dennis Ritchie i
Brain Kernighan.
Limbajul C++ este creaia lui Bjarne Stroustrup i reprezint o extensie a
limbajului C care permite programarea pe obiecte.
Noiuni introductive
Realizarea unui program scris n C++ necesit parcurgerea a patru etape:
editare scrierea programului surs, prin crearea unui fiier cu extensia
cpp;
compilare se aduce n memoria intern programul surs, se verific
erori i se convertete acest program n program obiect, avnd extensia
obj;
link-editare se leag programul obiect cu bibliotecile de sistem i se
transform ntr-un program executabil avnd extensia exe;
execuie se lanseaz n execuie programul obiect: se efectueaz
citirea datelor, calculele i scrierea rezultatelor, formndu-se fiierul.
10
4. Elementele de limbaj
Elementele de limbaj
Limbajul C++ este caracterizat de:
sintax este format din totalitatea regulilor de scriere corect a
programelor;
semantic reprezint semnificaia construciilor corecte din punct de
vedere sintactic;
vocabular este format din totalitatea cuvintelor care pot fi folosite ntrun program.
11
12
13
Identificatorii:
reprezint o secven de litere, cifre i _ (linia de subliniere) care trebuie
s nceap cu _ sau cu o liter;
nu pot fi cuvinte cheie (rezervate) ale limbajului.
Exemple
suma
Suma
suma1
suma_1
_suma
Contraexemple
suma 1
1suma
suma+1
suma&nr
suma nr
14
default
do
double
else
float
for
if
int
long
return
struct
switch
unsigned
void
While
15
/*comentariu
comentariu
..........*/
16
17
18
19
Tip
ntreg
Tip
real
Tip
caracter
Valori
Numr
octei
int
[-2147483648, 2147483647]
unsigned int
[0, 4294967295]
long int
[-2147483648, 2147483647]
[0, 4294967295]
float
double
long double
12
char
[-128, 127]
unsigned char
[0, 255]
20
7. Constante i variabile
Constante i variabile
O categorie aparte de date o reprezint constantele i variabilele.
Constantele
constanta are un tip i o valoare fix pe toat durata execuiei
programului care o conine;
tipul i valoarea unei constante se definesc prin caracterele care
compun constanta respectiv.
Constantele se clasific astfel:
numerice: - ntregi
- reale
caracter
ir de caractere
21
Constante i variabile
Declararea constantelor
Sintaxa:
const [tip_dat] nume=valoare;
unde:
const este un cuvnt cheie care nseamn definirea unei constante
simbolice;
tip_dat precizeaz tipul constante (poate lipsi);
nume este identificatorul constantei;
valoare este valoarea constantei.
Exemple
const int a=0;
const int x=-5;
const b=0;
const float PI=3.14;
const char a=a;
const char sir[]=info;
22
Constante i variabile
Variabile
nume asociat cu una sau mai multe locaii de memorie;
valoarea pstrat n aceste locaii se poate modifica n cursul execuiei
programului;
trebuie declarate se specific tipul i numele.
23
Constante i variabile
Declararea variabilelor
Sintaxa:
tip_dat nume;
unde:
tip_dat precizeaz tipul datei memorate n variabila de memorie;
nume este identificatorul variabilei de memorie.
Exemple
int a;
int x,y;
char b;
int a,b=1, c=2;
float d=1;
float e=1.234;
char f='a';
long x1,x2;
unsigned int p,q;
char sir[]="info";
24
8. Operatori i expresii
Operatori i expresii
Operatori
Operatorii sunt caractere speciale care indic operaia care se efectueaz
n cadrul unui program.
Clasificarea operatorilor:
operatori aritmetici;
operatori relaionali;
operatori de egalitate;
operatori de incrementare i decrementare;
operatori logici;
operatori de atribuire;
operatorul , (virgul);
operatorul de conversie explicit.
25
Operatori i expresii
a. Operatori aritmetici
- minus (unar) pentru semn
+ plus (unar) pentru semn
+ (binar) adunare
- (binar) scdere
* (binar) nmulire
/ (binar) mprire ntreag
% (binar) restul mpririi ntregi
Exemple
int a=3,b=4,p,c,r;
p=a*b;
c=a/b+p;
r=a%b;
26
Operatori i expresii
b. Operatori de comparaie (relaionali )
< mai mic
> mai mare
<= mai mic sau egal
>= mai mare sau egal
Rezultatul obinut n cazul aplicrii unuia dintre operatorii relaionali este
true sau false.
Exemple
2<=5
4<3
int x=4,y=5,c;
c=x>y;
27
Operatori i expresii
c. Operatori de egalitate
== egal
!= diferit
28
Operatori i expresii
d. Operatori de incrementare i decrementare
++ incrementare (adun 1)
-- decrementare (scade 1)
Exemple
int a=8,b=4,c=6,x;
a++;
//a=9
x=b--;
//x=4, b=3
x=++c;
//x=7, c=7
29
Operatori i expresii
e. Operatori logici
&& I logic
|| SAU logic
! negaie
Rezultatul obinut n cazul
aplicrii unuia dintre operatorii
logini este true sau false.
Exemple
a<=b && a<=c
a>5 || b<8
!(a==b)
30
Operatori i expresii
f. Operatori de atribuire
= egal
*=
/=
%=
+=
-=
Exemple
int a=2,b=3,c=4;
a=b;
b+=a;
c=b=a;
//b=b+a
31
Operatori i expresii
g. Operatorul , (virgul)
Separ mai multe expresii.
Exemple
int a=1, b=5;
float c;
c=a=b+1,a=c+2,b=b+1;
//b+1=6; a=6; c=6
//a=6+2=8;
//b=5+1=6;
32
Operatori i expresii
h. Operatorul de conversie explicit
Pentru ca un operand s intre n calcul convertit aa cum ne dorim (nu
implicit) naintea operandului se trece tipul su.
Exemple
float x=25.79;
int y;
y=x;
x=(int)x;
x=int(x);
float a=8, b=3, c;
c=a/b;
//x=25.79
//y=25
//x=25
//x=25
//c=2.66667
33
Operatori i expresii
Prioritatea operatorilor
34
Operatori i expresii
Expresii
O expresie este alctuit din unul sau mai muli operanzi legai ntre ei
prin operatori. Operanzii pot fi constante, variabile sau funcii.
Operanzii reprezint valorile care intr n calcul, iar operatorii
desemneaz operaiile care se execut n cadrul expresiei.
35
Operatori i expresii
a. Expresii aritmetice
expresiile aritmetice sunt cele care efectueaz operaii aritmetice avnd
ca rezultat un numr
Exemple
int x=7, y=2, r;
r=x/y;
//r=3
//r=3.5
int a;
a=25/2*4-3+7/2;
//a=48
36
Operatori i expresii
b. Expresii logice
o expresie logic descrie o condiie
valoarea unei expresii logice reprezint valoarea de adevr a expresiei
aferente
o condiie poate fi fals/false (valoarea 0) sau adevrat/true (o
valoare diferit de 0)
Exemple
int x=7, y=2;
x>=y
x!=y
x<y
//true
//true
//false
37
38
39
y 2
z 4
cin>>x;
cin>>y;
cin>>z;
// considerm c se introduc de la tastatur valorile 10, 20 i 30
x 10
y 20
z 30
40
41
42
cout<<
cin>>
Program
Date de
ieire
monitor
tastatura
43
44
45
46
Instruciuni
decizionale
Instruciuni
de control
if
switch
while
Instruciuni
repetitive
do while
for
47
Efect:
se evalueaz expresia.
Se scrie caracterul ; dup o expresie (de atribuire, apelul unei funcii).
48
p=abs(8);
clrscr();
p=1;
x+=2;
k=2*a-b*b+c;
49
Sintaxa:
{
declaraii;
instruciuni;
}
Efect:
se execut n ordine instruciunile specificate.
50
int a,x,p=5;
a=0;
x=p+2;
x++;
p+=x;
cout<<a<<x<<p;
}
51
52
53
54
if(x>10)
{
x++;
y=10;
}
else
x--;
y=20;
55
if(x>y)
if(y>z)
x=y+z;
else
x=y-z;
4.
if(x>y)
{
if(y>z)
x=y+z;
}
else
x=y-z;
56
57
58
59
60
61
62
63
Efect:
pasul 1: se evalueaz expresie logic;
pasul 2: dac valoarea produs de aceasta este adevrat (diferit
de 0), se execut instruciune, apoi se trece la pasul 1,
altfel (are valoarea 0) se trece la instruciunea urmtoare
din program.
64
65
66
67
instruciune;
while(expresie logic);
Efect:
pasul 1: se execut instruciune;
pasul 2: se evalueaz expresie logic; dac valoarea produs
de aceasta este 0, execuia se ncheie, altfel se trece la
pasul 1.
68
69
70
71
Efect:
pasul 1: se evalueaz expresie1;
pasul 2: se evalueaz expresie2; dac aceasta produce o
valoare diferit de 0, se execut instruciune, apoi se
trece la pasul 3, altfel instruciunea for se ncheie;
pasul 3: se evalueaz expresie3 i se revine la pasul 2.
72
int i;
for(i=5;i<5;i++)
cout<<i<< ;
3.
int i;
for(i=5;i>1;i--)
cout<<i<< ;
4.
int i;
for(i=5;i>1;i=i-2)
cout<<i<< ;
73
11. Aplicaii
Fie de lucru
Operatori i tipuri de date
Instruciunea de atribuire
Instruciunea decizional if
Instruciunea repetitiv while
Instruciunea repetitiv do while
Instruciunea repetitiv for
74