Sunteți pe pagina 1din 5

Laborator 1 hello.c #include <stdio.h> #include <conio.h> int main(){ printf(Hello,world )! "etch()! return #!

$ %% &omentariile 'n &(( se fac pe aceea)i linie dup* + simboluri, %% te-t aici %. &omentariile 'n & se fac pe mai multe linii 'ntre + simboluri, %. te-t aici .% .% /iscut*m 'n detaliu fiecare linie de cod din, #include <stdio.h> #include <conio.h> 0imbolul sharp # arat* c* linia de cod trebuie preprocesat*. 1n ca2ul de fa3* liniile de cod arat* c* toate func3iile din pro"ram 4or fi c*utate 'n bibliotecile stdio )i conio. 54em + biblioteci stdio 6 standard input%output, conio 6 console input%output )i 'n "eneral input repre2int* tastatura prin care intr datele de la utili2ator 'n pro"ram )i output repre2int* ecranul spre care ias datele din pro"ram. /ac* se folose)te sinta-a <stdio.h> compilatorul caut* 'n toate directoarele predefinite (acestea se include la 7ptions en4ironment). /ac* se folose)te sinta-a stdio.h compilatorul caut* 'n directorul curent unde se afl* pro"ramul hello.c. 0tdio.h )i conio.h sunt fiiere-header care se "*sesc 'ntr8un subdirector din r*d*cina directorului unde e instalat compilatorul (d,bc9:include) )i fac trimitere la biblioteci care se afl* 'n subdirectorul :lib. ;i)ierele8header includ prototipurile de func3ii ('n ca2ul de fa3* printf )i "etch). /ac* facem cli< cu butonul din dreapta pe printf )i ale"em =o to help topic 4edem c* apar3ine bibliotecii stdio )i c* are prototipul de forma, int printf (const char .format). &>nd a4em o func3ie oarecare definit* 'n matematic* prin, f, ? 8> @ ABf(-)B-.-.#.9 spunem c* prototipul func3iei este, float f(int -){float AB -.-.#.9! return A!$ float 'nseamn* c* output8ul func3iei (4ariabila A) este un num*r real ('n simpl* preci2ie, cu C 2ecimale e-acte), iar dac* a4eam un num*r real 'n dubl* preci2ie (cu 1+ 2ecimale e-acte) ar fi fost double. Dnput8ul func3iei e un num*r 'ntre" )i scriem c* 4ariabila - e de tipul int. 7rice func3ie care returnea2* ce4a trebuie s* con3in* 'n codul s*u o linie de tipul return A. &odul func3iei se scrie 'ntre acolade {$.

int main(){$ ;iecare pro"ram are o func3ie principal* predefinit* numit* main. 7bser4*m c* func3ia main returnea2* un num*r 'ntre" (deci are 'n codul s*u linia return #), dar nu are nici8un input. 1n acest ca2 nu se pune nimic 'ntre parante2ele () sau se folose)te cu4>ntul cheie 4oid, int main(4oid). 1n codul func3iei main a4em dou* func3ii printf(), care afi)ea2* un )ir de caractere , care trebuie inclus 'ntre "hilimele )i "etch(), care a)teapt* ca utili2atorul s* introduc* un caracter de la tastatur*. Eumai 'n acel moment pro"ramul se 'ncheie )i dac* s8a e-ecutat corect func3ia main() returnea2* num*rul #. printf(Hello,world )! "etch()! return #! $ nume.c #include <stdio.h> #include <conio.h> int main(){ char numeF+9G! scanf(Hs , nume)! printf(Hello, Hs , nume)! "etch()! return #! $ /iscut*m 'n detaliu linia de cod, char numeF+9G! 5m 4*2ut c* cele mai importante tipuri de 4ariabile sunt int, float, double )i unul nou char, care define)te un character. /ac* 4rem s* introducem de la tastatur* numele nostru folosim func3ia scanf . 5ceasta sal4ea2* datele 'n 4ariabila nume. /ac* definim 4ariabila nume ca fiind de tipul char putem introduce doar ini3iala numelui nostru, s* 2icem I, char numeBJIJ! 7bser4*m c* o liter* se introduce 'ntre dou* apostroafe JIJ, 'n schimb un )ir de litere sau un )ir de caractere se introduce 'ntre "hilime Imil , char numeFKGBImil ! Lirul inclus 'n nume con3ine la sf>r)it o liter* in4i2ibil* notat* cu :# care indic* terminarea )irului. Eumerotarea )irului de litere 'ncepe de la #. 5tunci a4em pe litere,

