Sunteți pe pagina 1din 9

CENTRU DE EXCELEN

2 OCTOMBRIE 2010, clasa a V-a


Profesor Cpuan Anamara, !ceul Teolo"c Bap#s# Tm$oara
Elemente de baz ale limbajului C++. Tipuri de date
I%1% &#ruc#ura pro"ramelor C''
I%2% Tpur (e (a#e numerce $ nenumerce )e*cep#+n( #pul real,
I%-% E*pres
I%.% Opera#or C''
I%/% C#r% &crer
1%1 Structura pr!amelr C++
"cabularul limbajului C
Setul de caractere
!a screrea pro"ramelor se folose$#e se#ul (e carac#ere al co(ulu A&CII% Mul0mea carac#erelor se 1mpar#e
1n #re "rupe2
carac#ere ne"rafce2 co( A&CII 3 -2 $ 4E!)co( 125 - e*cep0e,
- au (fer#e func0 specale, spre e*emplu2
6n - r+n( nou
6# - TAB
67 - 7ac8space
69 - TAB 9er#cal
6f - sal# (e pa"n e#c%
spa0u co( A&CII : -2
carac#ere "rafce co( A&CII ; -2
- l#erele mar ale alfa7e#ulu en"le< )A co( A&CII =/, B co( A&CII ==, %%%,
- l#erele mc ale alfa7e#ulu en"le< )a co( A&CII >5, 7 co( A&CII >?, %%%,
- cfre 0%%> )0 co( A&CII .?, 1 co( A&CII .>, %%%,
- carac#ere specale2 @, A, B% ' e#c%
#denti$icatri
#denti$icatr % es#e o succesune (e l#ere, e9en#ual cfre care 1ncepe cu o l#er% Cn cal#a#e (e l#ere se folosesc2
l#erele mc $ mar ale alfa7e#ulu en"le< $ carac#erul su7lnere%
&TEN#E''' In C se face (s#nc0e 1n#re l#erele mc $ cele mar
Ma* ma*, or(ona# OR4ODAT
E*emplu2 Ma*, Emn, (s#nc#e, frec9, Ma*2 - repre<n# (en#fca#or corec0
2mn, =5prm, 5Eor", A'B, aF, - nu repre<n# (en#fca#or
1
Separatri
Po# f2
- (pace) T&*
- + pen#ru a separa ns#rucGunle
- ) separ elemen#ele une ls#e
Cu,inte rezer,ate
Cu,intele rezer,ate % sun# (en#fca#or cu semnfca0e f*a#, care nu po# f folos0 1n al# con#e*# (ec+# cel prec<a#
1n (efnrea lm7aHulu%
E*emplu2 f, IJle, (o, prn#f, n#, man, 9o( e#c%
Cmentarii
Cmentariile % no#e e*plca#9e )comen#ar, a#a$a#e unor sec9en0e (e opera0, care nu au rol ac#9 1n (erularea
pro"ramulu%
Comen#arle
po# f scrse pe un sn"ur r+n( $ sun# prece(a#e (e carac#erele --
po# f scrse pe ma mul#e r+n(ur $ sun# cuprnse n#re carac#erele -. .-
E*emplu2 KK aces#a es#e un comen#aru pe un r+n(
KB aces#a es#e
un comen#aru
pe ma mul#e ran(ur BK
Structura unui pr!ram C++
mediu de pr!ramare % un pro"ram care perm#e ass#area pro"rama#orulu 1n #oa#e fa<ele (e ela7orare a unu
pro"ram, scrs n#r-un lm7aH (e pro"ramare )e(#are, (epanare, complare, e*ecu0e,% Ln
as#fel (e me(u (e pro"ramare es#e *rland C /.0.
@A(resa (e n#erne# (e un(e se poa#e face (oInloa( pen#ru Borlan( C -%1% es#e2
http://info.tm.edu.ro:8080/orosu/kit/
pr!ram % o succesune (e comen< )ns#ruc0un, (e prelucrare a (a#elor, scrse n#r-un lm7aH (e pro"ramare%
Pro"ramul es#e memora# 1n#r-o en##a#e num# f$er surs )es#e un f$er #e*# cu e*#ensa .cpp,%
Prelucrrle (n#r-un pro"ram C'' sun# "rupa#e 1n func0% Re<ol9area une pro7leme se face prn u#l<area unor
funcii definite n limbaj $Ksau a unor funcii scrise de programator, a#unc c+n( func0le (eHa e*s#en#e nu sun#
sufcen#e%
Munc0le pe care lm7aHul le pune la (spo<0a u#l<a#orulu sun# "rupa#e, (up #pul (e prelucrare
ofer#, 1n ma mul#e f$ere num#e A77lo#ecA )f$ere Jea(er,% Pen#ru a pu#ea u#l<a 1n pro"ram o func0e #re7ue s
se specfce la 1ncepu#ul pro"ramulu numele 77lo#ec care con0ne func0a respec#9%
Orce pro"ram C'' #re7ue s con0n o func0e num# AmanA )un fel (e Npro"ram prncpalO,% Ins#ruc0unle
con0nu#e (e func0a man fn( cele prelucra#e a#unc c+n( pro"ramul es#e lansa# 1n e*ecu0e%
Pen#ru a se pu#ea o70ne re<ul#a#ele prelucrr (a#elor cu aHu#orul pro"ramelor, #re7ue parcurse urm#oarele
fa<e2
- (crierea pr!ramului )e(#area #e*#ulu surs,P
2
- cmpilarea pr!ramului )ceea ce 1nseamn 9erfcarea corec##u(n sn#ac#ce $ seman#ce a pro"ramulu
surs s prelucrarea sa re<ul# un f$er o7ec#, care are acela$ nume cu al f$erulu surs (ar cu e*#ensa .bj,%
Complarea se real<ea< prn ac0onarea com7na0e (e #as#e &lt 1i 23 sau (e la op0unea Comple (n menul
Comple%
- editarea le!turilr )f$erulKf$erele o7ec# o70nu#e 1n urma complr sun# #ransforma#e 1n#r-un f$er
e*ecu#a7l, care are acela$ nume cu al f$erulu surs (ar cu e*#ensa .e4e, a(c 1n#r-un f$er care poa#e f lansa#
1n e*ecu0e prn smpla screre a numelu su la promp#erul ss#emulu (e operare% Rularea se real<ea< prn
ac0onarea com7na0e (e #as#e Ctrl 1i 23 sau (e la op0unea Run (n menul Run%
Cel ma smplu pro"ram C''2
Qnclu(e3os#ream%J;
9o( man),
R
cou#33Aas#a< es#e sam7a#aAP KKafsarea unu mesaH pe ecran
S
1%2 Tipuri de date numerice intre!i in C
Dat % orce en##a#e asupra crea calcula#orul poa#e opera%
Orce (a# care apare 1n#r-un pro"ram C trebuie declarat, pen#ru a f cunoscu# la complare%
A9em2
- 4a#e 9ara7le : 1 mo(fc 9aloarea 1n #mpul e*ecuGe pro"ramulu
E*emplu2
n# a,7P KK se (eclara (oua 9ara7le (e #p n#re" (e ma*m / cfre
lon" 91,*,a1P KK se (eclara #re 9ara7le (e #p n#re" (e ma*m > cfre
n# *:12P KB(eclararea une 9ara7le * (e #p n#re" - es#e o (a#
asupra crea se operea< care are 9aloarea n#ala 12BK
- 4a#e cons#an#e : nu 1 mo(fc 9aloarea 1n #mpul e*ecuGe pro"ramulu
E*emplu2
cons# n# a:/, 7:12P KK (eclar (oua cons#an#e n#re" (e ma*m / cfre care au 9alorle /
KK respec#9 12
cons# lon" 91:-.2-2-21P KK(eclar o cons#an#a (e #p n#re" care are 9aloarea -.2-2-21
Tpul (e (a# prec<ea<
mulimea valorilor pe care le poa#e lua o (a#,
operaiile care se po# efec#ua asupra e $
lungimea de reprezentare intern%
Cla(i$icare5 Cn lm7aHul C (s#n"em (ou ca#e"or (e (a#e2
#pur pre(efn#e (e (a#e )s#an(ar( sau fun(amen#ale,
- numerce )1n#re" $ reale,
#pur (er9a#e
- #pur s#ruc#ura#e
3
#a7lour )$rur (e carac#ere,
1nre"s#rare
- pon#er
- refern0
Pen#ru 1ncepu# ne 9om ocupa numa (e tipurile intre!i (imple de date )pre(efn#e sau s#an(ar(,%
Tip de date Reprezentarea intern (e $ace pe... Dmeniu de ,alri
cJar ? 7# -12?%%%125
uns"ne( cJar ? 7# 0%%%2//
n# 1= 7# --2 5=?%%%-2 5=5
uns"ne( n# 1= 7# 0%%%=/ /-/
lon" -2 7# -2 1.5 .?- =.?%%%2 1.5 .?- =.5
uns"ne( lon" -2 7# 0%%%. 2>. >=5 20/
O7ser9a0e2 Tpul cJar $ #pul uns"ne( cJar se folosesc pen#ru a (efn (a#e (e #p carac#er
1%- E4pre(ii
peratr % es#e un sm7ol care ara#a ce opera# se e*ecu#a asupra unor operan< )#ermen,%
perand % es#e o cons#an#a, o 9ara7la, un nume (e func#e sau o su7e*prese a care 9aloare es#e prelucra#a
(rec# (e opera#or sau supor#a 1n preala7l o con9erse (e #p%
Cn C e*s#a ./ (e opera#or (fer0 (spu$ pe 1/ n9elur (e pror#a#e%
Cn func0e (e #pul operan<lor asupra crora se aplc, opera#or po# f2
ar#me#c,
rela0onal,
7nar,
lo"c, e#c%
Opera#or sun# 1mpr00 1n clase (e prece(en0 )sau (e pror#a#e, care ara# or(nea 1n care se efec#uea<
opera0le% Cn fecare clas (e prece(en0 es#e s#a7l# o re"ul (e asoca#9#a#e, care n(c or(nea (e aplcare a
opera#orlor (n clasa respec#92 (e la s#+n"a la (reap#a sau (e la (reap#a la s#+n"a%
e4pre(ie % es#e o com7na0e (e operan<, separa0 1n#re e prn opera#or%
Prn e9aluarea une e*pres se o70ne o 9aloare re<ul#a#% Tpul 9alor re<ul#a# (epn(e (e #pul operan<lor $ a
opera#orlor folos#%

1%. 6peratri C++
Operatorii aritmetici
Opera#or ar#me#c 7nar sun#2 +) 7) .) - 1i 8 9mdul % re(tul impr:irii ;ntre!i<
Pror#a#ea opera#orlor ar#me#c es#e2
1% ', - unar )pen#ru semnul une 9ara7le sau a une cons#an#e,
2% B, K, T 7nar
-% ', - 7nar
Re"ula (e asoca#9#a#e es#e de la stnga la dreapta )la pror#0 e"ale opera#or sun# e9alua0 (e la s#+n"a la
4
(reap#a,%
Operatorul de atribuire
Cn lm7aHul C se (efne$#e opera#orul (e a#r7ure %%
Aces# opera#or es#e 7nar ar (inta4a lu es#e2
variabila=expresie
E$ectul aces#u opera#or es#e2 se e9aluea< e*presa $ 9ara7la prme$#e acea 9aloare%
Operatorii relaionali
&un# opera#or 7nar $ e*presle 1n care apar sun# 0, (aca rela0a e fals, 1 (aca e a(e9ara#%
C-ul nu (efnes#e #pul lo"c, asa 1nc+#2 0 es#e n#erpre#a# ca 9aloarea lo"c fals, ar orce 9aloare (fer#a (e 0 es#e
n#erpre#a# ca a(e9ara#%
Opera#or rela#onal sun#2
= =% > >% )ma mc, ma mc sau e"al, ma mare, ma mare sau e"al,
%% '% ) e"al, respec#9 (fer# ,
O7ser9a#e@@ A nu se confunda con(0a a::7 cu e*presa a:7, ul#ma a9+n( 9aloarea a(e9ara# pen#ru orce
9aloare a lu 7 (fer#a (e 0%
Operatorii logici
Con(0le ma comple*e se o70n aplc+n( con(0lor smple opera#or lo"c2
' ne"a0e lo"c
?? $ lo"c
@@ sau lo"c
Operan< sun# n#re", n#erpre#a# ca 9alor lo"ce% Pror#a#ea opera#orlor FF $ UU es#e ma sca<u# (ec+# a celor
con(0onal, a celu (e ne"are, fn( unar, es#e cea ma r(c%
Opera#or #ra#ea< operan< ca 9alor lo"ce, (ec orce 9aloarea (fer# (e 0 es#e n#erpre#a# ca a(e9ra#, ar 0 ca
fals% Aplc+n( unu 1n#re" opera#orul (e ne"a0e lo"c, se o70ne 1 (ac operan(ul e fals, respec#9 0 (ac
operan(ul es#e a(e9ara#%

1%/ Citiri. Scrieri
4a#ele po# a9ea urm#orul #raseu2
sursa2 #as#a#ur V (es#na0e2 mon#or
M$erul 3os#ream%J; con0ne (efn0a urm#oarelor o7ec#e2
cin - face par#e (n clasa s#ream ce (efne$#e un s#ream (e n#rare
cut - face par#e (n clasa os#ream ce (efne$#e un s#ream (e e$re
OB&ERVATIE2 C#rle $ screrle se po# face folosn( o7ec#ele cn $ cou#%
5
Sinta4a pen#ru c#rea (a#elor2
cin>>numeA,ariabila0>>numeA,ariabilaB>>...>>numeA,ariabilan+
E$ectul5 c#rea 9alorlor pen#ru 9ara7lele numeE9ara7la1, numeE9ara7la2, numeE9ara7lan%
E*emplu 2 %%%
n# a,7,cP
%%%
cn;;aP KKc#es#e o 9aloare pen#ru 9ara7la a
cn;;a;;7P KKc#es#e ca#e o 9aloare pen#ru 9ara7lele a,7
Sinta4a pen#ru screrea (a#elor
cut== numeA,ariabila0== numeA,ariabilaB==...==numeA,ariabilan+
E$ectul5 afsarea 9alorlor pen#ru 9ara7lele numeE9ara7la1, numeE9ara7la2, numeE9ara7lan%
E*emplu2
%%%
n# a,7,cP
%%%
cou#33aP KKafsea<a 9aloarea 9ara7le a
cou#33a337P KKafsea<a 9aloarea 9ara7lelor a s 7
Afsarea unor mesaHe
cou#33OmesaHOP
E*emplu2
cou#33OAces#a es#e un mesaHOP
Cons#ruc0a en(l face pos7l #recerea la o lne nou )end lne,%
E*emple2
nclu(e3os#ream%J;
9o( man),
R
cJar a,7,cP
cn;;aP KK(aca #as#m WaW se #p WaW
cou#33aP KK(aca #as#m W aW se #pre#e WaW
cn;;a;;7;;cP KKse c#esc 9alorle pen#ru a, apo 7, apo c
cou#33a33733en(l33cP KKse af$ea< 9ara7lele a $ 7, ar pe urm#oarea lne c
S
6
&plica:ii rezl,ate5
0. Se cite(c du numere naturale a)b. S (e calculeze (uma 1i prdu(ul lr.
Rezl,are5 pr!ramul e(te prezentat mai j(5
Qnclu(e3os#ream%J;
Qnclu(e3cono%J; KKJea(ere care con#ne (efn#le func#lor
9o( man),
R clrscr),P KKcura#a ecranul
n# a,7,s,pP KK(eclararea 9ara7lelor
cou#33Aa:AP cn;;aP KKc#rea une 9alor pen#ru 9ara7la a
cou#33A7:AP cn;;7P KKc#rea une 9alor pen#ru 9ara7la 7
s:a'7P KKcalculul sume
p:aB7P KKcalculul pro(usulu
cou#33Asuma:A33s33en(lP KKafsarea sume
cou#33Apro(usul:A33pP KKafsarea pro(usulu
"e#cJ),P KKas#eap#a apasarea une #as#e
S
#n $erea(tra *rland C++ pr!ramul (e ,a (crie ca mai j(5
Rezultatul rulrii pentru a%B 1i b%/ e(te (uma%C (i prdu(ul%D
7
O7ser9a0e2 MuncGa clr(cr9< are ca efec# curGarea ecranulu (e (a#e an#eroare )clear (creen,% MuncGa !etcE9< nu
1ncJ(e fereas#ra (e e*ecuGe p+n nu s-a n#ro(us un carac#er )!et cEarac#er,% Molosrea func0lor clrscr), $ "e#cJ),
nu es#e o7l"a#ore, (ar es#e u#l 1n rularea pro"ramulu% Cele (ou func0 au (efn0le 1n Jea(erul )77lo#eca,
=cni.E>
B. Se cite1te latura l a unui ptrat. S (e calculeze aria ptratului 9&< 1i perimetrul (u 9F<.
Rezl,are5 pr!ramul e(te prezentat mai j(5
Qnclu(e3os#ream%J;
Qnclu(e3cono%J;
9o( man),
R clrscr),P
n# l,A,PP
cou#33Al:AP cn;;lP
A:lBlP
P:.BlP
cou#33Aara:A33A33en(lP
cou#33Aperme#rul:A33PP
"e#cJ),P
S
E*emplu (e rulare, pen#ru la#ura l:/
8
&plica:ii tem5
0. Se cite(c trei numere naturale a)b)c. S (e calculeze (uma (i prdu(ul lr.
B. "ariabilele a)b)c)d)4)G iau ,alri numere naturale. S (e calculeze ,alarea e4pre(iei5
E%a.4+b+c.G+d
/. Se cite(c cinci caractere care $rmeaz un cu,Hnt. S (e a$i1eze cu,Hntul precum 1i cu,Hntul in,er(at
9cu caracterele ;n rdine in,er(<.
I. S (e a$i1eze di,er(e $i!uri !emetrice $l(ind caracterul ..
E*emplu 2
B B B B B
B B BBBBBBBBB B B B B
1% B B 2% B B -% B B B B
B B BBBBBBBBB B B B B
B
9

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