Sunteți pe pagina 1din 10

LIMBAJUL C

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. Mediul de dezvoltare integrat


2.1 Generaliti
+ediul de dezvoltare integrat se prezint cu o interfa cu mai multe ferestre de diferite tipuri cu diferite destina ii, bara de selec ie ferestre de selec ie ferestre de .elp (informa ii ajuttoare, indica ii! ferestre de lucru (editare! casete de dialog. /"ist posibilitatea de a avea acces la mai multe ferestre de editare odat ceea ce faciliteaz opera iile de copiere dintr-o fereastr n alta. &up lansarea n e"ecu ie, mediul de dezvoltare integrat afieaz urmtorul ecran, format din patru zone, - n zona superioar, o bar de selec ie numit 0meniul principal1 care prezint setul de servicii oferite- n centru, zona ferestrei de editare- sub fereastra de editare zona ferestrei de mesaje- n zona inferioar o bar de stare care specific opera ia curent e"ecutat de 'urbo C, informa ii relative la op iunea selectat din meniu (rezumatul func iilor oferite! sau comenzi utile n conte"tul curent (o list de taste pentru acces rapid la func ii!. Pentru operare se poate folosi un mouse sau comenzi de la tastatur.

2.2. Siste ul de

eniuri ierar!izate "i accesul serviciile o#erite

%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.

2.$. Casete de dialog


Casetele de dialog ofer ac iuni intuitive, ce nu pot fi realizate uor utiliz#nd un meniu. :cestea sunt desc.ise atunci c#nd este activat un sub-meniu al crui nume este urmat de trei puncte <=< . 5 caset de dialog con ine obiecte de tipurile urmtoare,

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.%. Gestiunea #erestrelor


+ediul integrat se bazeaz pe no iunea de fereastr, care reprezint o por iune a ecranului. 5rice fereastr are un titlu care descrie la ce este folosit i, n general, un numr care o identific. 4erestrele sunt desc.ise automat la activarea func iilor care le utilizeaz, - ferestre de editare, pentru crearea sau modificarea unui fiier surs- fereastra de mesaje utilizat de compilator i de editorul de legturi pentru afiarea rezultatului opera iei- fereastra de observare (7atc.! n care depanatorul afieaz valorile unor variabile selectate de utilizator- fereastra de inspec ieBmodificare a unor variabile selectate de utilizator. +anevrarea ferestrelor se face simplu cu ajutorul unui mouse. 4erestrele au anumite por iuni pe c.enar utilizate pentru comenzi de la mouse, - Caseta de nchidere se afl n col ul din st#nga sus ( ) - selectarea ei determin nc.iderea ferestrei. - Caseta de mrire/micorare (zoom! se afl n dreapta sus, marcat cu o sgeatprin selectarea ei se poate comuta ntre dou dimensiuni ale ferestrei. - Colurile permit modificarea arbitrar a dimensiunii ferestrei. )n acest scop se plaseaz cursorul n col , se apas butonul st#nga i se deplaseaz mouse-ul p#n la ob inerea dimensiunii dorite, dup care se elibereaz butonul mouse-ului. - Marginea de sus a ferestrei este marcat cu dou linii i permite deplasarea pe orizontal a ntregii ferestre (scroll!. &eplasarea se poate realiza pozi ion#nd mouse-ul pe linia dubl i ac ion#nd ca i n cazul col urilor. Pentru a sc.imba fereastra activ se pozi ioneaz mose-ul n fereastra ce trebuie activat i se face clic st#nga.

2.&. 'ditarea (rogra elor


/ditarea este ini iat prin comenzi ini iate din meniul 4ile. Comenzile de editare sunt similare cu cele ale oricrui editor de te"te. 4acilit i suplimentare de editare sunt oferite de meniurile /dit i (earc.. Pentru a crea un fiier nou se selecteaz din meniul 4ile comanda Ce7- fiierul va primi implicit numele Coname;;, nume ce se poate modifica la prima salvare. Pentru a ncrca un fiier surs e"istent pentru modificare se selecteaz comanda open din meniul 4ile- se lanseaz o caset de dialog care permite editarea numelui i afieaz toate fiierele din directorul curent care corespund unui anumit filtru de selec ie, n ordine alfabetic. (e pot desc.ide mai multe ferestre de editare simultan, fiecare fereastr purt#nd numele fiierului editat. (alvarea fiierelor editate se face cu comanda (ave sau cu (ave :s din meniul 4ile. Copierea i mutarea unor blocuri marcate n cadrul unui fiier desc.is sau ntre dou fiiere desc.ise pentru editare se poate realiza cu ajutorul comenzilor Cop3, Cut, Past din meniul /dit. +arcarea blocurilor se face cu ajutorul mouse-ului la fel ca la orice editor de te"te. /ste oferit facilitatea de cutare i eventual nlocuire a unui ir de caractere specificat prin intermediul comenzilor 4iind i $eplace din meniul (earc..

2.). Co (ilarea* editarea legturilor "i e+ecuia unui (rogra


Presupun#nd c e"ist un fiier surs desc.is n fereastra activ, care nu a fost compilat, comanda $un din meniul $un (Ctrl-4D! realizeaz urmtoarele opera ii, - compilarea programului surs i crearea pe disc n directorul curent, a unui modul obiect cu acelai nume i cu e"tensia .obj. - editarea legturilor modului obiect astfel creat cu consultarea bibliotecilor cerutese ob ine programul e"ecutabil cu acelai nume i cu e"tensia .e"e. - lansarea n e"ecu ie a programului ob inut. Pentru vizualizarea rezultatului programului este oferit accesul n fereastra de ieire (utilizator! cu comanda 9ser (creen din meniul 6indou7s (:lt-4E!. Pentru revenirea n fereastra de editare se apas oricare tast. Comanda $un analizeaz automat rela iile temporale (dependen ele! dintre fiierele antet, obiect i e"ecutabil. )n lipsa unor modificri la programul surs, o nou lansare n e"ecu ie nu mai determin o nou compilare i editare a legturilor. &eoarece e"ist unele incompatibilit i ntre limbajul C i CFF dei regula general este c CFF poate compila toate programele n C e"ist i unele e"cep ii ce vor prezentate ulterior. 4iierele surs cu e"tensia .c vor fi compilate ca programe C iar fiierele surs cu e"tensia .cpp vor fi compilate ca programe CFF. +ediul integrat CFF are posibilitatea de selectare a modului de compilare C sau CFF prin comanda editor din meniul 5ptionsB/nvironmenrt. Compilatorul i editorul de legturi desc.id automat fereastra de mesaje n care se afieaz eventualele erori. )n fereastra de mesaje, se poate selecta fiecare mesaj de eroare prin deplasarea barei cursor cu sge i. Con inutul ferestrei de editare se modific pentru a afia zona de program n care apare eroarea i pentru a eviden ia linia eronat. Pentru a trece la eviden ierea liniei eronate este suficient s apsm /nter. (e poate realiza corectarea erorilor prin solicitarea compilrii separate (fr lansare n e"ecu ie! cu comanda Compile to 5bj din meniul Compile. 5b inerea fiierului .e"e fr lansarea lui n e"ecu ie se ob ine cu op iunea +aGe /"e 4ile din meniul Compile.

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.

2.,. -e(anarea (rogra ului


&epanatorul mediului integrat ofer o gam larg de facilit i, - e"ecu ie par ial sau pas ci pas a programului- ntreruperea e"ecu iei la anumite instruc iuni prin plasarea unor puncte de ntrerupere (breaGpoint!, eventual condi ionate- evaluarea unei e"presii dup o ntrerupere i modificarea eventual a valorii unor variabile- urmrirea permanent a valorii unor variabile sau e"presiiCu comanda $unBIo to Cursor se e"ecut programul p#n la linia unde se gsete cursorul n fereastra de editare. /"ecu ia instruc iune cu instruc iune se e"ecut cu comanda $unB'race, care permite i intrarea n subrutine sau cu $unB(tep over fr a intra n subrutine. Plasarea n program a punctelor de ntrerupere se realizeaz prin pozi ionarea cursorului pe linia de program respectiv i comanda &ebugB'oggle %reaGpoint. Linia va fi eviden iat pe ecran. Pentru anulare se utilizeaz aceeai comand dup pozi ionarea cursorului pe linia respectiv sau folosind butonul &elete din meniul &ebugB%reaGpoints. Pentru a condi iona ntreruperea, meniul &ebugB%reaGpoints propune o fereastr de dialog n care sunt listate punctele de ntrerupere e"istente. Cu butonul edit se desc.ide o nou caset de dialog pentru punctul de ntrerupere pe care este pozi ionat cursorul, care permite introducerea n caseta Contition a condi iei de apari ie a ntreruperii sub forma unei e"presii i specificarea n caseta Pas Count a unui numr care indic la a c#ta e"ecu ie a instruc iunii are loc ntreruperea (frecven a opririlor!. Comanda &ebugB/valuate-modifz desc.ide o fereastr de dialog, a crei caset de introducere /"pression permite specificarea unei e"presii. %utonul evaluate determin apari ia valorii acestei e"presii n caseta $esult. &ac aceast e"presie este o variabil, valoarea ei poate fi modificat n caseta de dialog Ce7 Jalue ac ion#nd butonul +odif3. 9rmrirea permanent a valorii unei e"presii se face n fereastra de observa ie 6atc. desc.is cu comanda 6indo7sB6atc.. Pot fi introduse noi e"presii de urmrit cu *ns. (e poate interveni asupra e"presiilor cu ob iunile :dd 6atc., delete 6atc., /dit 6atc. din meniul &ebugB6atc.es, pentru care bara de stare indic tastele de selec ie direct. 9n meniu 8elp interactiv este permanent apelabil cu tasta 42.

$. Scurt iniiere .n li /a0ul C


Pentru o bun n elegere a modului de prezentare a sinta"ei i a posibilit ilor instruc iunilor i func iilor C vom utiliza urmtoarele reguli de prezentare simplificat, - alternativele sunt enumerate pe linii separate- parantezele ung.iulare K L delimiteaz elemente op ionale sau care pot lipsi n anumite situa ii, - cuvintele c.eie ale limbajului sunt tiprite cu caractere 0%old1 (accentuate!. )n meniul .elp din mediul integrat 'urbo CFF e"ist c#teva deosebiri i anume c, - parantezele ung.iulare sunt utilizate pentru delimitarea unor cuvinte care nu sunt cuvinte c.eie iar - parantezele drepte sunt utilizate pentru delimitarea elementelor op ionale.

$.1. 'le ente de /az ale li /a0ului C


/ntit ile sintactice de baz utilizate n redactarea unui program sunt, Cuvinte c!eie (Ge37ords! rezervate n principal pentru declararea de tipuri de date i pentru instruc iuni(etul de cuvinte c.eie al limbajului C este prezentat n tabelul de mai jos. :uto &efault 8uge (igned 6.ile asm do if sizeof Ncs 'abel M.2. (etul de cuvinte c.eie ale limbajului 'urbo C %reaG Case cdecl c.ar Const c.ar const continue &ouble /lse enum e"tern 4ar float for goto *nt interrupt long near Pascal register return s.ort (tatic (truct s7itc. t3pedef 9nion unsigned void volatile Nds Nes Nss

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!.

$.2. Structura unui (rogra


)n limbajul C fiecare program este o colec ie distinct de module care se numesc func ii. (tructura general a unui program C este, ProgramNC Kdirective procesorL Kdeclara ii globaleL func ii Pe prima linie a programului este trecut denumirea programului. &enumirea programului este un comentariu i, ca orice comentariu n limbajul C, va trebui ncadrat ntre semnele, BR RB. )ncadrarea oricrui ir de caractere ntre aceste dou semne comunic compilatorului c este inserat un comentariu ce nu trebuie compilat i convertit n cod obiect. *nserarea titlului programului este util dar nu obligatorie. &irectivele procesor sunt activit i pe care trebuie s le realizeze procesorul nainte de compilare (de e"emplu includerea n fiierul curent al unor fiiere, care declar macrodefini ii. &irectivele procesor sunt precedate de semnul S. &eclara iile globale permit declararea unor variabile i tipuri de date globale, ce vor fi valabile pentru toate func iile incluse n program. 'ipul unei date indic valoarea pe care un tip de date o poate lua, (de e"emplu ntre T2MU i F2MV pentru tipul c!ar! i modul n care acestea sunt reprezentate n memorie (e"emplu tipul int este reprezentat pe 2W bi i! 5rice program C con ine o func ie principal numit Xmain< i e"ecu ia programului ncepe cu aceasta. $estul func iilor din cadrul unui program sunt subrutine care realizeaz prelucrri de date definite de programator sau oferite de biblioteca de func ii. )n interiorul fiecrei func ii (deci i func iei main! se pot declara tipuri de date i de variabile, care au valabilitate numai n interiorul func iei respective spre deosebire de datele declarate global care i pstreaz valabilitatea pentru toate func iile din program. 5 func ie C are urmtoare structur, KtipNrLnumeNfunc ie(Klist parametriL! Y declara ii locale secven de instruc iuni Z tipNr reprezint tipul rezultatului pe care l va ntoarce func ia. &ac acesta nu este specificat se consider implicit rezultat de tip ntreg ( int!. &ac o func ie nu ntoarce un rezultat (efectueaz doar o serie de prelucrri! atunci este nevoie ca s se specifice ca tip al rezultatului cuv#ntul c.eie void. Pentru ca o func ie s poat prelucra o serie de date ini iale este necesar ca acestea s fie precizate. Precizarea datelor ini iale ce urmeaz a fi prelucrate n cadrul func iei se realizeaz n lista de parametri, unde datelor ini iale li se asociaz o list de variabile, numite parametri formali. listNparametri reprezint enumerarea declara ilor parametrilor func iei, sub forma,

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.

$.$. 2rezentarea unor #uncii de intrare ie"ire (entru consol


4unc iile de intrare ieire pentru consol permit programului s citeasc caractere introduse de la tastatur (func ii de intrare! i s afieze diferite caractere pe ecranul monitorului. Prototipurile func iilor de intrare ieire sunt cuprinse n biblioteca programului n fiierul stdio.. sau n fiierul conio... Pentru ca aceste fiiere s poat fi incluse n cadrul unui program este necesar ca n partea de directive procesor a programului s fie introdus directivele, Sinclude Kstdio..L Sinclude Kconio..L )n cadrul acestui punct vom face o prezentare succint a unora dintre func ii care s permit utilizarea lor pentru realizarea unor programe simple care s e"emplifice diferitele elemnete ale limbajului C. $.$.1. 1(eraii de citire scriere #r #or atare Funcia getchar 4unc ia ntoarce primul caracter tastat le imprimant dintr-un ir de caractere tastate, iar transferul spre program al acestuia se realizeaz numai dup apsarea tastei /nter. Caracterul este transformat ntr-un ntreg fr semn. )n caz de eroare se ntoarce valoarea T2. Prototipul func iei se afl n fiierul stdio.., iar apelul func iei se face cu, int getc.ar(void!Funcia getche 4unc ia ateapt apsarea unei taste, ntoarce caracterul corespunztor i l afieaz pe ecran (nu ateapt apsarea tastei /nter!. Prototipul func iei se afl n fiierul conio.., iar apelul func iei se face cu, int getc.e(void! Funcia getch 4unc ia este similar cu g.etc.e(! dar nu afieaz ecou pe ecran. Prototipul func iei se afl n fiierul conio.., iar apelul func iei se face cu, int getc.(void! Funcia putchar

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!

$.%. '+e (li#icarea structurii (rogra ului


Jom analiza n continuare un prim e"emplu de program simplu prin care vom eviden ia principalele caracteristici al oricrui program. (e introduce de la tastatur programul, BR aplicatia 2N2RB Sinclude Kstdio..L int a,bvoid main(void! Yint varN2,varNMvarN2Qgetc.ar(!aQvarN2putc.ar(varN2!Z :plica ia va atepta introducerea unui caracter sau a unui sir de caractere de la tastatur, dup apsarea tastei /nter va prelua primul caracter din irul introdus pe care l va memora n variabila varN2 i l va afia pe ecranul monitorului. Programul e"emplific structura general a unui program prezentat anterior, astfel, Pe prima linie este trecut sub forma unui comentariu numele programului (aplicatia 2N2!, precizarea pentru procesor a faptului c acesta este un comentariu realiz#ndu-se prin inserarea comentariului ntre semnele BR = RB. 9rmtoarea linie de program este o directiv procesor care comunic procesorului s includ n program fiierul stdio.. aflat n biblioteca de func ii. 9rmeaz apoi o declara ie de variabile globale- variabilele a i b sunt declarate de tipul ntreg i ele vor fi recunoscute ca atare n oricare din func iile programului. )n linia urmtoare este declarat func ia main care aa cum am artat reprezint nceputul programului. %locul de instruc iuni i declara ii aferent func iei main este ncadrat ntre acolade. Y=Z. )n interiorul acestui bloc sunt incluse, - declara ii locale prin care sunt declarate ca variabile de tip int variabilele cu numele varN2 i varNM- apelul func iei getc.ar(! a crei defini ie se afl n fiierul stdio... primul caracter din irul de caractere introdus de la tastatur va fi memorat la apsarea tastei /nter n variabila local varN2- valoarea memorat n variabila local varN2 este atribuit variabilei globale a- este afiat pe ecran valoarea memorat n varN2. (e vor realiza n continuare trei aplica ii similare aplica iei prezentate care s, a! e"emplifice modul de lucru al func iilor getc.e (va prelua un caracter de la tastatur, l va memora ntr-o variabil local i l va afia!,

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.

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