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 funcii) i structurile de date asupra crora acestea opereaz.
Procedurile efectueaz activiti bine definite i sunt separate de exterior, comunicnd
printr-o interfa care const ntr-un set de parametri de intrare i eventual printr-un rezultat.
Restul variabilelor utilizate n cadrul funciei sunt locale i invizibile pentru alte proceduri.
Compartimentarea prelucrrilor continu i la nivelul unei proceduri prin unitate
structural numit bloc. Blocul posed aceeai calitate de a masca n exterior variabilele
locale i constituie un ansamblu de instruciuni executate n secven. Pentru controlul
succesiunii de prelucrri exist instruciuni specializate pentru programarea direct a
diferitelor tipuri de structuri de ciclare i decizie.
Datele pot fi structurate n colecii de elemente de diferite tipuri. Programatorul are
posibilitatea s-i defineasc propriile structuri ceea ce faciliteaz reprezentarea adecvat a
informaiilor prelucrate.
Toate acestea contribuie substanial la creterea claritii programelor i a
productivitii activitii de programare.
Spre deosebire de alte limbaje orientate spre programarea structural, limbajul C nu
admite definirea unei funcii n interiorul alteia. Spre deosebire de Pascal unde exist
proceduri i funcii n C exist numai funcii. n acest fel structura programelor devine mai
simpl.
Conceput iniial pentru a nlocui limbajul de asamblare pentru aplicaiile mai vaste
limbajul C s-a impus rapid pentru toate tipurile de aplicaii, de la compilatoare la editoare de
texte i aplicaii numerice, baze de date, etc..
Trebuie remarcat faptul c acest limbaj a fost conceput pentru programatori i din
aceast cauz el ofer posibiliti foarte largi n ceea ce privete flexibilitatea, sintaxa concis
i clar a instruciunilor, dar face ca pentru nceptori nelegerea unui program scris de
altcineva s par mai greoaie.
Trebuie menionat de asemenea c nu exist funcii incorporate n limbaj, dar acesta se
livreaz cu o bibliotec de funcii care acoper cele mai diverse necesiti de asemenea fiecare
programator poate s-i creeze propria biblioteco de funcii care s completeze biblioteca
standard.
Instruciunile limbajului sunt n mare similare cu ale limbajului Pascal, cunosctorii
acestuia avnd foarte puine probleme la trecerea n C. Biblioteca de funcii conine i funcii
ce permit recunoaterea funciilor scrise n Pascal.
Ca dezavantaje (dar numai pentru programatorii nceptori) se poate meniona faptul
c de multe ori compatibilizarea diferitelor tipuri de date cu spaiul alocat prin declaraii este
lsat pe seama programatorului, ceea ce crete flexibilitatea programelor dar face mai dificil
depanarea acestora. Trebuie menionat faptul c n C nu se admite definirea unei funcii n
interiorul altei funcii, deci definiiile funciilor sunt externe oricrui bloc sau oricrei funcii.

2. Mediul de dezvoltare integrat


2.1 Generaliti
Mediul de dezvoltare integrat se prezint cu o interfa cu mai multe ferestre de
diferite tipuri cu diferite destinaii:
bara de selecie;
ferestre de selecie;
ferestre de help (informaii ajuttoare, indicaii);
ferestre de lucru (editare);
casete de dialog.
Exist posibilitatea de a avea acces la mai multe ferestre de editare odat ceea ce faciliteaz
operaiile de copiere dintr-o fereastr n alta.
Dup lansarea n execuie, mediul de dezvoltare integrat afieaz urmtorul ecran,
format din patru zone:
- n zona superioar, o bar de selecie numit meniul principal 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 operaia curent executat de Turbo
C, informaii relative la opiunea selectat din meniu (rezumatul funciilor oferite)
sau comenzi utile n contextul curent (o list de taste pentru acces rapid la funcii).
Pentru operare se poate folosi un mouse sau comenzi de la tastatur.

