Documente Academic
Documente Profesional
Documente Cultură
1.Introducere
Limbajul C face parte din familia limbajelor concepute pe principiile programrii structurale, ca i limbajul Pascal. Ceea ce este caracteristic acestui tip de programare este faptul c rezolvarea unei probleme se realizeaz prin descompunerea acesteia ntr-o serie de probleme mai simple care sunt rezolvate separat. Prelucrrile de date sunt structurate separat. Programul const din proceduri (sau func ii! i structurile de date asupra crora acestea opereaz. Procedurile efectueaz activit i bine definite i sunt separate de e"terior, comunic#nd printr-o interfa care const ntr-un set de parametri de intrare i eventual printr-un rezultat. $estul variabilelor utilizate n cadrul func iei sunt locale i invizibile pentru alte proceduri. Compartimentarea prelucrrilor continu i la nivelul unei proceduri prin unitate structural numit bloc. %locul posed aceeai calitate de a masca n e"terior variabilele locale i constituie un ansamblu de instruc iuni e"ecutate n secven . Pentru controlul succesiunii de prelucrri e"ist instruc iuni specializate pentru programarea direct a diferitelor tipuri de structuri de ciclare i decizie. &atele pot fi structurate n colec ii de elemente de diferite tipuri. Programatorul are posibilitatea s-i defineasc propriile structuri ceea ce faciliteaz reprezentarea adecvat a informa iilor prelucrate. 'oate acestea contribuie substan ial la creterea clarit ii programelor i a productivit ii activit ii de programare. (pre deosebire de alte limbaje orientate spre programarea structural, limbajul C nu admite definirea unei func ii n interiorul alteia. (pre deosebire de Pascal unde e"ist proceduri i func ii n C e"ist numai func ii. )n acest fel structura programelor devine mai simpl. Conceput ini ial pentru a nlocui limbajul de asamblare pentru aplica iile mai vaste limbajul C s-a impus rapid pentru toate tipurile de aplica ii, de la compilatoare la editoare de te"te i aplica ii numerice, baze de date, etc.. 'rebuie remarcat faptul c acest limbaj a fost conceput pentru programatori i din aceast cauz el ofer posibilit i foarte largi n ceea ce privete fle"ibilitatea, sinta"a concis i clar a instruc iunilor, dar face ca pentru nceptori n elegerea unui program scris de altcineva s par mai greoaie. 'rebuie men ionat de asemenea c nu e"ist func ii incorporate n limbaj, dar acesta se livreaz cu o bibliotec de func ii care acoper cele mai diverse necesit i de asemenea fiecare programator poate s-i creeze propria biblioteco de func ii care s completeze biblioteca standard. *nstruc iunile limbajului sunt n mare similare cu ale limbajului Pascal, cunosctorii acestuia av#nd foarte pu ine probleme la trecerea n C. %iblioteca de func ii con ine i func ii ce permit recunoaterea func iilor scrise n Pascal. Ca dezavantaje (dar numai pentru programatorii nceptori! se poate men iona faptul c de multe ori compatibilizarea diferitelor tipuri de date cu spa iul alocat prin declara ii este lsat pe seama programatorului, ceea ce crete fle"ibilitatea programelor dar face mai dificil depanarea acestora. 'rebuie men ionat faptul c n C nu se admite definirea unei func ii n interiorul altei func ii, deci defini iile func iilor sunt e"terne oricrui bloc sau oricrei func ii.
2.2. Siste ul de
%ara de meniu principal aflat n partea superioar a ecranului, propune 22 meniuri, s3stem (reprezentat prin una sau trei linii orizontale!, 4ile, /dit, (earc., $un, Compile, &ebug, Proiect, 5ptions, 6indo7 i 8elp. 4iecare dintre acestea permite accesul la submeniuri, a cror func ii se afieaz vertical ntr-o fereastr de selec ie. 9nele func ii se e"ecut direct, altele propun sub-meniuri sau necesit informa ii suplimentare furnizate prin intermediul unor casete de dialog. :ccesul la bara de meniu principal se face cu tasta dedicat 42;. (elec ia unei op iuni se face prin pozi ionarea cu sge ile i apoi tastarea tastei /nter, ceea ce determin afiarea ferestrei de selec ie corespunztoare. Cu un mouse, selec ia unui meniu se face direct prin pozi ionarea pe acel meniu i cu clic pe butonul din st#nga. )n func ie de conte"t, anumite op iuni din meniuri nu s#nt utilizabile i ca atare nu sunt accesibile. :cestea sunt afiate distinct (de obicei numele op iunii este mai pu in contrastant! i nu pot fi selectate. 5ric#nd un meniu sau un sub-meniu poate fi dezactivat aps#nd tasta /sc.
Butoane de comand, fiecare propune realizarea unei ac iuni, e"ecutat n urma selectrii (cu ':%! i apsarea tastei /nter. /"emplu 5> (validare! Cancel (anulare!, etc.. - Butoane radio, alctuiesc liste de op iuni mutual e"clusive, din care se alege cea activ prin intrarea n caset i simpla pozi ionare cu sge i- op iunea selectat este marcat. (.!./"emplu, %utoanele &irection i 5rigin din caseta de dialog din submeniul 4ind din meniul (earc.. - Casete de bifare, fiecare ofer o op iune care poate fi activat (marcat cu ?@A! sau dezactivat (marcat ? A! prin apsarea tastei spa iu sau cu ajutorul mouse-ului . /"emplu, %utoanele 5ptions din caseta de dialog din sub-meniul 4ind din meniul (earc.. - Casete de introducere, permit introducerea unui te"t, de e"emplu numele unui fiier. :ceste casete ofer facilitatea 11istoric11 prin memorarea valorilor introduse anterior. :ccesul la aceste valori se face folosind sgeata vertical indicat n dreapta casetei. /"emplu, caseta din partea superioar ('e"t to find! a castei de dialog din sub-meniul 4ind din meniul (earc.. - Casete de afiare, ofer o list de elemente din care se poate alege unul prin pozi ionare i apsarea tastei /nter. &e e"emplu op iune de desc.idere a unui fiier surs (4ileB5pen! ofer ntr-o fereastr lista numelor fiierelor din directorul curent. La un moment dat un singur obiect din cele prezentate anterior poate fi selectat. Cu tasta tab se poate trece de la un obiect la urmtorul. 4iecare obiect (sau op iune! are ataat o o liter care permite selec ia direct.
2.).1. Co (ilare se(arat Programele mari pot fi realizate din mai multe fiiere surs compilate separat, leg#nd apoi mpreun diferitele module obiect. Pentru a realiza programe formate din mai multe module, este necesar crearea unui fiier proiect n care se specific fiierele componente ale programului.. Cu comanda 5pen Proiect din meniul Proiect se desc.ide un fiier cruia i se poate specifica un nume (e"tensia implicit va fi .P$H! (e desc.ide o nou fereastr n care se introduc numele fiierelor surs apel#nd de fiecare dat comanda :dd *tem din meniul Proiect sau tast#nd *ns. :ceast fereastr poate fi nc.is dar fiierul proiect rm#ne desc.is, iar pentru a fi memorat pe disc trebuie salvat cu comanda 5ptionsB(aveBProiect. &ac s-a creat un proiect, n urma comenzii $un, se e"ecut urmtoarele opera ii, - se compileaz pe r#nd fiecare fiier surs i se creeaz fiierul obiect corespunztor- se efectueaz editarea legturilor pentru modulele obiect respective, iar programul e"ecutabil astfel creat va avea numele fiierului proiect i e"tensia ./@/., - se lanseaz n e"ecu ie programul ob inut.
Pentru cuvintele c.eie se folosesc numai litere mici. Identi#icatori care pot fi nume de constante, tipuri de date, variabile sau func ii, cu sinta"a, identificator, noncifr identificator noncifr identificator cifr noncifr, a=z :=O N cifr, ;=D 9n identificator ncepe ntotdeauna cu o noncifr i are lungimea ma"im de PM de caracterede asemenea este necesar ca un identificator s nu fie identic cu un cuv#nt c.eie. /"emple, var2 poate fi un identificator pentru o variabil 2var nu poate fi utilizat ca identificator deoarece ncepe cu o cifrconstNminim poate fi un identificator pentru un nume de constantConstante, sunt valori fi"e, reprezent#nd valori numerice ntregi sau ra ionale, caractere sau iruri de caractere. &e e"emplu n declara ia, int var2QME2 ME2 este o constant care se atribuie variabilei ntregi definit prin identificatorul var2.
1(eratori, sunt simboluri utilizate pentru specificarea unor opera ii de efectuat- o combina ie valid de valori (variabile sau constante! i operatori formeaz o expresie. 5peratorii utiliza i n C vor fi prezenta i n capitolul urmtor. -eli itatori, sunt simboluri care separ diferite entit i. )n C, unele simboluri au dubl semnifica ie, de operator i delimitator (n func ie de conte"t!.
listNparametri, tipNp nume parametru K,tipNp numeNparametruL Pentru apelarea func iei se scrie numele func iei urmat de lista valorilor cu care se ini ializeaz parametrii func iei, ncadrat ntre paranteze. 'rebuie remarcat c at#t n definirea func iei c#t i la apelare, parantezele rotunde sunt obligatorii- aceste paranteze urmeaz dup numele func iei c.iar i atunci c#nd func ia nu are parametri. La definirea func iei fr parametri se trece n locul listei de parametri cuv#ntul c.eie void. :coladele YZ sunt delimitatori care ncadreaz o construc ie denumit instruc iune compus (sau bloc! alctuit din declara ii i instruc iuni. &eclara iile din interiorul unui bloc sunt declara ii locale i sunt valabile numai n interiorul blocului. &efini ia unei func ii const deci din antetul care definete interfa a cu restul programului i blocul asociat care descrie prin instruc iuni opera iile efectuate.
4unc ia transfer un caracter ctre ecran i ntoarce ca rezultat caracterul transmis iar n caz de eec valoarea T2. Prototipul func iei se afl n fiierul stdio.., iar apelul func iei se face cu, int putc.ar(int c!
b! e"emplifice modul de lucru al func iilor getc. (va prelua un carcater de la tastatur, l va memora ntr-o variabil local i l va afia! c! e"emplifice modul de lucru al func iilor getc. (va prelua un carcater de la tastatur, l va memora ntr-o variabil local i ntr-o variabil global i va afia i va afia at#t variabila local c#t i pe cea global.