Sunteți pe pagina 1din 6

Lucrarea 1. Programarea n limbajul C++.

Introducere
Limbajul C++ este un limbaj structurat, flexibil, portabil i prietenos. Instruciunile care compun
programele de calcul sunt traduse n cod main prin intermediul unui program denumit compilator.
Programarea este activitatea de codificare a algoritmelor n calculator. Procesul de programare are 4
pai:
specificarea task-urilor;
elaborarea unui algoritm pentru a obine soluia sa;
codificarea algoritmului n limbajul C++;
testarea codului.
Un cod C++ se numete cod surs, iar un fiier care conine un cod surs se numete fiier surs.
Dup ce a fost creat un fiier surs se invoc compilatorul limbajului C++. Dac nu sunt erori, n urma
acestei operaii, se genereaz fiierul executabil asociat.

Toate programele C++ au anumite componente i trsturi comune. Acestea au urmtoarea structur:
directive preprocesare;
declaraii globale;
funcii.
Preprocesorul este apelat automat atunci cnd ncepe compilarea. Prin intermediul lui se pot realiza:
includeri de text, definiii i apeluri de macrouri simple, compilare condiionat.
Declaraiile globale permit utilizarea unor tipuri de date i variabile definite de utilizator n orice
punct din interiorul programului.
Dei un program C++ poate conine mai multe funcii, singura funcie care trebuie neaprat s existe
este funcia main. Cu aceast funcie ncepe execuia programului. Atunci cnd programul este lansat, el
execut instruciunile din funcia main, ncepnd cu prima instruciune care urmeaz dup paranteza acolad
deschis (caracterul {). Toate instruciunile se termin cu caracterul ; (punct virgul). Limbajul C++ nu
recunoate sfritul de linie ca terminator. Execuia programului se termin cnd este ntlnit paranteza
acolad nchis (caracterul }).
Unele dintre cele mai simple programe care poate fi scris n limbajul C++ sunt urmtoarele.
1.
#include <iostream.h>
main()
{
cout << "Acesta este primul meu program C++ !";
return 0;
}

Instruciunea de afiare cout permite afiarea pe ecranul calculatorului a unor constante din program i
este esenial pentru limbaj.
Diagrama sintactic a instruciunii de ieire cout<< este prezentat n Figura 1.

Figura 1. Diagrama sintactic a instruciunii cout.

Pentru introducerea datelor de la tastatur limbajul C++ folosete instruciunea cin>>. Diagrama
sintactic a instruciunii de citire cin>> este prezentat n Figura 2.

Lucrarea 1. Programarea n limbajul C++. Introducere

Figura 2. Diagrama sintactic a instruciunii cin.

2.
#include <stdio.h>
#include <conio.h>
void main ()
{
clrscr ();
printf ("Acesta este primul meu program C++");
getch ();
}

Analiza codului prezentat:


Dup ce este compilat i rulat va apare pe monitorul mesajul Acesta este primul meu program C++.
Directiva #include determin procesorul s includ o copie a fiierului header stdio.h i a fiierului
conio.h n acest punct al codului. Fiierul stdio.h este introdus pentru funcia standard printf, iar fiierul
conio.h este introdus pentru funciile standard clrscr i getch.
Forma general a directivei #include este:
a) #include nume_fiier
b) #include < nume_fiier >
n cazul a) fiierul specificat prin nume_fiier este cutat n directorul curent i apoi n directoarele
standard. n cazul b) se caut numai n directoarele standard.
n urma executrii acestei directive, textul fiierului specificat prin nume_fiier este inclus n program.
Fiecare program are o funcie numit main de unde ncepe execuia programului. Parantezele acolade
(caracterele {, respectiv } ) arat c aceasta este o funcie.
Limbajul C++ conine o bibliotec standard de funcii care poate fi utilizat n programare, printf fiind
o astfel de funcie. Efectul acesteia const n afiarea pe monitor a unui text, mesaj, valoare calculat etc.
Mesajul Acesta este primul meu program C++ este argumentul funciei printf. Funcia standard clrscr este
o funcie care terge informaia afiat pe ecran; getch citete o tast.
Tipuri fundamentale de date n limbajul C++
Variabilele i constantele sunt obiecte cu care se lucreaz ntr-un program. n limbajul C++, toate
variabilele trebuie declarate nainte de a fi folosite.
O variabil este o locaie de memorie creia i s-a atribuit un nume i care poate conine diferite valori.
Numai cele mai banale programe nu conin variabile. Rolul acestora este urmtorul:
transmit compilatorului ct spaiu de memorie trebuie rezervat pentru memorarea acestor variabile;
permit compilatorului s instruiasc maina de calcul pentru a efectua operaiile specifice corect.
n limbajul C++ exist urmtoarele tipuri fundamentele de date (Tabelul 1).
Tabelul 1. Tipuri fundamentale de date n limbajul C++
Nr. crt.
1.
2.
3.
4.
5.