2.2. Sistemul de meniuri ierarhizate i accesul serviciile oferite


Bara de meniu principal aflat n partea superioar a ecranului, propune 11 meniuri:
system (reprezentat prin una sau trei linii orizontale), File, Edit, Search, Run, Compile,
Debug, Proiect, Options, Window i Help. Fiecare dintre acestea permite accesul la submeniuri, a cror funcii se afieaz vertical ntr-o fereastr de selecie. Unele funcii se execut
direct, altele propun sub-meniuri sau necesit informaii suplimentare furnizate prin
intermediul unor casete de dialog.
Accesul la bara de meniu principal se face cu tasta dedicat F10. Selecia unei opiuni
se face prin poziionarea cu sgeile i apoi tastarea tastei Enter, ceea ce determin afiarea
ferestrei de selecie corespunztoare. Cu un mouse, selecia unui meniu se face direct prin
poziionarea pe acel meniu i cu clic pe butonul din stnga.
n funcie de context, anumite opiuni din meniuri nu sunt utilizabile i ca atare nu sunt
accesibile. Acestea sunt afiate distinct (de obicei numele opiunii este mai puin contrastant)
i nu pot fi selectate.
Oricnd un meniu sau un sub-meniu poate fi dezactivat apsnd tasta Esc.

2.3. Casete de dialog


Casetele de dialog ofer aciuni intuitive, ce nu pot fi realizate uor utiliznd un meniu.
Acestea sunt deschise atunci cnd este activat un sub-meniu al crui nume este urmat de trei
puncte . O caset de dialog conine obiecte de tipurile urmtoare:

Butoane de comand: fiecare propune realizarea unei aciuni, executat n urma


selectrii (cu TAB) i apsarea tastei Enter. Exemplu OK (validare) Cancel
(anulare), etc..
- Butoane radio: alctuiesc liste de opiuni mutual exclusive, din care se alege cea
activ prin intrarea n caset i simpla poziionare cu sgei; opiunea selectat este
marcat. (.).Exemplu, Butoanele Direction i Origin din caseta de dialog din submeniul Find din meniul Search.
- Casete de bifare: fiecare ofer o opiune care poate fi activat (marcat cu [X]) sau
dezactivat (marcat [ ]) prin apsarea tastei spaiu sau cu ajutorul mouse-ului .
Exemplu, Butoanele Options din caseta de dialog din sub-meniul Find din meniul
Search.
- Casete de introducere: permit introducerea unui text, de exemplu numele unui
fiier. Aceste casete ofer facilitatea istoric prin memorarea valorilor introduse
anterior. Accesul la aceste valori se face folosind sgeata vertical indicat n
dreapta casetei. Exemplu, caseta din partea superioar (Text to find) a castei de
dialog din sub-meniul Find din meniul Search.
- Casete de afiare: ofer o list de elemente din care se poate alege unul prin
poziionare i apsarea tastei Enter. De exemplu opiune de deschidere a unui fiier
surs (File/Open) 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. Fiecare obiect (sau opiune) are ataat o o liter
care permite selecia direct.

2.4. Gestiunea ferestrelor


Mediul integrat se bazeaz pe noiunea de fereastr, care reprezint o poriune a
ecranului. Orice fereastr are un titlu care descrie la ce este folosit i, n general, un numr
care o identific. Ferestrele sunt deschise automat la activarea funciilor 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 operaiei;
- fereastra de observare (watch) n care depanatorul afieaz valorile unor variabile
selectate de utilizator;
- fereastra de inspecie/modificare a unor variabile selectate de utilizator.
Manevrarea ferestrelor se face simplu cu ajutorul unui mouse. Ferestrele au anumite
poriuni pe chenar utilizate pentru comenzi de la mouse:
- Caseta de nchidere se afl n colul din stnga sus ( ; selectarea ei determin
nchiderea ferestrei.
- Caseta de mrire/micorare (zoom) se afl n dreapta sus, marcat cu o sgeat;
prin 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 stnga i se deplaseaz mouse-ul pn la
obinerea 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). Deplasarea se poate realiza poziionnd
mouse-ul pe linia dubl i acionnd ca i n cazul colurilor.
Pentru a schimba fereastra activ se poziioneaz mose-ul n fereastra ce trebuie
activat i se face clic stnga.

