English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Cicli while e do...while in C

In questa lezione, imparerai a creare cicli while e do ... while nel programming in C con l'aiuto di esempi.

Nel programming, i cicli vengono utilizzati per ripetere un blocco di codice fino a quando non si soddisfa una condizione specificata.

La programmazione in C ha tre tipi di cicli.

  1. Ciclo for

  2. Ciclo while

  3. Ciclo do... while

Nella lezione precedente, abbiamo imparato il ciclo for. In questa lezione, impareremo i cicli while e do..while.

Ciclo while

La sintassi del ciclo while è:

while (testExpression) 
{
    // Istruzioni nel corpo del ciclo 
}

Come funziona un ciclo while?

  • Il ciclo while calcola l'espressione di test (testExpression) tra parentesi.

  • Se l'espressione di test (testExpression) è true, esegui le istruzioni nel corpo del ciclo while. Poi, valuta nuovamente l'espressione di test (testExpression).

  • Questo processo continua fino a quando l'espressione di test (testExpression) viene valutata come false.

  • Se l'espressione di test è falsa (false), il ciclo termina (si conclude).

Per ulteriori informazioni sull'espressione di test (quando l'espressione di test viene valutata come true e false), vedereRelazionaleOperatoreeOperatore logico.

Diagramma di flusso del ciclo while

Esempio 1: ciclo while

//Stampa i numeri da 1 a 5
#include <stdio.h>
int main()
{
    int i = 1;
    
    while(i <= 5)
    {
        printf("%d\n", i);
        ++i;
    }
    return 0;
}

输出结果

1
2
3
4
5

In questo caso, abbiamo inizializzato i a 1.

  1. Quando i è 1, l'espressione di test i <= 5 è vera. Pertanto, viene eseguito il corpo del ciclo while. Verrà stampato 1 e il valore di i sarà aumentato a 2.

  2. Ora i è 2, l'espressione di test i <= 5 diventa di nuovo vera. Il corpo del ciclo while verrà eseguito di nuovo. Verrà stampato 2 e il valore di i sarà aumentato a 3.

  3. Questo processo continua fino a quando i è 6, quando l'espressione di test i <= 5 diventa falsa, il ciclo termina.

Ciclo do...while

Il ciclo do..while è simile al ciclo while, ma c'è una differenza importante.Il corpo del ciclo do...while viene eseguito almeno una volta. Dopo l'esecuzione, viene valutata l'espressione di test.

La sintassi del ciclo do...while è:

do
{
   //Frasi nel corpo del ciclo
}
while(testExpression);

Come funziona il ciclo do...while?

  • Il corpo del ciclo do...while viene eseguito una volta. Solo dopo questa esecuzione, viene valutata l'espressione di test.

  • Se l'espressione di test (testExpression) è vera, viene eseguito nuovamente il corpo del ciclo e valutata l'espressione di test (testExpression).

  • Questo processo continua fino a quando l'espressione di test diventa falsa.

  • Se l'espressione di test è falsa, il ciclo termina.

Diagramma di flusso del ciclo do...while

Esempio 2: ciclo do...while

//Il programma aggiunge numeri fino a quando l'utente inserisce zero
#include <stdio.h>
int main()
{
    double number, sum = 0;
    //Il corpo del ciclo deve essere eseguito almeno una volta
    do
    {
        printf("Inserisci un numero: ");
        scanf("%lf", &number);
        sum += number;
    }
    while(number != 0.0);
    printf("总和 = %.2lf",sum);
    return 0;
}

输出结果

输入一个数字: 1.5
输入一个数字: 2.4
输入一个数字: -3.4
输入一个数字: 4.2
输入一个数字: 0
总和 = 4.70