Scrigroup - Documente si articole

Username / Parola inexistente      

Home Documente Upload Resurse Alte limbi doc  

CATEGORII DOCUMENTE





loading...

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


Switch

c

+ Font mai mare | - Font mai mic






DOCUMENTE SIMILARE

Trimite pe Messenger
Instructiuni si blocuri
Switch
RECURSIVITATE probleme rezolvate

TERMENI importanti pentru acest document

Switch

Instructiunea switch este realizator special de decizii multiple

care testeaza daca o expresie se potriveste cu una dintr-un




numar de valori constante si ramifica corespunzator programul.

In capitolul 1 am scris un program care contorizeaza apari-

tiile fiecarei cifre, a spatiului, si a tuturor celorlalte

caractere, folosind o secventa de if else. Dam in continuare

acelasi program cu instructiunea switch.

main() /* contorizeaza cifre , blancuri , alte caractere */

printf('digits =');

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

printf(' %d', ndigit[i]);

printf('nwhite space= %d, other= %dn', nwhite,nother);

}

Switch evalueaza expresia intreaga din paranteze (in acest program

caracterul c) si compara valoarea ei cu toate cazurile. Fiecare

caz trebuie sa fie etichetat cu o constanta intreaga sau caracter

sau cu o expresie constanta. Daca un caz se potriveste cu valoa-

rea expresiei, executia incepe la acel caz. Cazul etichetat 'de-

fault' este executat daca nici unul din cazuri nu este satisfacut.

Un 'default' este optional; daca el nu este prezent si nici unul

din cazuri nu se potriveste nu se executa nici o actiune. Cazurile

si 'default' pot apare in orice ordine. Cazurile trebuie sa fie

toate diferite.

Instructiunea break declanseaza o iesire imediata din switch.

Deoarece cazurile servesc doar ca etichete, dupa ce codul unui caz

a fost executat, executia continua spre urmatoarea instructiune

daca nu nu luati o actiune explicita spre a iesi. Break si return

sint modurile cele mai uzuale de a parasi o instructiune switch. O

instructiune switch poate fi deasemenea folosita si pentru a forta

o iesire imediata dintr-o bucla while, for sau do, asa cum vom



discuta mai departe in acest capitol.

Ramificarea in cazuri este si buna si rea. Pe partea pozi-

tiva, ea permite mai multe cazuri pentru o singura actiune, asa

cum sint cazurile pentru blanc, tab sau linie noua in acest

exemplu. Dar implica deasemenea faptul ca, in mod normal, fie-

care caz trebuie sa se termine cu un break, pentru a preve-

ni ramificarea pe cazul urmator. Iesirea dintr-un caz in altul nu

este buna, fiind inclinata spre dezintegrare atunci cind progra-

mul este modificat. Cu exceptia etichetelor multiple pentru un

singur caz, aceste iesiri dintr-un caz in altul trebuie folo-

site cu economie.

Ca o problema de forma buna, puneti un break dupa ultimul

caz (la noi, cazul default) chiar daca logic nu este necesar.

Intr-o zi cind veti adauga la sfirsit un caz nou, aceasta bucatica

de programare defensiva va va salva.

Exercitiul 3.1. Scrieti o functie expand(s, t) care converteste

caracterele de tipul lui 'linie noua' si 'tab' in secvente

escape vizibile de tipul 'n' si 't' in timp ce se copiaza

sirul s in sirul t. Folositi instructiunea switch.








Politica de confidentialitate

DISTRIBUIE DOCUMENTUL

Comentarii


Vizualizari: 381
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 2020 . All rights reserved

Distribuie URL

Adauga cod HTML in site