2.5. Editarea programelor


Editarea este iniiat prin comenzi iniiate din meniul File. Comenzile de editare sunt
similare cu cele ale oricrui editor de texte. Faciliti suplimentare de editare sunt oferite de
meniurile Edit i Search.
Pentru a crea un fiier nou se selecteaz din meniul File comanda New; fiierul va
primi implicit numele Noname00, nume ce se poate modifica la prima salvare.
Pentru a ncrca un fiier surs existent pentru modificare se selecteaz comanda open
din meniul File; se lanseaz o caset de dialog care permite editarea numelui i afieaz toate
fiierele din directorul curent care corespund unui anumit filtru de selecie, n ordine
alfabetic.
Se pot deschide mai multe ferestre de editare simultan, fiecare fereastr purtnd
numele fiierului editat.
Salvarea fiierelor editate se face cu comanda Save sau cu Save As din meniul File.
Copierea i mutarea unor blocuri marcate n cadrul unui fiier deschis sau ntre dou
fiiere deschise pentru editare se poate realiza cu ajutorul comenzilor Copy, Cut, Paste din
meniul Edit. Marcarea blocurilor se face cu ajutorul mouse-ului la fel ca la orice editor de
texte.
Este oferit facilitatea de cutare i eventual nlocuire a unui ir de caractere specificat
prin intermediul comenzilor Find i Replace din meniul Search.

2.6. Compilarea, editarea legturilor i execuia unui program


Presupunnd c exist un fiier surs deschis n fereastra activ, care nu a fost
compilat, comanda Run din meniul Run (Ctrl+F9) realizeaz urmtoarele operaii:
- compilarea programului surs i crearea pe disc n directorul curent, a unui modul
obiect cu acelai nume i cu extensia .obj.
- editarea legturilor modului obiect astfel creat cu consultarea bibliotecilor cerute;
se obine programul executabil cu acelai nume i cu extensia .exe.
- lansarea n execuie a programului obinut.
Pentru vizualizarea rezultatului programului este oferit accesul n fereastra de ieire
(utilizator) cu comanda User Screen din meniul Windouws (Alt+F5). Pentru revenirea n
fereastra de editare se apas oricare tast.
Comanda Run analizeaz automat relaiile temporale (dependenele) dintre fiierele
antet, obiect i executabil. n lipsa unor modificri la programul surs, o nou lansare n
execuie nu mai determin o nou compilare i editare a legturilor. Deoarece exist unele
incompatibiliti ntre limbajul C i C++ dei regula general este c C++ poate compila toate
programele n C exist i unele excepii ce vor prezentate ulterior. Fiierele surs cu
extensia .c vor fi compilate ca programe C iar fiierele surs cu extensia .cpp vor fi compilate
ca programe C++. Mediul integrat C++ are posibilitatea de selectare a modului de compilare
C sau C++ prin comanda editor din meniul Options/Environmenrt.
Compilatorul i editorul de legturi deschid 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 sgei. Coninutul ferestrei de editare se modific pentru a afia
zona de program n care apare eroarea i pentru a evidenia linia eronat. Pentru a trece la
evidenierea liniei eronate este suficient s apsm Enter.
Se poate realiza corectarea erorilor prin solicitarea compilrii separate (fr lansare n
execuie) cu comanda Compile to Obj din meniul Compile. Obinerea fiierului .exe fr
lansarea lui n execuie se obine cu opiunea Make Exe File din meniul Compile.

