Ciao,
Un buon testo di base ti può aiutare ad entrare più a contatto con i cicli, ad ogni modo hai a disposizione in sostanza:
1) for(){...}
2) while(){...}
3) do{...}while()
I cicli basati su while contengono un espressione booleana... il ciclo viene eseguito mentre l'espressione è vera. La differenza tra 2 e 3 è solo nella posizione del test. Nella 3 il ciclo viene ripetuto almeno una volta, nella 2, se la condizione è falsa alla partenza, non si entra nel ciclo.
Per quanto riguarda la for, la sintassi è:
for(<inizializzazione>;<condizione>;<iterazione>)
Tutte e tre sono opzionali ( for(;;) ad esempio è un ciclo infinito).
L'inizializzazione viene eseguita una volta e serve in genere ad inizializzare la variabile che gestisce il ciclo
La condizione è un espressione booleana che viene testata ogni volta. Quando diventa falsa il ciclo si interrompe.
L'iterazione viene eseguita alla fine di ogni ciclo.
Ad esempio:
for(i=0 ; i<10 ; i=i+1 )
{
printf("%d\n",i);
}
E'un ciclo che viene ripetuto 10 volte. i viene inizializzato una volta a zero con l'assegnamento i=0. Il ciclo procede finché i è minore di 10. Ogni volta i viene incrementato di 1.
L'effetto sarà quello di stampare tutti i numeri interi da 0 a 9.
Si può voler uscire preventivamente dal corpo di una for, o saltare direttamente all'iterazione successiva... si può fare con le due istruzioni break e continue.
Riprendendo l'esempio sopra:
for(int i=0;i<10;i++)
{
printf("%d\n",i);
if(i==5) break;
}
Questa ha l'effetto di interrompere la for non appena i vale 5. Pertanto stamperà (0..5 - NB:Il 5 viene stampato perché è prima della break)
Un esempio con continue:
for(int i=0;i<10;i++)
{
if(i==5) continue;
printf("%d\n",i);
}
Questa ha l'effetto di stampare tutti i numeri (0..9) eccetto il 5
Gli esempi che ho fatto sono ovviamente banali, ma la sostanza è questa... sta a te sperimentare un po'...
Ciaociao
Venite a visitarci qui:
http://www.bottomap.co