Sunteți pe pagina 1din 2

INSTRUCIUNEA SWITCH

Switch este o instructiune de decizie multipla care ramifica executia programului catre o
anumita secventa de instructiuni dupa cum o expresie este egala cu o anumita valoare
constanta.
Format:
switch (expresie)
instructiune
unde expresie este o expresie la care rezultatu 848c23i l evaluarii trebuie sa fie de tip int,
iar instructiunea este o instructiune compusa, n care fiecare secventa de instructiuni ce se
doreste a se executa pentru unele valori ale expresiei trebuie sa fie etichetata cu acele
valori constante. Eticheta este de forma:
case expresie-constanta:
unde expresie-constanta este o constanta ntreaga sau caracter sau o expresie constanta,
sau de forma:
default:
Efectul instructiunii switch este urmatorul:
- se evalueaza expresia si se compara cu valoarea cazurilor prezente n etichetele case;
- daca valoarea expresiei este egala cu constanta de la unul din cazuri, executia continua
de la secventa de instructiuni etichetata cu acel case n jos. Daca secventa respectiva se
termina cu instructiunea break, se executa doar acele instructiuni, astfel executia continua
cu urmatoarea secventa pna se ntlneste un break sau sfrsitul instructiunii switch.
Aceasta curgere n jos la urmatoarea secventa poate fi n avantajul programatorului, dar
poate fi si cauza unor erori;
- daca valoarea expresiei nu este egala cu nici o constanta de la nici unul din cazuri,
executia continua cu secventa de instructiuni etichetata cu default, iar daca default
lipseste atunci nu se executa nimic.
Etichetele case si default pot fi puse n orice ordine, deci nu trebuie nteles ca ar trebui sa
fie puse n ordine crescatoare si default la sfrsit, dupa cum si default poate sa lipseasca.
n schimb, nu este permisa scrierea a doua etichete case identice.
Este indicat sa se foloseasca switch n situatia cnd realizarea unei decizii multiple cu
ajutorul constructiei de if-uri imbricate ar fi suparatoare.
Programul urmator utilizeaza instructiunea seitch pentru a numara de cte ori apare
cuvntul "far" ntr-un fisier text.

Probleme:

1. Implementeaza o structura alternativa generalizata:


swich(expresie)
{case expr_1,instructiune 1; break;
case expr_2,instructiune 2,break;
[default insh n+1
}

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