2.6.1. Compilare separat


Programele mari pot fi realizate din mai multe fiiere surs compilate separat, legnd
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 Open Proiect din meniul Proiect se deschide un fiier cruia i se poate
specifica un nume (extensia implicit va fi .PRJ) Se deschide o nou fereastr n care se
introduc numele fiierelor surs apelnd de fiecare dat comanda Add Item din meniul Proiect
sau tastnd Ins. Aceast fereastr poate fi nchis dar fiierul proiect rmne deschis, iar
pentru a fi memorat pe disc trebuie salvat cu comanda Options/Save/Proiect.
Dac s-a creat un proiect, n urma comenzii Run, se execut urmtoarele operaii:
- se compileaz pe rnd fiecare fiier surs i se creeaz fiierul obiect
corespunztor;
- se efectueaz editarea legturilor pentru modulele obiect respective, iar programul
executabil astfel creat va avea numele fiierului proiect i extensia .EXE.:
- se lanseaz n execuie programul obinut.

2.7. Depanarea programului


Depanatorul mediului integrat ofer o gam larg de faciliti:
- execuie parial sau pas cu pas a programului;
- ntreruperea execuiei la anumite instruciuni prin plasarea unor puncte de
ntrerupere (breakpoint), eventual condiionate;
- evaluarea unei expresii dup o ntrerupere i modificarea eventual a valorii unor
variabile;
- urmrirea permanent a valorii unor variabile sau expresii;
Cu comanda Run/Go to Cursor se execut programul pn la linia unde se gsete
cursorul n fereastra de editare.
Execuia instruciune cu instruciune se execut cu comanda Run/Trace, care permite
i intrarea n subrutine sau cu Run/Step over fr a intra n subrutine.
Plasarea n program a punctelor de ntrerupere se realizeaz prin poziionarea
cursorului pe linia de program respectiv i comanda Debug/Toggle Breakpoint. Linia va fi
evideniat pe ecran. Pentru anulare se utilizeaz aceeai comand dup poziionarea
cursorului pe linia respectiv sau folosind butonul Delete din meniul Debug/Breakpoints.
Pentru a condiiona ntreruperea, meniul Debug/Breakpoints propune o fereastr de
dialog n care sunt listate punctele de ntrerupere existente. Cu butonul edit se deschide o nou
caset de dialog pentru punctul de ntrerupere pe care este poziionat cursorul, care permite
introducerea n caseta Contition a condiiei de apariie a ntreruperii sub forma unei expresii i
specificarea n caseta Pas Count a unui numr care indic la a cta execuie a instruciunii are
loc ntreruperea (frecvena opririlor).
Comanda Debug/Evaluate-modify deschide o fereastr de dialog, a crei caset de
introducere Expression permite specificarea unei expresii. Butonul evaluate determin apariia
valorii acestei expresii n caseta Result. Dac aceast expresie este o variabil, valoarea ei
poate fi modificat n caseta de dialog New Value acionnd butonul Modify.
Urmrirea permanent a valorii unei expresii se face n fereastra de observaie Watch
deschis cu comanda Windows/Watch. Pot fi introduse noi expresii de urmrit cu Ins. Se
poate interveni asupra expresiilor cu obiunile Add Watch, delete Watch, Edit Watch din
meniul Debug/Watches, pentru care bara de stare indic tastele de selecie direct.
Un meniu Help interactiv este permanent apelabil cu tasta F1.

3. Scurt iniiere n limbajul C


Pentru o bun nelegere a modului de prezentare a sintaxei i a posibilitilor
instruciunilor i funciilor C vom utiliza urmtoarele reguli de prezentare simplificat:
- alternativele sunt enumerate pe linii separate;
- parantezele unghiulare < > delimiteaz elemente opionale sau care pot lipsi n
anumite situaii:
- cuvintele cheie ale limbajului sunt tiprite cu caractere Bold (accentuate).
n meniul help din mediul integrat Turbo C++ exist cteva deosebiri i anume c:
- parantezele unghiulare sunt utilizate pentru delimitarea unor cuvinte care nu sunt
cuvinte cheie iar
- parantezele drepte sunt utilizate pentru delimitarea elementelor opionale.

