Sunteți pe pagina 1din 2

INSTRUCŢIUNEA if

Instrucţiunea if permite să realizăm o ramificare a execuţiei în funcţie de valoarea unei


expresii. Ea are două formate ce permit aplicarea structurii de alternativă simplă şi compusă.

Formatul 1:

if (expresie) instructiune;

Efectul:

se evaluează expresia din paranteze;

dacă valoarea expresiei este diferită de zero (deci conform convenţiei are valoarea adevărat),
atunci se execută instructiune, altfel se trece la instrucţiunea următoare.

Formatul 2:

if (expresie) instructiune_1;

else instructiune_2;

Efectul:

se evaluează expresia din paranteze;

dacă valoarea expresiei este diferită de zero (deci conform convenţiei are valoarea adevărat),
atunci se execută instructiune_1, altfel se execută instructiune_2; apoi în ambele cazuri se
trece la instrucţiunea următoare.

Observaţii:

1 Se pot folosi instrucţiuni if imbricate, nivelul de imbricare fiind oarecare (deci nu există o
limitare a numărului de imbricări).

2 Pentru mai multe imbricări se foloseşte regula asocierii if-lui cu else astfel:

un else se pune în corespondenţă cu primul if care se află înaintea lui în textul sursă şi nu este
inclus în instrucţiunea care îl precede pe el şi nici nu îi corespunde deja un else.

Exemple

void main (void)

{ float x,y,a;

x=-5;

y=10;
if (x<0) // ultimul else se asociaza cu primul if iar

if (y<0) a=1; // penultimul else se asociaza cu cel de-al doilea if

else a=2;

else a=0;

void main (void)

{ float x,y,a;

x=-5;

y=10;

if (x<0) // ultimul else se asociaza cu primul if deoarece cel de-al

{ if (y<0) a=1; } // de-al doilea if este inclus in instructiunea compusa care

else a=0; // il precede pe if

void main (void) // citeste trei intregi si scrie minimul dintre ei

{int i,j,k,min;

scanf (“\ndati i=%d”, &i);

scanf (“\ndati j=%d”, &j);

scanf (“\ndati k=%d”, &k);

if (i>j) min=j;

else min=i;

if (k<min) min=k;

printf (“min(%d,%d,%d)= %d\n”,i,j,k,,min);

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