- 1 1. Introduzione
- 2 L’importanza del looping nella programmazione C
- 3 2. Nozioni di base dell’istruzione do while
- 4 3. Quando usare le istruzioni do while
- 5 4. Esempi di codice dell’istruzione do while
- 6 5. Loop infiniti e controllo
- 7 6. Uso di più condizioni in un’istruzione do while
- 8 7. Riepilogo
- 9 8. Esercizi Pratici e Soluzioni di Esempio
- 10 9. Informazioni Correlate e Prossimi Passi
1. Introduzione
L’importanza del looping nella programmazione C
Nella programmazione, il “looping” — ripetere lo stesso processo più volte — è essenziale. In C, le istruzioni for, while e, come trattato in questo articolo, do while sono tutte utilizzate per il looping. Questo articolo si concentra sull’istruzione do while, spiegandone l’uso di base e fornendo esempi pratici.
2. Nozioni di base dell’istruzione do while
Sintassi di base dell’istruzione do while
L’istruzione do while garantisce che il corpo del ciclo venga eseguito almeno una volta. La sintassi è la seguente:
do {
    // Code to execute
} while (condition);
In questa sintassi, il codice all’interno del blocco do viene eseguito per primo, poi la condizione viene valutata. Se la condizione è true, il ciclo si ripete. Se è false, il ciclo termina.
Differenza rispetto all’istruzione while
Con l’istruzione while, la condizione viene controllata per prima, e solo se è true il corpo del ciclo viene eseguito. Al contrario, l’istruzione do while esegue il corpo del ciclo prima di controllare la condizione, quindi viene sempre eseguita almeno una volta.
3. Quando usare le istruzioni do while
Riprova dell’input dell’utente
L’istruzione do while è efficace quando si valida l’input dell’utente. Per esempio, quando si chiede all’utente di inserire una password, è possibile usare un ciclo do while per assicurarsi che il primo inserimento sia corretto. Se l’input è non valido, il codice richiede nuovamente all’utente — è semplice da implementare con do while.
Elaborazione del ciclo di gioco
L’istruzione do while è utile anche nei giochi, dove si desidera ripetere certe azioni finché il giocatore non decide di fermarsi. Ad esempio, è possibile continuare a ciclare finché il giocatore sceglie “Continua il gioco”.
4. Esempi di codice dell’istruzione do while
Esempio base di un’istruzione do while
Ecco un esempio base di come usare un’istruzione do while:
#include <stdio.h>
int main() {
    int i = 0;
    do {
        printf("Count: %dn", i);
        i++;
    } while (i < 5);
    return 0;
}
In questo esempio, il codice all’interno del blocco do viene eseguito per primo, e il ciclo continua finché i è minore di 5. Quindi, vengono stampati i numeri da 0 a 4.
Esempio di input dell’utente
Ecco un esempio in cui il programma continua a ciclare finché l’utente non inserisce un valore entro un intervallo specifico:
#include <stdio.h>
int main() {
    int number;
    do {
        printf("Please enter a number between 1 and 10: ");
        scanf("%d", &number);
    } while (number < 1 || number > 10);
    printf("You entered: %dn", number);
    return 0;
}
In questo codice, se l’utente inserisce un numero fuori dall’intervallo 1‑10, il programma richiederà nuovamente l’input, ripetendo il ciclo finché non viene inserito un numero valido.

5. Loop infiniti e controllo
Creare un loop infinito
È possibile creare un loop infinito con un’istruzione do while facendo in modo che la condizione sia sempre true. Un loop infinito si ripete all’infinito.
do {
    // Code that repeats forever
} while (1);
Come controllare i loop infiniti
Per controllare i loop infiniti, usate le istruzioni break e continue:
- Istruzione break: usata per uscire dal ciclo.
- Istruzione continue: salta il resto del ciclo e avvia l’iterazione successiva.
Ecco un esempio che utilizza break in un loop infinito:
#include <stdio.h>
int main() {
    int count = 0;
    do {
        printf("Loop count: %dn", count);
        count++;
        if (count > 5) {
            break;
        }
    } while (1);
    return 0;
}
In questo codice, l’istruzione break viene attivata quando count supera 5, facendo terminare il ciclo.
6. Uso di più condizioni in un’istruzione do while
Come usare più condizioni
In un’istruzione do while, è possibile combinare più condizioni usando operatori logici come && (AND) e || (OR).
do {
    // Code to execute
} while (condition1 && condition2);
Esempio con condizioni complesse
Il seguente esempio verifica se l’input dell’utente è compreso nell’intervallo da 1 a 100. In caso contrario, richiede nuovamente l’input:
#include <stdio.h>
int main() {
    int number;
    do {
        printf("Please enter a number between 1 and 100: ");
        scanf("%d", &number);
    } while (number < 1 || number > 100);
    printf("You entered: %dn", number);
    return 0;
}
Questo codice continua a chiedere l’input finché il valore inserito non è compreso tra 1 e 100.
7. Riepilogo
L’istruzione do while è utile quando è necessario garantire che il corpo del ciclo venga eseguito almeno una volta. Scegliendo tra while e do while, è possibile scrivere programmi più flessibili. È anche possibile controllare i cicli con break e continue, e usare condizioni multiple per scenari avanzati. Padroneggiare queste tecniche ti aiuterà a gestire i cicli in modo efficace in C.
8. Esercizi Pratici e Soluzioni di Esempio
Problema di Esercizio
Scrivi un programma che chieda all’utente di inserire un intero compreso tra 1 e 10, e continui a richiedere finché non viene fornito un input valido. Quando viene inserito un numero valido, visualizza il suo doppio.
Soluzione di Esempio
#include <stdio.h>
int main() {
    int number;
    do {
        printf("Please enter a number between 1 and 10: ");
        scanf("%d", &number);
    } while (number < 1 || number > 10);
    printf("Double the entered number: %dn", number * 2);
    return 0;
}
Questo esercizio dimostra come utilizzare un ciclo do while per convalidare l’input dell’utente, richiedendo nuovamente in caso di valori fuori intervallo.
9. Informazioni Correlate e Prossimi Passi
Una volta compreso l’istruzione do while, è utile imparare a scegliere tra i diversi tipi di ciclo (for, while, do while). Un altro argomento importante della programmazione in C è “puntatori”. Comprendere i puntatori consente di scrivere programmi ancora più avanzati, quindi considera di approfondirli successivamente.

 
 