3.1. Elemente de baz ale limbajului C


Entitile sintactice de baz utilizate n redactarea unui program sunt:
Cuvinte cheie (keywords) rezervate n principal pentru declararea de tipuri de
date i pentru instruciuni;
Setul de cuvinte cheie al limbajului C este prezentat n tabelul de mai jos.
Auto
Default
Huge
Signed
While

asm
do
if
sizeof
_cs

Break
Double
Int
Static
_ds

Case
Else
interrupt
Struct
_es

Tabel 2.1. Setul de cuvinte cheie ale limbajului Turbo C


cdecl char
Const char
const continue
enum extern Far
float
for
goto
long
near
Pascal register
return short
switch typedef Union unsigned void
volatile
_ss

Pentru cuvintele cheie se folosesc numai litere mici.


Identificatori care pot fi nume de constante, tipuri de date, variabile sau
funcii, cu sintaxa:
identificator: noncifr
identificator noncifr
identificator cifr
noncifr: az AZ _
cifr: 09
Un identificator ncepe ntotdeauna cu o noncifr i are lungimea maxim de 32 de caractere;
de asemenea este necesar ca un identificator s nu fie identic cu un cuvnt cheie.
Exemple:
var1 poate fi un identificator pentru o variabil ;
1var nu poate fi utilizat ca identificator deoarece ncepe cu o cifr;
const_minim poate fi un identificator pentru un nume de constant;
Constante: sunt valori fixe, reprezentnd valori numerice ntregi sau raionale,
caractere sau iruri de caractere.
De exemplu n declaraia:
int var1=251
251 este o constant care se atribuie variabilei ntregi definit prin identificatorul var1.

Operatori: sunt simboluri utilizate pentru specificarea unor operaii de efectuat; o


combinaie valid de valori (variabile sau constante) i operatori formeaz o expresie.
Operatorii utilizai n C vor fi prezentai n capitolul urmtor.
Delimitatori: sunt simboluri care separ diferite entiti. n C, unele simboluri au
dubl semnificaie, de operator i delimitator (n funcie de context).

3.2. Structura unui program


