[C] – Cicli while, for, do-while
Dopo qualche (tanto) tempo, riprendiamo il ciclo “studiamo C”. Troppo tempo lontani dalla programmazione fa male, com’è che si faceva? uhm…. iniziamo a parlare del while.
Il while ci permette di valutare un espressione. Se l’espressione valutata dal programma è diversa da zero il ciclo prosegue (eseguendo l’istruzione e rivalutando l’espressione), in caso contrario il programma passa a valutare il punto seguente.
while (x>1)
go home (:-D)
Nel caso sopra citato, il programma valuta se la condizione del while (x=1) è differente da zero. In questo caso, esegue la bellissima funzione appena inventata da me, che invita il programmatore a porre fine alla sua tediosa giornata di lavoro.
E visto che la funzione è verificata, me ne vado a casa (8.15 pm, 05/08).
Rieccomi qui a scrivere (00.06 pm, 11/08). Adesso parliamo dei cicli for.
for (i=1; i < n; i++)
Vediamo di tradurlo in italiano:
I è uguale a uno.
I è inferiore ad n.
Aggiungi un unità ad I (che quindi diventa 2, poi 3, e così via).
A questo punto, il programma ricontrolla che la nostra I sia ancora inferiore ad n, in quel caso aggiunge un altra unità e così via.
Ipotizziamo che n corrisponda a 4. In questo caso il ciclo si blocca appena l’espressione relazionale
i < n
non è più verificata.
E’ un po’ come scrivere
i=1
while (i<n) {
i++;
}
A quanto ho capito, è meglio usare il for in caso di cicli semplici, dato che ha il gran vantaggio di mettere tutte insieme le espressioni, all’inizio. Cosa che diventerebbe complicata nel caso di cicli complessi.
Passiamo al do-while (28/08… che articolo sofferto !). La differenza principe fra do-while e while/for sta nel momento in cui si esamina la condizione di terminazione.
Nei casi già discussi, la condizione viene valutata inizialmente, mentre in questo caso, la sintassi usata è questa:
do
istruzione
while (espressione);
In questo caso prima si esegue istruzione, poi si valuta espressione. Se è vera, si esegue nuovamente istruzione e il ciclo va avanti fino a quando espressione non diventa falsa.


![[C] - Cicli while, for, do-while [C] - Cicli while, for, do-while](http://blogger.m3c.it/wp-includes/images/crystal/default.png)





Iscriviti ai Feed RSS 2.0 di quest'articolo.