Tip de date
Caracter
ntreg
Virgul flotant
Dubl precizie
Void

Semnificaie
Dat caracter
Numr ntreg cu semn
Numr cu zecimale
Numr cu zecimale reprezentat n dubl precizie
Fr valoare

Cuvnt cheie
char
int
float
double
void

Aceste tipuri de date, cu excepia tipului void, pot fi modificate folosind modificatorii de tip:
signed;
unsigned;
long;
short.

Lucrarea 1. Programarea n limbajul C++. Introducere

Modificrile de tip preced definirea tipului de dat, ca n exemplul de mai jos, caz n care se declar o
dat de tip ntreg lung.
Exemplu: long int i;
n Tabelul 2 se prezint combinaii ntre tipurile de date i modificri, lungimea de reprezentare n bii
i domeniul de valori pe care le pot conine.
Tabelul 2. Caracteristicile tipurilor fundamentale i modificate n limbajul C++
Nr.
crt.
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.

Tipul de date

Dimensiunea n bii

char
unsigned char
signed char
int
unsigned int
signed int
short int
unsigned short int
signed short int
long int
signed long int
unsigned long int
float
double
long double

8
8
8
16
16
16
16
16
16
16
16
32
32
64
80

Domeniul de valori
ntregi -127 127
ntregi 0 255
ntregi -127 127
-32767 32767
0 65535
similar cu int
similar cu int
0 65535
similar cu short int
-2147483647 2147483647
similar cu long int
0 4294967295
6 zecimale exacte
10 zecimale exacte
10 zecimale exacte

Tipul de date char


Este unul dintre tipurile fundamentale din limbajul C++, constantele i variabilele de acest tip fiind
folosite pentru reprezentarea caracterelor.
Limbajul C++ folosete irul de caractere al codului ASCII care se codific prin numere ntregi n
intervalul [0; 127], adic 128 de coduri.
Mulimea caracterelor se mparte n 3 grupe:
caractere negrafice (coduri cuprinse ntre 00 = NULL i 31 precum i 127 DELL);
spaiu (codul 32);
caractere speciale (coduri cuprinse ntre 33 i 126).
Caracterele grafice se mpart la rndul lor n:
litere mari (coduri cuprinse ntre 65 i 90);
litere mici (coduri cuprinse ntre 97 i 122);
cifre (coduri cuprinse ntre 48 i 59);
caractere speciale (celelalte coduri).

Aplicaie 1: Program care citete o liter i afieaz codul su ASCII.


Indicaii:
date de intrare: caracterul citit de la tastatur;
date de ieire: codul su ASCII;
mijloc de obinere: funcia getchar ().
Tipul de date int
Acest tip de date este cel mai folosit n limbajul C++. Permite o form prescurtat de declarare a
datelor de tip ntreg modificate cu signed, unsigned, short sau long. Tipul int poate s lipseasc, fiind
implicit.
Urmtoarele declaraii sunt echivalente:
unsigned numar;
unsigned int numar;

Lucrarea 1. Programarea n limbajul C++. Introducere

Aplicaie 2: Program care solicit utilizatorului s introduc o valoare de tip (ntreg) unsigned, o valoare
de tip long i o valoare de tip short, iar apoi s afieze aceste valori.
Indicaii:
folosind funcia printf se afieaz la consol mesajele prin care se cere utilizatorului s introduc
valorile;
folosind funcia scanf se citesc aceste valori;
pentru afiarea unei date de tip short folosind funcia printf se utilizeaz specificatorul de format %hd;
pentru afiarea unei date de tip long folosind funcia printf se utilizeaz specificatorul de format %ld;
pentru afiarea unei date de tip unsigned folosind funcia printf se utilizeaz specificatorul de format
%d.
Funcia standard printf()
Forma general a funciei standard printf este urmtoarea:
printf (format, exp1, exp2, ...);

i are ca efect afiarea valorii expresiilor exp1, exp2, ... conform unui anumit format specificat prin format.
format este un ir de caractere care conine specificatori de format; fiecare astfel de specificator ncepe cu
caracterul %. Lista de specificatori de format corespunde cu lista expresiilor.
Specificatorii de format ai funciei printf sunt prezentai n Tabelul 3.
Tabelul 3. Specificatorii de format ai funciei printf ()
Nr. crt.
1.
2.
3.
4.

6.
7.
8.
9.
10.

Cod
%c
%d
%i
%e
%f
%mf
%.nf
%g
%o
%s
%x
%p

11.

%n

12.
13.

%u
%%

5.