n limbajul C fiecare program este o colecie distinct de module care se numesc funcii.
Structura general a unui program C este:
Program_C
<directive procesor>
<declaraii globale>
funcii
Pe prima linie a programului este trecut denumirea programului. Denumirea
programului este un comentariu i, ca orice comentariu n limbajul C, va trebui ncadrat ntre
semnele: /* */. 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.
Inserarea titlului programului este util dar nu obligatorie.
Directivele procesor sunt activiti pe care trebuie s le realizeze procesorul nainte de
compilare (de exemplu includerea n fiierul curent al unor fiiere, care declar macrodefiniii.
Directivele procesor sunt precedate de semnul #.
Declaraiile globale permit declararea unor variabile i tipuri de date globale, ce vor fi
valabile pentru toate funciile incluse n program. Tipul unei date indic valoarea pe care un
tip de date o poate lua, (de exemplu ntre 128 i +127 pentru tipul char) i modul n care
acestea sunt reprezentate n memorie (exemplu tipul int este reprezentat pe 16 bii)
Orice program C conine o funcie principal numit main i execuia programului
ncepe cu aceasta. Restul funciilor din cadrul unui program sunt subrutine care realizeaz
prelucrri de date definite de programator sau oferite de biblioteca de funcii.
n interiorul fiecrei funcii (deci i funciei main) se pot declara tipuri de date i de
variabile, care au valabilitate numai n interiorul funciei respective spre deosebire de datele
declarate global care i pstreaz valabilitatea pentru toate funciile din program.
O funcie C are urmtoare structur:
<tip_r>nume_funcie(<list parametri>)
{
declaraii locale
secven de instruciuni
}
tip_r reprezint tipul rezultatului pe care l va ntoarce funcia. Dac acesta nu este
specificat se consider implicit rezultat de tip ntreg (int). Dac o funcie nu ntoarce un
rezultat (efectueaz doar o serie de prelucrri) atunci este nevoie ca s se specifice ca tip al
rezultatului cuvntul cheie void.
Pentru ca o funcie s poat prelucra o serie de date iniiale este necesar ca acestea s
fie precizate. Precizarea datelor iniiale ce urmeaz a fi prelucrate n cadrul funciei se
realizeaz n lista de parametri, unde datelor iniiale li se asociaz o list de variabile, numite
parametri formali.
list_parametri reprezint enumerarea declarailor parametrilor funciei, sub forma:

list_parametri: tip_p nume parametru


<,tip_p nume_parametru>
Pentru apelarea funciei se scrie numele funciei urmat de lista valorilor cu care se
iniializeaz parametrii funciei, ncadrat ntre paranteze. Trebuie remarcat c att n
definirea funciei ct i la apelare, parantezele rotunde sunt obligatorii; aceste
paranteze urmeaz dup numele funciei chiar i atunci cnd funcia nu are parametri.
La definirea funciei fr parametri se trece n locul listei de parametri cuvntul cheie
void.
Acoladele {} sunt delimitatori care ncadreaz o construcie denumit
instruciune compus (sau bloc) alctuit din declaraii i instruciuni. Declaraiile din
interiorul unui bloc sunt declaraii locale i sunt valabile numai n interiorul blocului.
Definiia unei funcii const deci din antetul care definete interfaa cu restul
programului i blocul asociat care descrie prin instruciuni operaiile efectuate.

3.3. Prezentarea unor funcii de intrare ieire pentru consol


Funciile de intrare ieire pentru consol permit programului s citeasc
caractere introduse de la tastatur (funcii de intrare) i s afieze diferite caractere pe
ecranul monitorului. Prototipurile funciilor de intrare ieire sunt cuprinse n biblioteca
programului n fiierul stdio.h sau n fiierul conio.h. 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:
#include <stdio.h>
#include <conio.h>
n cadrul acestui punct vom face o prezentare succint a unora dintre funcii
care s permit utilizarea lor pentru realizarea unor programe simple care s
exemplifice diferitele elemnete ale limbajului C.
3.3.1. Operaii de citire scriere fr formatare
Funcia getchar
Funcia ntoarce primul caracter tastat le imprimant dintr-un ir de caractere tastate,
iar transferul spre program al acestuia se realizeaz numai dup apsarea tastei Enter.
Caracterul este transformat ntr-un ntreg fr semn. n caz de eroare se ntoarce valoarea 1.
Prototipul funciei se afl n fiierul stdio.h, iar apelul funciei se face cu:
int getchar(void);
Funcia getche
Funcia ateapt apsarea unei taste, ntoarce caracterul corespunztor i l afieaz pe
ecran (nu ateapt apsarea tastei Enter). Prototipul funciei se afl n fiierul conio.h, iar
apelul funciei se face cu:
int getche(void)
Funcia getch
Funcia este similar cu ghetche() dar nu afieaz ecou pe ecran. Prototipul funciei se
afl n fiierul conio.h, iar apelul funciei se face cu:
int getch(void)
Funcia putchar

Funcia transfer un caracter ctre ecran i ntoarce ca rezultat caracterul transmis iar
n caz de eec valoarea 1. Prototipul funciei se afl n fiierul stdio.h, iar apelul funciei se
face cu:
int putchar(int c)

3.4. Exemplificarea structurii programului


Vom analiza n continuare un prim exemplu de program simplu prin care vom
evidenia principalele caracteristici al oricrui program.
Se introduce de la tastatur programul:
/* aplicatia 1_1*/
#include <stdio.h>
int a,b;
void main(void)
{int var_1,var_2;
var_1=getchar();
a=var_1;
putchar(var_1);
}
Aplicaia va atepta introducerea unui caracter sau a unui sir de caractere de la
tastatur, dup apsarea tastei Enter va prelua primul caracter din irul introdus pe care l va
memora n variabila var_1 i l va afia pe ecranul monitorului.
Programul exemplific structura general a unui program prezentat anterior, astfel:
Pe prima linie este trecut sub forma unui comentariu numele programului (aplicatia
1_1), precizarea pentru procesor a faptului c acesta este un comentariu realizndu-se prin
inserarea comentariului ntre semnele /* */.
Urmtoarea linie de program este o directiv procesor care comunic procesorului s
includ n program fiierul stdio.h aflat n biblioteca de funcii.
Urmeaz apoi o declaraie de variabile globale; variabilele a i b sunt declarate de tipul
ntreg i ele vor fi recunoscute ca atare n oricare din funciile programului.
n linia urmtoare este declarat funcia main care aa cum am artat reprezint
nceputul programului.
Blocul de instruciuni i declaraii aferent funciei main este ncadrat ntre acolade.
{}. n interiorul acestui bloc sunt incluse:
- declaraii locale prin care sunt declarate ca variabile de tip int variabilele cu
numele var_1 i var_2;
- apelul funciei getchar() a crei definiie se afl n fiierul stdio.h. primul caracter
din irul de caractere introdus de la tastatur va fi memorat la apsarea tastei Enter
n variabila local var_1;
- valoarea memorat n variabila local var_1 este atribuit variabilei globale a;
- este afiat pe ecran valoarea memorat n var_1.
Se vor realiza n continuare trei aplicaii similare aplicaiei prezentate care s:
a) exemplifice modul de lucru al funciilor getche (va prelua un caracter de la
tastatur, l va memora ntr-o variabil local i l va afia),

