Document, comentariu, eseu, bacalaureat, liceu si facultate
Top documenteAdmitereTesteUtileContact
      
    


 


Ultimele referate adaugate

Adauga referat - poti sa ne ajuti cu un referat?

Politica de confidentialitate



Ultimele referate descarcare de pe site
  CREDITUL IPOTECAR PENTRU INVESTITII IMOBILIARE (economie)
  Comertul cu amanuntul (economie)
  IDENTIFICAREA CRIMINALISTICA (drept)
  Mecanismul motor, Biela, organe mobile proiect (diverse)
  O scrisoare pierduta (romana)
  O scrisoare pierduta (romana)
  Ion DRUTA (romana)
  COMPORTAMENT PROSOCIAL-COMPORTAMENT ANTISOCIAL (psihologie)
  COMPORTAMENT PROSOCIAL-COMPORTAMENT ANTISOCIAL (psihologie)
  Starea civila (geografie)
 

Ultimele referate cautate in site
   domnisoara hus
   legume
    istoria unui galban
   metanol
   recapitulare
   profitul
   caract
   comentariu liric
   radiolocatia
   praslea cel voinic si merele da aur
 
despre:
 
Instructiuni ale limbajului de programare C
Colt dreapta
Vizite: ? Nota: ? Ce reprezinta? Intrebari si raspunsuri
 

Intr-un program scris in limbajul C instructiunile se executa secvential, in afara de cazul in care se indica altfel. o6q1qk
Instructiunile pot fi scrise cite una pe o linie pentru o lizibilitate mai buna, dar nu este obligatoriu.

6.1. Instructiunea expresie

Cele mai multe instructiuni sint instructiuni expresie. O expresie devine instructiune daca ea este urmata de punct si virgula.
Format: expresie;

De obicei instructiunile expresie sint atribuiri sau apeluri de functie; de exemplu: x = 0; printf(...);
In limbajul C punct si virgula este un terminator de instructiune si este obligatoriu.

6.2. Instructiunea compusa sau blocul

Instructiunea compusa este o grupare de declaratii si instructiuni inchise intre acolade. Ele au fost introduse cu scopul de a folosi mai multe instructiuni acolo unde sintaxa cere o instructiune. Instructiunea compusa sau blocul sint echivalente sintactic cu o singura instructiune.

Format:
Instructiune-compusa:
A lista-declaratori?opt? lista-instructiuni?opt? S
Lista-declaratori: declaratie declaratie lista-declaratori
Lista-instructiuni: instructiune instructiune lista-instructiuni

Daca anumiti identificatori din lista-declaratori au fost declarati anterior, atunci declaratia exterioara este salvata pe durata blocului, dupa care isi reia sensul sau.
Orice initializare pentru variabile auto si register se efectueaza la fiecare intrare in bloc. Initializarile pentru variabilele static se executa numai o singura data cind programul incepe sa se execute.
Un bloc se termina cu o acolada dreapta care nu este urmata niciodata de punct si virgula.

6.3. Instructiunea conditionala

Sintaxa instructiunii conditionale admite doua formate: if (expresie) instructiune-1 if (expresie) instructiune-1 else instructiune-2




Instructiunea conditionala se foloseste pentru a lua decizii. In ambele cazuri se evalueaza expresia si daca ea este „adevarata” (deci diferita de zero) se executa instructiune-1. Daca expresia este „falsa” (are valoarea zero) si instructiunea if are si parte de else atunci se executa instructiune-2.
Una si numai una dintre cele doua instructiuni se executa. Deoarece un if testeaza pur si simplu valoarea numerica a unei expresii, se admite o prescurtare si anume: if (expresie)
in loc de: if (expresie != 0)
Deoarece partea else a unei instructiuni if este optionala, exista o ambiguitate cind un else este omis dintr-o secventa de if imbricata. Aceasta se rezolva asociind else cu ultimul if care nu are else.

Exemplu: if (n>0) if (a>b) z = a; else z = b;

Partea else apartine if-ului din interior. Daca nu dorim acest lucru atunci folosim acoladele pentru a forta asocierea:

if (n>0) A if (a>b) z = a;
S else z = b;

Instructiunea conditionala admite si constructia else-if de forma:

if (expresie-1) instructiune-1 else if (expresie-2) instructiune-2 else if (expresie-3) instructiune-3 else instructiune-4

