0Pricing
C++ Academy · Lezione

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 clearer

break: 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

  1. Diramazioni: if-else, ternario, switch-case
  2. Strutture dei cicli: for, while, do-while
  3. Ciclo for basato su intervallo con i contenitori
  4. Restituzioni anticipate, break, continue e goto
← Torna a C++ Academy