b) exemplifice modul de lucru al funciilor getch (va prelua un carcater de la


tastatur, l va memora ntr-o variabil local i l va afia)
c) exemplifice modul de lucru al funciilor getch (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 att variabila local ct i pe cea global.

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

  • XII Subiect Si Barem OJG 2015
    XII Subiect Si Barem OJG 2015
    Document12 pagini
    XII Subiect Si Barem OJG 2015
    Burican Bogdan Alexandru
    Încă nu există evaluări
  • Tic 189
    Tic 189
    Document1 pagină
    Tic 189
    Burican Bogdan Alexandru
    Încă nu există evaluări
  • Info A 22
    Info A 22
    Document2 pagini
    Info A 22
    Burican Bogdan Alexandru
    Încă nu există evaluări
  • Info Aa
    Info Aa
    Document1 pagină
    Info Aa
    Burican Bogdan Alexandru
    Încă nu există evaluări
  • Tic A77a
    Tic A77a
    Document5 pagini
    Tic A77a
    Burican Bogdan Alexandru
    Încă nu există evaluări
  • Geografia Romaniei - Subiect - Sesiunea I Proba F Varianta 3
    Geografia Romaniei - Subiect - Sesiunea I Proba F Varianta 3
    Document2 pagini
    Geografia Romaniei - Subiect - Sesiunea I Proba F Varianta 3
    Burican Bogdan Alexandru
    Încă nu există evaluări
  • 2015 Geografie Nationala Clasa A Xiia Proba Teoretica Subiectebarem
    2015 Geografie Nationala Clasa A Xiia Proba Teoretica Subiectebarem
    Document6 pagini
    2015 Geografie Nationala Clasa A Xiia Proba Teoretica Subiectebarem
    Burican Bogdan Alexandru
    Încă nu există evaluări
  • 2003 - Geografie - Nationala - Subiecte - Clasa A XII-a - 1 PDF
    2003 - Geografie - Nationala - Subiecte - Clasa A XII-a - 1 PDF
    Document2 pagini
    2003 - Geografie - Nationala - Subiecte - Clasa A XII-a - 1 PDF
    Burican Bogdan Alexandru
    Încă nu există evaluări
  • Aaaainfo
    Aaaainfo
    Document3 pagini
    Aaaainfo
    Burican Bogdan Alexandru
    Încă nu există evaluări
  • Mate 1258
    Mate 1258
    Document1 pagină
    Mate 1258
    Burican Bogdan Alexandru
    Încă nu există evaluări
  • Mate 1258
    Mate 1258
    Document2 pagini
    Mate 1258
    Burican Bogdan Alexandru
    Încă nu există evaluări
  • Pro 5
    Pro 5
    Document1 pagină
    Pro 5
    Burican Bogdan Alexandru
    Încă nu există evaluări
  • Matematica Mate-Info 2015
    Matematica Mate-Info 2015
    Document1 pagină
    Matematica Mate-Info 2015
    iIoana4n
    Încă nu există evaluări
  • Mate 1258
    Mate 1258
    Document1 pagină
    Mate 1258
    Burican Bogdan Alexandru
    Încă nu există evaluări
  • TImate
    TImate
    Document3 pagini
    TImate
    Burican Bogdan Alexandru
    Încă nu există evaluări
  • Mat 89555
    Mat 89555
    Document1 pagină
    Mat 89555
    Burican Bogdan Alexandru
    Încă nu există evaluări
  • Pro 2
    Pro 2
    Document1 pagină
    Pro 2
    Burican Bogdan Alexandru
    Încă nu există evaluări
  • Yyyys
    Yyyys
    Document1 pagină
    Yyyys
    Burican Bogdan Alexandru
    Încă nu există evaluări
  • CCD 4
    CCD 4
    Document1 pagină
    CCD 4
    Burican Bogdan Alexandru
    Încă nu există evaluări
  • Pro 4
    Pro 4
    Document1 pagină
    Pro 4
    Burican Bogdan Alexandru
    Încă nu există evaluări
  • Prob
    Prob
    Document1 pagină
    Prob
    Burican Bogdan Alexandru
    Încă nu există evaluări
  • Pro 1
    Pro 1
    Document1 pagină
    Pro 1
    Burican Bogdan Alexandru
    Încă nu există evaluări
  • Pro 3
    Pro 3
    Document1 pagină
    Pro 3
    Burican Bogdan Alexandru
    Încă nu există evaluări
  • Instruire Asistată de Calculator (Iac) : Burican G. Bogdan Alexandru
    Instruire Asistată de Calculator (Iac) : Burican G. Bogdan Alexandru
    Document4 pagini
    Instruire Asistată de Calculator (Iac) : Burican G. Bogdan Alexandru
    Burican Bogdan Alexandru
    Încă nu există evaluări
  • Asm 5
    Asm 5
    Document1 pagină
    Asm 5
    Burican Bogdan Alexandru
    Încă nu există evaluări
  • Asm 4
    Asm 4
    Document1 pagină
    Asm 4
    Burican Bogdan Alexandru
    Încă nu există evaluări
  • 8 Sas 5
    8 Sas 5
    Document1 pagină
    8 Sas 5
    Burican Bogdan Alexandru
    Încă nu există evaluări
  • 8 Sas 5
    8 Sas 5
    Document1 pagină
    8 Sas 5
    Burican Bogdan Alexandru
    Încă nu există evaluări
  • TL1
    TL1
    Document1 pagină
    TL1
    Burican Bogdan Alexandru
    Încă nu există evaluări
  • Teorie Lab1
    Teorie Lab1
    Document1 pagină
    Teorie Lab1
    Burican Bogdan Alexandru
    Încă nu există evaluări