Strutture dei cicli: for, while, do-while
Iteri con le tre forme classiche di ciclo e scelga quella adatta alla situazione
Strutture dei cicli: for, while, do-while è una lezione C++ Academy gratuita su CoddyKit. Questa è la lezione 2 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento C++ Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso C++ Academy include 4 lezioni in totale.
Il ciclo for
Il classico ciclo indicizzato. Lo utilizzi quando sa quante iterazioni sono necessarie.
for (int i = 0; i < 10; ++i) {
std::cout << i << " ";
}Anatomia di un ciclo for
Tre parti separate da punti e virgola:
- Inizializzazione — viene eseguita una volta prima del ciclo
- Condizione — viene verificata prima di ogni iterazione
- Aggiornamento — viene eseguito dopo ogni iterazione
Qualsiasi parte può essere vuota.
Contare alla rovescia
Decrementi il contatore per iterare all'indietro. Presti particolare attenzione ai limiti.
for (int i = 9; i >= 0; --i) {
std::cout << i << " ";
}Il ciclo while
Ripete il corpo finché una condizione è vera. Lo utilizzi quando il numero di iterazioni dipende dallo stato a runtime.
int n = 100;
while (n > 1) {
std::cout << n << " ";
n /= 2;
}Il ciclo do-while
È simile a while, ma il corpo viene eseguito almeno una volta: la condizione viene verificata alla fine. È utile per la validazione dell'input.
int n;
do {
std::cout << "Enter 1-9: ";
std::cin >> n;
} while (n < 1 || n > 9);Cicli infiniti
A volte è utile un ciclo che continui fino a un break. Le forme idiomatiche sono:
for (;;) { /* ... */ } // C-style
while (true) { /* ... */ } // arguably clearerbreak: uscire in anticipo
break interrompe immediatamente il ciclo o lo switch più interno.
for (int i = 0; i < n; ++i) {
if (a[i] == target) {
index = i;
break;
}
}continue: passare all'iterazione successiva
continue passa all'iterazione successiva senza eseguire il resto del corpo.
for (int i = 1; i <= 100; ++i) {
if (i % 2 == 0) continue;
std::cout << i << " "; // print odd numbers
}Cicli annidati
I cicli possono essere annidati. Il break del ciclo interno esce solo da quel ciclo: per maggiore chiarezza, utilizzi un flag o ristrutturi il codice in una funzione.
Scegliere il ciclo giusto
Guida rapida:
- Numero noto →
for - Fino al cambiamento di una condizione →
while - Esecuzione almeno una volta →
do-while - Iterazione su un contenitore → for basato sull'intervallo (nella prossima lezione)
Errori off-by-one
Il bug più comune nei cicli consiste nell'eseguire un'iterazione di troppo o una di meno. Preferisca < con size() quando indicizza gli array e verifichi i limiti su carta o con i test.
Verifica rapida
Quale ciclo garantisce l'esecuzione del corpo almeno una volta?
Riepilogo
Scelga for per un numero noto di iterazioni, while per i cicli guidati da una condizione e do-while quando il corpo deve essere eseguito almeno una volta. Utilizzi break e continue con moderazione per mantenere il codice chiaro.
Domande Frequenti
La lezione «Strutture dei cicli: for, while, do-while» è gratuita?
Sì — il testo completo di «Strutture dei cicli: for, while, do-while» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso C++ Academy, passa a CoddyKit PRO. Il corso C++ Academy include 4 lezioni in totale.
Cosa imparerò in «Strutture dei cicli: for, while, do-while»?
Iteri con le tre forme classiche di ciclo e scelga quella adatta alla situazione Eserciti C++ Academy con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.
Ho bisogno di esperienza per iniziare C++ Academy?
Non è richiesta alcuna esperienza precedente. C++ Academy su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 2 di 4.
Quanto tempo richiede la lezione «Strutture dei cicli: for, while, do-while»?
La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.
Posso scrivere ed eseguire codice in questa lezione C++ Academy?
Sì. Ogni lezione C++ Academy include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.
Tutte le lezioni di questo corso
- Diramazioni: if-else, ternario, switch-case
- Strutture dei cicli: for, while, do-while
- Ciclo for basato su intervallo con i contenitori
- Restituzioni anticipate, break, continue e goto