numeF#GBJIJ, numeF1GBJmJ, numeF+GBJiJ, numeFMGBJlJ, numeFKGBJ:#J /eoarece numele introdus de la tastatur* este 4ariabil ca lun"ime e bine s*8l facem de lun"ime c>t mai mare, de e-emplu +9, dar )i a)a e posibil s* nu 'ncap* dac* a4e3i un nume ca cel al matematicianului arab 54erroe, 5buNl8Oald Pohammad Dbn 5hamad Dbn @oshd. /in fericire pentru noi numele introdus este trunchiat nu numai dac* ap*s*m tasta Inter, ci )i dac* l*s*m un spa3iu sau ap*s*m tasta Qab. 5)a c* 4om 4edea cu printf doar, 5buNl8Oald. Dntrarea datelor de la tastatur* este formatat* de scanf cu simbolul Hs astfel c* pro"ramul )tie c* e 4orba de un strin" 6 )ir de caractere. Rrintf 4a afi)a datele din 4ariabila nume 'n po2i3ia unde se afl* simbolul Hs 'n te-tul dintre "hilimele. ani.c #include <stdio.h> #include <conio.h> int main(){ char numeF+9G! int ani! scanf(Hs , nume)! scanf(Hd , Sani)! printf(Tuna, Hs U , nume)! printf(Pa bucur ca ai 4irsta de Hd ani , ani)! "etch()! return #! $ 5m dori sa fie afi)at* )i 4>rsta noastr*. 7 introducem de la tastatur* 'n 4ariabila ani, dar 5QIEVDIUUU Qrebuie s* folosim simbolul Sani care 'nseamn* c* introducem datele la adresa variabilei ani. /eoarece a4em o 4ariabil* de tip int, scanf o formeatea2* folosind simbolul Hd, unde d 6 decimal inte"er. /ac* 4re3i s* afla3i c>t de mare este adresa 4ariabilei ani pute3i scrie linia de cod, printf(Pa bucur ca ai 4irsta de Hd ani , Sani)! )i 4e3i fi uimi3i s* constata3i c* a4e3i peste un milion de aniU inaltime.c #include <stdio.h> #include <conio.h> int main(){ char numeF+9G! int ani! float inaltime! scanf(Hs Hd Hf , nume, Sani, Sinaltime)! printf(Tuna, Hs U Pa bucur ca ai 4irsta de Hd ani si inaltimea de Hf m , nume, ani, inaltime)!

"etch()! return #! $ /ac* includem )i 'n*l3imea 4om introduce la scanf )i printf simbolul Hf de la float. P*car aici nota3ia e lo"ic* )i nu a4em nimic de memorat. La afi)are 4om 4edea c* a4em s* 2icem 1.WX####, adic* predefinit sunt incluse C 2ecimale (numarul float se introduce cu punct, 'n nota3ia american*, nu cu 4ir"ul* ca la noi). Rentru a afi)a numai + 2ecimale scriem la printf 'n loc de simbolul Hf pe %.2f 5lte mici probleme de formatare sunt urm*toarele, dac* 4rem s* scriem te-tul precedent pe linii diferite folosim simbolul \n, 8 newline, sau dac* l*s*m un spa3iu mai mare folosim \t - tab. =hilimele pot fi incluse 'n te-t numai cu \: printf(Tuna, Hs U \n Pa bucur ca ai \4enerabila\ 4irsta de Hd ani siY\t inaltimea de H.+f m , nume, ani, inaltime)! nume.cpp #include <iostream.h> #include <conio.h> int main(){ char numeF+9G! cin>>nume! cout<< Hello, <<nume! "etch()! return #! $ Qrecem s* 4edem cum se scrie pro"ramul 'n c((. I necesar ca fi)ierul s* aibe termina3ia .cpp pentru a se compila 'n c((. Zom include biblioteca iostream (fluinput%output) care ne define)te o clas* de date de intrare cin 6 consol* input (tastatura) )i o clas* de date de ie)ire cout 6 consol* output (ecranul). 7peratorul >> direc3ionea2* flu-ul de date de la tastatur* la 4ariabila nume, iar operatorul << direc3ionea2* flu-ul de date de la 4ariabila nume la ecran. inaltime.cpp #include <iostream.h> #include <conio.h> int main(){ char numeF+9G! int ani! float inaltime! cin>>nume>>ani>>inaltime! cout<<Tuna, <<nume<< U Pa bucur ca ai 4irsta de <<ani<< ani si inaltimea de <<inaltime<< m !

"etch()! return #! $

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