Sunteți pe pagina 1din 8

CENTRU DE EXCELEN

17 OCTOMBRIE 2009, clasa a V-a, clasa a VI-a


Profesor Cristiana Crna, ice!l "#ri$ore Moisil% Ti&i'oara
I. Elemente de baz ale limbajului C++. Tipuri de date
I(1( )tr!ct!ra *ro$ra&elor C++
I(2( Ti*!ri ,e ,ate n!&erice 'i nen!&erice -e.ce*t/n, ti*!l real0
I(1( E.*resii
I(2( O*eratori C++
I(3( Citiri( )crieri
1(1 Strutura pr!"amel!r C++
#!abularul limbajului C
Setul de aratere
a scrierea *ro$ra&elor se folose'te set!l ,e caractere al co,!l!i 4)CII( M!li&ea caracterelor
se 5&*arte 5n trei $r!*e6
caractere ne$rafice6 co, 4)CII 7 12 'i 8E-co, 127 - e.ce*ie0
- a! ,iferite f!ncii s*eciale, s*re e.e&*l!6
9n - r/n, no!
9t - T4B
9: - :ac;s*ace
9< - T4B <ertical
9f - salt ,e *a$in etc(
s*ai! co, 4)CII = 12
caractere $rafice co, 4)CII > 12
- literele &ari ale alfa:et!l!i en$le? -4 co, 4)CII @3, B co, 4)CII @@, (((0
- literele &ici ale alfa:et!l!i en$le? -a co, 4)CII 97, : co, 4)CII 9A, (((0
- cifre 0((9 -0 co, 4)CII 2A, 1 co, 4)CII 29, (((0
- caractere s*eciale6 B, C, D( + etc(
Identi$iat!ri
En i,entificator este o s!ccesi!ne ,e litere, e<ent!al cifre care 5nce*e c! o liter( Fn calitate ,e
litere se folosesc6 literele &ici 'i &ari ale alfa:et!l!i en$le? 'i caracter!l s!:liniere(
4TEGHIEBBB In C se face ,istincie 5ntre literele &ici 'i cele &ari
Ma. &a., or,onat OR8OG4T
E.e&*l!6 Ma., I&in, ,istincte, frec<, Ma.2 - re*re?int i,entificatori coreci
2&in, @7*ri&, 7Ior$, 4+B, aJ, - n! re*re?int i,entificatori
Cu%inte rezer%ate
C!<intele re?er<ate s!nt i,entificatori c! se&nificaie fi.at, care n! *ot fi folosii 5n alt conte.t
,ec/t cel *reci?at 5n ,efinirea li&:aK!l!i(
E.e&*l!6 if, while, do, printf, int, main, void etc(
C!mentarii
Fn te.t!l !n!i *ro$ra& s!nt necesare !neori note e.*licati<e -co&entarii0 ata'ate !nor sec<ene ,e
o*eraii, care n! a! rol acti< 5n ,er!larea *ro$ra&!l!i(
Co&entariile
1
*ot fi scrise *e !n sin$!r r/n, 'i s!nt *rece,ate ,e caracterele LL
*ot fi scrise *e &ai &!lte r/n,!ri 'i s!nt c!*rinse intre caracterele LD DL
E.e&*l!6 // acesta este un comentariu pe un rand
/* acesta este
un comentariu
pe mai multe randuri */
Strutura unui pr!"ram C++
G!&i& &e,i! ,e *ro$ra&are !n *ro$ra& care *er&ite asistarea *ro$ra&ator!l!i 5n toate fa?ele ,e
ela:orare a !n!i *ro$ra&, scris intr-!n li&:aK ,e *ro$ra&are -e,itare, ,e*anare, co&*ilare, e.ec!ie0(
En astfel ,e &e,i! ,e *ro$ra&are este Borlan, C 1(1(
Prin *ro$ra& se 5nele$e o s!ccesi!ne ,e co&en?i -instr!ci!ni0 ,e *rel!crare a ,atelor, scrise intr-!n
li&:aK ,e *ro$ra&are( Pro$ra&!l este &e&orat intr-o entitate n!&it fi'ier s!rs -este !n fi'ier te.t c!
e.tensia .pp0(
Prel!crrile ,intr-!n *ro$ra& C++ s!nt $r!*ate 5n f!ncii( Re?ol<area !nei *ro:le&e se face *rin
!tili?area !nor f!ncii ,efinite 5n li&:aK 'iLsa! a !nor f!ncii scrise ,e *ro$ra&ator, at!nci c/n, f!nciile
,eKa e.istente n! s!nt s!ficiente(
M!nciile *e care li&:aK!l le *!ne la ,is*o?iia !tili?ator!l!i s!nt $r!*ate, ,!* ti*!l ,e *rel!crare
oferit, 5n &ai &!lte fi'iere n!&ite C:i:lioteciC -fi'iere Nea,er0( Pentr! a *!tea !tili?a 5n *ro$ra& o
f!ncie tre:!ie s se s*ecifice la 5nce*!t!l *ro$ra&!l!i n!&ele :i:liotecii care conine f!ncia
res*ecti<(
Orice *ro$ra& C++ tre:!ie s conin o f!ncie n!&it C&ainC -!n fel ,e "*ro$ra& *rinci*al%0,
Instr!ci!nile conin!te ,e f!ncia &ain fiin, cele *rel!crate at!nci c/n, *ro$ra&!l este lansat 5n
e.ec!ie(
Pentr! a se *!tea o:ine re?!ltatele *rel!crrii ,atelor c! aK!tor!l *ro$ra&elor, tre:!ie *arc!rse
!r&toarele fa?e6
- scrierea *ro$ra&!l!i -e,itarea te.t!l!i s!rs0O
- co&*ilarea *ro$ra&!l!i -ceea ce 5nsea&n <erificarea corectit!,inii sintactice 'i se&antice a
*ro$ra&!l!i s!rs si *rel!crarea sa re?!lt !n fi'ier o:iect, care are acela'i n!&e c! al fi'ier!l!i s!rs
,ar c! e.tensia .!bj0( Co&*ilarea se reali?ea? *rin acionarea co&:inaiei ,e taste &lt 'i () sa! ,e la
o*i!nea Co&*ile ,in &eni!l Co&*ile(
- e,itarea le$t!rilor -fi'ier!lLfi'ierele o:iect o:in!te 5n !r&a co&*ilrii s!nt transfor&ate 5ntr-!n
fi'ier e.ec!ta:il, care are acela'i n!&e c! al fi'ier!l!i s!rs ,ar c! e.tensia .e*e, a,ic 5ntr-!n fi'ier care
*oate fi lansat 5n e.ec!ie *rin si&*la scriere a n!&el!i s! la *ro&*ter!l siste&!l!i ,e o*erare(
R!larea se reali?ea? *rin acionarea co&:inaiei ,e taste Ctrl 'i () sa! ,e la o*i!nea R!n ,in &eni!l
R!n(
Cel &ai si&*l! *ro$ra& C++6
#include<iostream.h>
void main()
{
cout<<"astazi este samata"! //afisarea unui mesa" pe ecran
#
1(2 Tipuri de date numerie intre"i in C
Prin ,at se 5nele$e orice entitate as!*ra creia calc!lator!l *oate o*era(
Orice ,at care a*are 5ntr-!n *ro$ra& C tre:!ie ,eclarat, *entr! a fi c!nosc!t la co&*ilare(
Enele ,ate 5'i &o,ific <aloare 5n ti&*!l e.ec!iei *ro$ra&!l!i 'i ele se n!&esc ,ate <aria:ile(
E.e&*l!6
int a,! LL se ,eclara ,o!a <aria:ile ,e ti* intre$ ,e &a.i& 3 cifre
2
lon$ v%,&,a%! LL se ,eclara trei <aria:ile ,e ti* intre$ ,e &a.i& 9 cifre
int &'%(! LD,eclararea !nei <aria:ile . ,e ti* intre$ - este o ,at
as!*ra creia se o*erea? care are <aloarea initiala 12DL
8atele care n! 5'i &o,ific <aloare 5n ti&*!l e.ec!iei *ro$ra&!l!i se n!&esc ,ate constante(
E.e&*l!6
const int a=3, :=12O LL ,eclar ,o!a constante intre$i ,e &a.i& 3 cifre care a! <alorile 3 res*ecti< 12
const lon$ <1=12212121O LL,eclar o constanta ,e ti* intre$ care are <aloarea 12212121
En ti* ,e ,at *reci?ea? mulimea valorilor *e care le *oate l!a o ,at, operaiile care se *ot efect!a
as!*ra ei 'i lungimea de reprezentare intern(
Cla+i$iare, Fn li&:aK!l C ,istin$e& ,o! cate$orii ,e ,ate6
ti*!ri *re,efinite ,e ,ate -stan,ar, sa! f!n,a&entale0
- n!&erice -5ntre$i 'i reale0
ti*!ri ,eri<ate
- ti*!ri str!ct!rate
ta:lo!ri -'ir!ri ,e caractere0
5nre$istrare
- *ointer
- referin
Pentr! 5nce*!t ne <o& oc!*a n!&ai ,e tipurile intre"i +imple de date -*re,efinite sa! stan,ar,0(
Tip de date Reprezentarea intern +e $ae pe... D!meniu de %al!ri
cNar A :iti -12A(((127
!nsi$ne, cNar A :iti 0(((233
int 1@ :iti -12 7@A(((12 7@7
!nsi$ne, int 1@ :iti 0(((@3 313
lon$ 12 :iti -2 127 2A1 @2A(((2 127 2A1 @27
!nsi$ne, lon$ 12 :iti 0(((2 292 9@7 203
O:ser<aie6 Ti*!l cNar 'i ti*!l !nsi$ne, cNar se folosesc *entr! a ,efini ,ate ,e ti* caracter
1(1 E*pre+ii
En o*erator este !n si&:ol care arata ce o*eratii se e.ec!ta as!*ra !nor o*eran?i -ter&eni0(
En o*eran, este o constanta, o <aria:ila, !n n!&e ,e f!nctie sa! o s!:e.*resie a carei <aloare este
*rel!crata ,irect ,e o*erator sa! s!*orta 5n *reala:il o con<ersie ,e ti*(
Fn C e.ista 23 ,e o*eratori ,iferii ,is*!'i *e 13 ni<el!ri ,e *rioritate(
Fn f!ncie ,e ti*!l o*eran?ilor as!*ra crora se a*lic, o*eratorii *ot fi6 arit&etici, relaionali, :inari,
lo$ici, etc(
O*eratorii s!nt 5&*rii 5n clase ,e *rece,en -sa! ,e *rioritate0 care arat or,inea 5n care se
efect!ea? o*eraiile( Fn fiecare clas ,e *rece,en este sta:ilit o re$!l ,e asociati<itate, care in,ic
or,inea ,e a*licare a o*eratorilor ,in clasa res*ecti<6 ,e la st/n$a la ,rea*ta sa! ,e la ,rea*ta la st/n$a(
O e.*resie este o co&:inaie ,e o*eran?i, se*arai 5ntre ei *rin o*eratori(
Prin e<al!area !nei e.*resii se o:ine o <aloare re?!ltat( Ti*!l <alorii re?!ltat ,e*in,e ,e ti*!l
o*eran?ilor 'i a o*eratorilor folositi(

1(2 .perat!ri C++
1
O*eratorii arit&etici
O*eratorii arit&etici :inari s!nt6 +, -, D, L 'i P -&o,!l = rest!l i&*ririi 5ntre$i0
Prioritatea o*eratorilor arit&etici este6
+, - !nari -*entr! se&n!l !nei <aria:ile sa! a !nei constante0
D, L, P :inari
+, - :inari
Re$!la ,e asociati<itate este ,e la st/n$a la ,rea*ta -la *rioriti e$ale o*eratorii s!nt e<al!ai ,e la
st/n$a la ,rea*ta0(
O*erator!l ,e atri:!ire
Fn li&:aK!l C se ,efine'te o*erator!l ,e atri:!ire =(
4cest o*erator este :inar iar sinta.a l!i este6
<aria:ila=e.*resie
Efect!l acest!i o*erator este6 se e<al!ea? e.*resia 'i <aria:ila *ri&e'te acea <aloare(
O*eratorii relaionali
)!nt o*eratori :inari 'i e.*resiile 5n care a*ar s!nt 0, ,aca relaia e fals, 1 ,aca e a,e<arat(
C-!l n! ,efineste ti*!l lo$ic, asa 5nc/t6 0 este inter*retat ca <aloarea lo$ic fals, iar orice <aloare ,iferita
,e 0 este inter*retat ca a,e<arat(
O*eratorii relationali s!nt6
< <' > >' -&ai &ic, &ai &ic sa! e$al, &ai &are, &ai &are sa! e$al0
'' )' - e$al, res*ecti< ,iferit 0
O:ser<atieBB A nu se confunda con,iia a'' c! e.*resia a', !lti&a a</n, <aloarea a,e<arat *entr!
orice <aloare a l!i : ,iferita ,e 0(
O*eratorii lo$ici
Con,iiile &ai co&*le.e se o:in a*lic/n, con,iiilor si&*le o*eratorii lo$ici6
B ne$aie lo$ic
JJ 'i lo$ic
QQ sa! lo$ic
O*eran?ii s!nt intre$i, inter*retati ca <alori lo$ice( Prioritatea o*eratorilor JJ 'i QQ este &ai sca?!t
,ec/t a celor con,iionali, a cel!i ,e ne$are, fiin, !nar, este cea &ai ri,ic(
O*eratorii tratea? o*eran?ii ca <alori lo$ice, ,eci orice <aloarea ,iferit ,e 0 este inter*retat ca
a,e<rat, iar 0 ca fals( 4*lic/n, !n!i 5ntre$ o*erator!l ,e ne$aie lo$ic, se o:ine 1 ,ac o*eran,!l e
fals, res*ecti< 0 ,ac o*eran,!l este a,e<arat(

1(3 Citiri. Srieri
8atele *ot a<ea !r&tor!l trase!6
s!rsa6 tastat!r R ,estinaie6 &onitor
Mi'ier!l 7iostrea&(N> conine ,efiniia !r&toarelor o:iecte6
cin - face *arte ,in clasa istrea& ce ,efine'te !n strea& ,e intrare
2
co!t - face *arte ,in clasa ostrea& ce ,efine'te !n strea& ,e ie'ire
OB)ERV4TIE6 Citirile 'i scrierile se *ot face folosin, o:iectele cin 'i co!t(
)inta.a *entr! citirea ,atelor6
cin>>n!&eI<aria:ila1>>n!&eI<aria:ila2>>(((>>n!&eI<aria:ilanO
4re ca efect citirea <alorilor *entr! <aria:ilele n!&eI<aria:ila1, n!&eI<aria:ila2, n!&eI<aria:ilan(
E.e&*l! 6 ...
int a,,c!
...
cin>>a! //citeste o valoare pentru variaila a
cin>>a>>! //citeste cate o valoare pentru variailele a,
)inta.a *entr! scrierea ,atelor
co!t77 n!&eI<aria:ila177 n!&eI<aria:ila277(((77n!&eI<aria:ilanO
4re ca efect afisarea <alorilor *entr! <aria:ilele n!&eI<aria:ila1, n!&eI<aria:ila2, n!&eI<aria:ilan(
E.e&*l!6
...
int a,,c!
...
cout<<a! //afiseaza valoarea variailei a
cout<<a<<! //afiseaza valoarea variailelor a si
4fisarea !nor &esaKe
co!t77%&esaK%O
E.e&*l!6
cout<<*+cesta este un mesa"*!
Constr!cia en,l face *osi:il trecerea la o linie no!(
E.e&*le6
include<iostream.h>
void main()
{
char a,,c!
cin>>a! //daca tast,m -a- se tip -a-
cout<<a! //daca tast,m - a- se tip -a-
cin>>a>>>>c! //se cit val pentru a, apoi , apoi c
cout<<a<<<<endl<<c! //se afi.eaz, var a .i iar pe urm,t. linie c
#
&plia/ii rez!l%ate,
0. Se ite+ d!u numere naturale a1b. S +e aluleze +uma 'i pr!du+ul l!r.
Rez!l%are1 pr!"ramul e+te prezentat mai j!+,
#include<iostream.h>
#include<conio.h> //headere care contine definitiile functiilor
void main()
{ clrscr()! //curata ecranul
int a,,s,p! //declararea variailelor
cout<<"a'"! cin>>a! //citirea unei valori pentru variaila a
3
cout<<"'"! cin>>! //citirea unei valori pentru variaila
s'a/! //calculul sumei
p'a*! //calculul produsului
cout<<"suma'"<<s<<endl! //afisarea sumei
cout<<"produsul'"<<p! //afisarea produsului
$etch()! //asteapta apasarea unei taste
#
In $erea+tra 2!rland C++ pr!"ramul +e %a +rie a mai j!+,
Rezultatul rulrii pentru a34 'i b35 e+te +uma36 +i pr!du+ul37
@
O:ser<aie6 Molosirea f!nciilor clrscr-0 'i $etcN-0 n! este o:li$atorie, ,ar este !til 5n r!larea
*ro$ra&!l!i( Cele ,o! f!ncii a! ,efiniiile 5n Nea,er!l -:i:lioteca0 7conio(N>
4. Se ite'te latura l a unui ptrat. S +e aluleze aria ptratului 8&9 'i perimetrul +u 8:9.
Rez!l%are1 pr!"ramul e+te prezentat mai j!+,
#include<iostream.h>
#include<conio.h>
void main()
{ clrscr()!
int l,+,0!
cout<<"l'"! cin>>l!
+'l*l!
0'1*l!
cout<<"aria'"<<+<<endl!
cout<<"perimetrul'"<<0!
$etch()!
#
E.e&*l! ,e r!lare, *entr! lat!ra l=3
&plia/ii tem,
0. #ariabilele a1b11d1*1; iau %al!ri numere naturale. S +e aluleze %al!area e*pre+iei,
E=a*x+b+c*y+d
5. Se ite+ trei numere naturale a1b1.S +e aluleze +uma +i pr!du+ul l!r.
<. Se ite+ ini aratere are $!rmeaz un u%=nt. S +e a$i'eze u%=ntul preum 'i u%=ntul
in%er+at 8u araterele >n !rdine in%er+9.
6. S +e a$i'eze di%er+e $i"uri "e!metrie $!l!+ind araterul ?.
E.e&*l! D
D D
D D
D D
D
7
A

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