Documente Academic
Documente Profesional
Documente Cultură
Curs 2
Continut curs
Constante Atribuire Tipul enumerare Decizie Ciclu Operatori Precedenta operatorilor Operatori
Relationali Aritmetici Pe biti Unari
Conversii de tip
Constante
constante simbolice #DEF !E !U"E TE#T$CE$ !%OCU E&TE$!U"E%E - se inlocuieste ad'literam !U"E in program cu te(tul de dupa #DEF !E TRUE ) #DEF !E FA%&E * conventie + litere mari
Constante
)2, *- asimilate int )2./01234**, )2% + asimilate long 5(6, 57n6+ c8ar 9sir de caractere:,:: + c8ar; <string= )2.u + unsigned )2>0, )>0e'2 + double )2>/F ' ?loat
Declaratii
toate variabilele trebuie declarate inainte de utilizare declaratia contine tipul si una sau mai multe variabile de acelasi tip e(@ int (,A,z se poate e?ectua initializare la declarare
e(@ c8ar sirB.*CD9un sir:- int (D/-
E(presie
E(presie primara D variabila sau constanta sau sir de caractere sau <e(presie= e(@
( sau 0 sau 9sir de caractere: sau <(E0=
8ttp@GGHHH>csci>csusb>eduGdicIGsamplesGc>sAnta(>8tml#string
Atribuire
variabila D e(presie se evalueaza e(presia si valoarea acesteia devine noua valoare a variabilei (D A- GGatribuie variabilei ( valoarea lui A Jarianta din Pascal (@DA-
Tipul enumerare
de?ineste un set de constante numite de tip intreg sinta(a@ enum nume$tip K identi?icator, <sau= identi?icatorDvaloare L e(@ enum bool K?alse,trueLenum bool a- GGdeclara un element a de tip bool
nstructiune
- <instructiunea vida= e(presie (E0- AD(-
bloc de instructiuni
KL
Mloc de instructiuni
bloc de instructiuni D mai multe instructiuni grupate intre KL bloc de instructiuni este ec8ivalent cu o singura instructiune nu se pune - dupa L e(emplu@ int main<= K GGinceputul blocului de instructiuni print?<98ello Horld7n:=return *L GGs?arsitul blocului de instructiuni
Decizie
i? <e(presie)=
instructiune)
else
instructiune2
instructiune) se e(ecuta daca e(presie) este evaluata la o valoare di?erita de * instructiune2 se e(ecuta daca e(presie) este evaluata la *
Decizie <2=
A programmer is 8eading out to t8e grocerA store, so 8is Hi?e tells 8im Nget a gallon o? milI> ? t8eA 8ave eggs, get a dozen>N Oe returns Hit8 )2 gallons o? milI>
Operatori aritmetici
E,',;,G,F G DR impartire intreaga <returneaza catul= daca operanzii sunt intregi G DR impartire daca macar unul dintre operanzi este real F ' restul impartirii G intreaga si F nu au rezultate bine de?inite in standard pentru operanzi negativi
Operatori relationali
operatori relationali@ R, Q, RD,QD operatori egalitate@ DD, SD observatie@
(DD* veri?ica daca ( are valoarea * si intoarce ) daca acest lucru se intampla (D* atribuie lui ( valoarea * si intoarce aceasta valoare
Operatori logici
TT ' si UU ' sau S + not <operator unar=
e1 * * ) <SD*= ) <SD*= e2 * ) <SD*= * ) <SD*= e1&&e2 * * * ) e1||e2 * ) ) )
Observatie
prin e1=1 intelegem e1 diferit de 0
Operatorul ternar
ConditieVvaloare intoarsa in caz true@ valoare rezultata in caz ?alse cV(@A E(@
aF2V:impar:@:par: (R*V:strict pozitiv:@:negativ sau *:
ec8ivalent cu
i?<c=
resultD(-
else
resultDA -
Operatori pe biti
pot ?i aplicati doar pe variabilele de tip intreg<c8ar, s8ort, int, long= T ' and pe biti U ' sau pe biti Y ' (or QQ ' s8i?t stanga <inmultire cu 2= RR ' s8i?t dreapta <impartire intreaga la 2=
Operatori unari
' DR '( incrementareGdecrementare
iEE- i''-
iEE vs EEi
int a, bD. aDbEEDRaD.-
Precedenta operatorilor
tabelul din Zernig8anTRitc8ie p> 0*
a op b op c D <a op b= op c daca op are asociativitate stanga a op b op c D a op <b op c= daca op are asociativitate dreapta
instructiune + se e(ecuta daca se evalueaza conditie continuare la true actualizari + e(presie care se e(ecuta dupa instructiune>
e(emple H8ile
e()@ int iD)H8ile <iR0= print?<9Fd:,i=- GGnu se e(ecuta niciodata print? e(2@ int iD.H8ile <iR*=K print?<9Fd7n:,i=- i''-L ce a?iseazaV