Aceasta secventa de if se foloseste frecvent in programe, ca mod de a exprima o decizie multipla.
Expresiile se evalueaza in ordinea in care apar; daca se intilneste o expresie adevarata, atunci se executa instructiunea asociata cu ea si astfel se termina intregul lant.
Oricare instructiune poate fi o instructiune simpla sau un grup de instructiuni intre acolade.
` Instructiunea dupa ultimul else se executa in cazul in care nici o expresie nu a fost adevarata.
Daca in acest caz nu exista nici o actiune explicita de facut, atunci partea else instructiune-4 poate sa lipseasca.
Functia binary din sectiunea 7.5 este un exemplu de decizie multipla de ordinul 3.
Pot exista un numar arbitrar de constructii: else if (expresie) instructiune grupate intre un if initial si un else final.
Intotdeauna un else se leaga cu ultimul if intilnit.

6.4. Instructiunea while

Format:
while (expresie) instructiune

Instructiunea se executa repetat atita timp cit valoarea expresiei este diferita de zero. Testul are loc inaintea fiecarei executii a instructiunii. Prin urmare ciclul este urmatorul: se testeaza conditia din paranteze daca ea este adevarata, deci expresia din paranteze are o valoare diferita de zero, se executa corpul instructiunii while, se verifica din nou conditia, daca ea este adevarata se executa din nou corpul instructiunii. Cind conditia devine falsa, adica valoarea expresiei din paranteze este zero, se face un salt la instructiunea de dupa corpul instructiunii while, deci instructiunea while se termina.

6.5. Instructiunea do

Format: do instructiune while
(expresie);

Instructiunea se executa repetat pina cind valoarea expresiei devine zero. Testul are loc dupa fiecare executie a instructiunii.

6.6. Instructiunea for

Format: for (expresie-1?opt?; expresie-2?opt?; expresie-3?opt?) instructiune

Aceasta instructiune este echivalenta cu: expresie-1;
while (expresie-2) A instructiune; expresie-3;
S

Expresie-1 constituie initializarea ciclului si se executa o singura data inaintea ciclului. Expresie-2 specifica testul care controleaza ciclul. El se executa inaintea fiecarei iteratii. Daca conditia din test este adevarata atunci se executa corpul ciclului, dupa care se executa expresie-3, care consta de cele mai multe ori in modificarea valorii variabilei de control al ciclului. Se revine apoi la reevaluarea conditiei. Ciclul se termina cind conditia devine falsa.
Oricare dintre expresiile instructiunii for sau chiar toate pot lipsi.
Daca lipseste expresie-2, aceasta implica faptul ca clauza while este echivalenta cu while (1), ceea ce inseamna o conditie totdeauna adevarata. Alte omisiuni de expresii sint pur si simplu eliminate din expandarea de mai sus.
Instructiunile while si for permit un lucru demn de observat si anume, ele executa testul de control la inceputul ciclului si inaintea intrarii in corpul instructiunii.
Daca nu este nimic de facut, nu se face nimic, cu riscul de a nu intra niciodata in corpul instructiunii.

6.7. Instructiunea switch

Instructiunea switch este o decizie multipla speciala si determina transferul controlului unei instructiuni sau unui bloc de instructiuni dintr-un sir de instructiuni in functie de valoarea unei expresii.
Format: switch (expresie) instructiune

Expresia este supusa la conversiile aritmetice obisnuite dar rezultatul evaluarii trebuie sa fie de tip int.
Fiecare instructiune din corpul instructiunii switch poate fi etichetata cu una sau mai multe prefixe case astfel: case expresie-constanta: unde expresie-constanta trebuie sa fie de tip int.
Poate exista de asemenea cel mult o instructiune etichetata cu default:
Cind o instructiune switch se executa, se evalueaza expresia din paranteze si valoarea ei se compara cu fiecare constanta din fiecare case.
Daca se gaseste o constanta case egala cu valoarea expresiei, atunci se executa instructiunea care urmeaza dupa case-ul respectiv.
Daca nici o constanta case nu este egala cu valoarea expresiei si daca exista un prefix default, atunci se executa instructiunea de dupa el, altfel nici o instructiune din switch nu se executa.
Prefixele case si default nu altereaza fluxul de control, care continua printre astfel de prefixe.
Pentru iesirea din switch se foloseste instructiunea break (vezi sectiunea 6.8) sau return (vezi sectiunea 6.10).
De obicei instructiunea care constituie corpul unui switch este o instructiune compusa. La inceputul acestei instructiuni pot aparea si declaratii, dar initializarea variabilelor automatice si registru este inefectiva.

na = nb = nc = 0;
while (c=sai++i) switch (c) A case '0': case '1': case '2': case '3': case '4': case '5': case '6': case 'T': case '8': case '9': ncac-'0'i++; break; case ' ': case '\r': case '\t': nb++; break; default: na++; break;
S printf("cifre: "); for (i=0; i<10; i++) printf(" %d",ncaii); printf("\nspatii albe: %d, altele: %d\n", nb,na);

In acest exemplu se parcurg toate caracterele dintr-un sir, se numara cifrele, spatiile albe si alte caractere si se afiseaza aceste numere insotite de comentarii.
Instructiunea while este cea care asigura parcurgerea sirului pina la sfirsit. Pentru fiecare caracter se executa corpul instructiunii while care consta dintr-o singura instructiune switch.
Se evalueaza expresia intreaga din paranteze (in cazul nostru caracterul c) si se compara valoarea sa cu toate constantele-case. In momentul cind avem egalitate se incepe executia de la case-ul respectiv.
Afisarea rezultatelor se face prin intermediul instructiunii for si a functiei printf (vezi capitolul 11).

6.8. Instructiunea break

Format: break;

Aceasta instructiune determina terminarea celei mai interioare instructiuni while, do, for sau switch care o contine. Controlul trece la instructiunea care urmeaza dupa instructiunea astfel terminata.

6.9. Instructiunea continue

Format: continue;

Aceasta instructiune determina trecerea controlului la portiunea de continuare a ciclului celei mai interioare instructiuni while, do sau for care o contine, adica la sfirsitul ciclului si reluarea urmatoarei iteratii a ciclului. In while si do se continua cu testul, iar in for se continua cu expresie-3.
Mai precis in fiecare dintre instructiunile:

while (...) A
... contin:;
S for (...) A
... contin:;
S do A
... contin:;
S while (...);

daca apare o instructiune continue aceasta este echivalenta cu un salt la eticheta contin. Dupa contin: urmeaza o instructiune vida (vezi sectiunea 6.11).
Portiunea de program din exemplul urmator prelucreaza numai elementele pozitive ale unui masiv.

for (i=0; i<n; i++) A if (aaii<0) /* sare peste elementele negative */ continue;
... /* prelucreaza elementele pozitive */
S

6.10. Instructiunea return

O instructiune return permite iesirea dintr-o functie si transmiterea controlului apelantului functiei. O functie poate returna valori apelantului sau, prin intermediul unei instructiuni return.
Formate: return; return expresie;

In primul caz valoarea returnata nu este definita. In al doilea caz valoarea expresiei este returnata apelantului functiei. Daca se cere, expresia este convertita, ca intr-o atribuire, la tipul functiei in care ea apare.

6.11. Instructiunea vida

Format:
;

Instructiunea vida este utila pentru a introduce o eticheta inaintea unei acolade drepte, intr-o instructiune compusa, sau pentru a introduce un corp nul intr-o instructiune de ciclare care cere corp al instructiunii, ca de exemplu while sau for.

Exemplu: for (nc=0; sanci!=0; ++nc) ;

Aceasta instructiune numara caracterele unui sir. Corpul lui for este vid, deoarece tot lucrul se face in partea de test si actualizare dar sintaxa lui for cere un corp al instructiunii. Instructiunea vida satisface acest lucru.


Colt dreapta
Creeaza cont
Comentarii:

Nu ai gasit ce cautai? Crezi ca ceva ne lipseste? Lasa-ti comentariul si incercam sa te ajutam.
Esti satisfacut de calitarea acestui document, eseu, cometariu? Apreciem aprecierile voastre.

Nume (obligatoriu):

Email (obligatoriu, nu va fi publicat):

Site URL (optional):


Comentariile tale: (NO HTML)


Noteaza documentul:
In prezent fisierul este notat cu: ? (media unui numar de ? de note primite).

2345678910

 
Copyright© 2005 - 2024 | Trimite document | Harta site | Adauga in favorite
Colt dreapta