CATEGORII DOCUMENTE |
DOCUMENTE SIMILARE |
|
TERMENI importanti pentru acest document |
|
Instructiunea For
Asa cum probabil va asteptati, exista o multime de moduri pentru a scrie un program; haideti sa incercam o alta varianta a programului de conversie de temperatura :
main() /* Fahrenheit-Celsius table */
Aceasta va produce aceleasi rezultate dar, cu siguranta, arata altfel decit prima. O modificare esentiala este eliminarea majoritatii variabilelor; a ramas numai 'fahr', declarata ca 'int' (observati specificatorul '%d' in printf). Limitele inferioara si superioara si marimea pasului apar doar ca si constante in instructiunea 'for', ea insasi o constructie noua, iar expresia care calculeaza temperatura Celsius apare acum ca al treilea argument din 'printf' in loc de a fi o instructiune de asignare separata.
Aceasta ultima schimbare este un exemplu pentru o regula generala in C - in orice context in care este permisa folosirea valorii unei variabile de un anumit tip, se poate folosi o expresie de acel tip. Deoarece al treilea argument al lui 'printf' trebuie sa fie o valoare flotanta pentru a se potrivi cu '%6.1f', orice expresie flotanta poate apare pe locul ei.
Instructiunea 'for' este o bucla, o generalizare a lui 'while'. Daca o comparati cu 'while', aceasta afirmatie va va fi clara. Ea contine trei parti separate prin punct si virgula. Prima parte
fahr = 0
se face o data, inainte ca bucla propriu-zisa sa inceapa. A doua parte este testul sau conditia care controleaza bucla:
fahr <= 300
Este evaluata aceasta conditie; daca ea este adevarata, este executat corpul buclei (la noi, o singura 'printf'). Urmeaza apoi pasul de reinitializare
fahr = fahr + 20
care este executat si apoi conditia este reevaluata. Bucla se termina atunci cind conditia devine falsa. La fel ca si la instructiunea 'while', corpul buclei poate fi alcatuit dintr-o singura instructiune sau dintr-un grup de instructiuni inclus intre acolade. Partile de initializare si reinitializare pot fi o singura expresie.
Alegerea intre 'while' si 'for' este arbitrara, bazata pe ceea ce ne pare noua a fi mai clar. Instructiunea 'for' este potrivita in mod uzual pentru buclele in care initializarea si reinitializarea sint instructiuni unice si logic inrudite deoarece este mai compacta decit 'while' si pastreaza instructiunile de control al buclei intr-un singur loc si impreuna.
Exercitiul 1.5. Modificati programul de conversie temperatura pentru a tipari tabela in ordine inversa, adica de la 300 de grade la zero.
Politica de confidentialitate | Termeni si conditii de utilizare |
Vizualizari: 1215
Importanta:
Termeni si conditii de utilizare | Contact
© SCRIGROUP 2024 . All rights reserved