Scrigroup - Documente si articole

     

HomeDocumenteUploadResurseAlte limbi doc
AccessAdobe photoshopAlgoritmiAutocadBaze de dateCC sharp
CalculatoareCorel drawDot netExcelFox proFrontpageHardware
HtmlInternetJavaLinuxMatlabMs dosPascal
PhpPower pointRetele calculatoareSqlTutorialsWebdesignWindows
WordXml


If-Else

c



+ Font mai mare | - Font mai mic



If-Else

Instructiunea If-Else este folosita pentru luarea de

decizii. Formal, sintaxa ei este:



if(expresie)

instructiune-1

else

instructiune-2

unde partea 'else' este optionala. 'Expresia' este evalua-

ta; daca este 'adevarata' (adica, are o valoare nenula),

'instructiune-1' este executata. Daca ea este 'falsa' ('expresia'

este zero) si daca exista partea cu 'else', se executa in schimb

'instructiune-2'.

Deoarece un 'if' testeaza pur si simplu valoarea numerica a

unei expresii, sint posibile anumite prescurtari de cod. Cel mai

clar exemplu este scriind

if(expresie)

in loc de

if(expresie !=

Citeodata, acest lucru este natural si clar. Altadata poate parea

cifrat.

Deoarece partea cu 'else' a unui if-else este optionala, se

poate ajunge la o ambiguitate cind se omite un else dintr-o secve-

nta imbricata de if-uri. Aceasta este rezolvata, ca de obicei,

asa: else este asociat cu if-ul anterior cel mai apropiat, care

nu face pereche cu un 'if'. De exemplu, in:

if (n > 0)

if (a > b)

z = a;

else

z = b;

else face pereche cu if cel mai dinauntru, asa cum am aratat

prin tabulare. Daca nu dorim aceasta, trebuie sa folosim

acolade pentru a forta asocierea potrivita:

if (n > 0)

else

z = b;

Ambiguitatea este vatamatoare indeosebi in situatii ca urmatoarea:

if (n > 0)

for (i = 0; i < n; i++)

if (s[i] > 0)

else /* WRONG */

printf('error- n is zero n');

Tabularea arata neechivoc ceea ce dorim, dar compilatorul nu

intelege acest mesaj, si-l asociaza pe else cu if-ul cel mai

dinauntru. Acest tip de eroare poate fi foarte greu de gasit.

Apropo, sa notam ca exista un punct si virgula dupa z = a in:

if (a > b)

z = a;

else

z = b;

Aceasta deoarece, gramatical, dupa if urmeaza o instructiune si o

instructiune de asignare de tipul z = a se termina intodeauna cu

punct si virgula.



Politica de confidentialitate | Termeni si conditii de utilizare



DISTRIBUIE DOCUMENTUL

Comentarii


Vizualizari: 978
Importanta: rank

Comenteaza documentul:

Te rugam sa te autentifici sau sa iti faci cont pentru a putea comenta

Creaza cont nou

Termeni si conditii de utilizare | Contact
© SCRIGROUP 2024 . All rights reserved