Semnificaie
Afieaz o dat de tip caracter
Afieaz o dat de tip ntreg fr semn
Afieaz o dat de tip ntreg cu semn
Notaie tiinific; format cu exponent
Afieaz un numr flotant
Specific lungimea cmpului
Specific precizia
Folosete pe cel mai scurt dintre %e i %f
Afieaz o dat de tip ntreg n format octal fr semn
Afieaz un ir de caractere
Afieaz o dat de tip hexazecimal fr semn
Afieaz un pointer
Argumentul asociat va fi un pointer ntreg n care este plasat numrul de caractere
scrise anterior
Afieaz o dat de tip ntreg fr semn
Afieaz caracterul % (procent)

Codurile backslash ale limbajului C++ sunt prezentate n Tabelul 4.


Tabelul 4. Codurile backslash ale limbajului C++
Nr. crt.
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.

Cod
\b
\f
\n
\r
\t
\
\
\0
\\
\v
\a
\N
\xN

Semnificaie
Caracter backspace
Caracter avans de pagin
Caracter linie nou
Carriage return (corespunde accesrii tastei ENTER)
Caracter tabulator orizontal (salt de 8 caractere)
Caracterul ghilimele
Caracterul apostrof
Caracterul nul
Caracterul backslash
Caracterul tabulator vertical
Caracterul de avertizare (sunet)
Octal constant (unde N este o constant octal)
Hexazecimal constant (unde N este o constant hexa)

Lucrarea 1. Programarea n limbajul C++. Introducere

Cel mai utilizat cod de tip backslash n C++ este \n. Cnd compilatorul C++ ntlnete acest cod, el l
translateaz ntr-o operaie de trecere la linie nou.
Prototipul funciei printf este coninut n fiierul stdio.h.

Aplicaie 3: Program care folosind specificatorii de format s afieze la consol: text 3 7.43 L.
Aplicaie 4: Program care folosind specificatorii de format s afieze la consol:
numere: 4.0 5.00 6.000 7.0000.

Aplicaie 5: Program care folosind specificatorii de format s afieze la consol:


mi place Limbajul C foarte, foarte mult !

Indicaii:
se utilizeaz specificatorii de format pentru afiarea datelor de tip caracter, respectiv a datelor de tip ir
de caractere.
Funcia standard scanf ()
Funcia standard scanf este asemntoare cu funcia standard printf fiind folosit pentru intrri n loc
de ieiri.
Forma general a funciei standard scanf este urmtoarea:
scanf(const format, &v1, &v2, ...);

&v1, &v2,... este o list de adrese de variabile; format este o constant ir de caractere care precizeaz modul
de citire al valorilor variabilelor v1, v2, ... care figureaz dup el. n format se gsesc specificatori de format,
blancuri, caractere spaii ocupate.
Specificatorii de format ai funciei scanf sunt prezentai n Tabelul 5.
Tabelul 5. Specificatorii de format ai funciei scanf ()
Nr. crt.
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.

Cod
%c
%d
%i
%e
%f
%g
%o
%s
%x
%p

11.

%n

12.
13.

%u
%[]

Semnificaie
Citete un caracter
Citete o dat de tip ntreg scris n baza 10
Citete o dat de tip ntreg scris n baza 10 cu semn
Citete un numr float
Citete un numr float
Citete un numr float
Citete un numr scris n baza 8 fr semn
Citete un ir de caractere
Citete un numr scris n baza 16 fr semn
Citete un pointer
Argumentul asociat primete o valoare ntreag egal cu numrul de caractere
deja citite
Citete un numr ntreg fr semn
Scanare pentru un set de caractere

Aplicaie 6: Program care solicit utilizatorului s introduc o valoare de tip ntreg i o valoare de tip
float, citete aceste valori i apoi le afieaz.

Aplicaie 7: Program de calcul care solicit utilizatorului s introduc raza unui cerc, iar apoi calculeaz
aria acestuia.

Indicaii:
raza raza ;
aria cercului se calculeaz folosind relaia: aria
se definete constanta folosind sintaxa: const float pi=3.141592653589793;

Lucrarea 1. Programarea n limbajul C++. Introducere

Aplicaie 8: Program care solicit utilizatorului s introduc 3 caractere i apoi afieaz aceste caractere.
Comentariile
Comentariile sunt notie care se scriu n codul surs, sunt iruri de caractere cuprinse ntre /* i */, n
cazul comentariilor pe mai multe linii, sau iruri de caractere scrise dup // , n cazul comentariilor scrise pe
o singur linie. Acestea nu fac parte din codul executabil.

Aplicaie 9: Program de calcul care solicit utilizatorului s introduc numrul de zile pmntene i apoi
le transform n ani pe Jupiter.

Indicaii:
un an pe Jupiter este echivalent cu 12 ani pe Terra;
se dorete utilizarea comentariilor n cadrul codului acestui program.

S-ar putea să vă placă și