In questo articolo, impareremo il ciclo for in C # e i diversi modi per usarli in un programma.
Nella programmazione, spesso si desidera eseguire determinati blocchi di istruzioni per un numero di volte specificato. Una possibile soluzione sarà digitare quelle istruzioni per il numero di volte richiesto. Tuttavia, il numero di ripetizioni potrebbe non essere noto in anticipo (durante la compilazione) o forse abbastanza grande (diciamo 10000).
La migliore soluzione a questo problema è il loop. I cicli vengono utilizzati nella programmazione per eseguire ripetutamente un determinato blocco di istruzioni finché non viene soddisfatta una determinata condizione.
In questo articolo, esamineremo il ciclo for in C #.
C # per ciclo
La parola chiave for viene utilizzata per creare un ciclo for in C #. La sintassi per il ciclo for è:
for (inizializzazione; condizione; iteratore) (// corpo del ciclo for)
Come funziona il ciclo for?
- C # per il ciclo ha tre dichiarazioni:
initialization
,condition
eiterator
. - L'
initialization
istruzione viene eseguita all'inizio e solo una volta. Qui, la variabile viene solitamente dichiarata e inizializzata. - Quindi,
condition
viene valutato. Ècondition
un'espressione booleana, ovvero restituisce otrue
ofalse
. - Se
condition
viene valutato atrue
:- Le istruzioni all'interno del ciclo for vengono eseguite.
- Quindi,
iterator
viene eseguita l' istruzione che di solito cambia il valore della variabile inizializzata. - Anche in questo caso
condition
viene valutato. - Il processo continua finché non
condition
viene valutato afalse
.
- Se
condition
viene valutato afalse
, il ciclo for termina.
per il diagramma di flusso del ciclo
Esempio 1: C # for Loop
using System; namespace Loop ( class ForLoop ( public static void Main(string() args) ( for (int i=1; i<=5; i++) ( Console.WriteLine("C# For Loop: Iteration (0)", i); ) ) ) )
Quando eseguiamo il programma, l'output sarà:
C # Ciclo For: Iterazione 1 C # Ciclo For: Iterazione 2 C # Ciclo For: Iterazione 3 C # Ciclo For: Iterazione 4 C # Ciclo For: Iterazione 5
In questo programma,
initialization
dichiarazione èint i=1
condition
dichiarazione èi<=5
iterator
dichiarazione èi++
Quando il programma viene eseguito,
- Innanzitutto, la variabile i viene dichiarata e inizializzata a 1.
- Quindi,
i<=5
viene valutata la condizione ( ). - Poiché la condizione ritorna
true
, il programma esegue quindi il corpo del ciclo for. Stampa la riga data con Iterazione 1 (Iterazione significa semplicemente ripetizione). - Ora
i++
viene valutato l'iteratore ( ). Questo incrementa il valore di i a 2. - La condizione (
i<=5
) viene rivalutata e alla fine il valore di i viene incrementato di 1. La condizione restituiràtrue
per le prime 5 volte. - Quando il valore di i sarà 6 e la condizione sarà
false
, quindi il ciclo terminerà.
Esempio 2: ciclo for per calcolare la somma dei primi n numeri naturali
using System; namespace Loop ( class ForLoop ( public static void Main(string() args) ( int n = 5,sum = 0; for (int i=1; i<=n; i++) ( // sum = sum + i; sum += i; ) Console.WriteLine("Sum of first (0) natural numbers = (1)", n, sum); ) ) )
Quando eseguiamo il programma, l'output sarà:
Somma dei primi 5 numeri naturali = 15
Qui, il valore di sum e n sono inizializzati rispettivamente a 0 e 5. La variabile di iterazione i viene inizializzata a 1 e incrementata a ogni iterazione.
All'interno del ciclo for, il valore di sum viene incrementato di i ie sum = sum + i
. Il ciclo for continua finché i è minore o uguale a n (input dell'utente).
Vediamo cosa succede nel programma dato ad ogni iterazione.
Inizialmente, i = 1, somma = 0 en = 3
Per i passaggi di esecuzione del cicloIterazione | Valore di i | io <= 5 | Valore della somma |
---|---|---|---|
1 | 1 | vero | 0 + 1 = 1 |
2 | 2 | vero | 1 + 2 = 3 |
3 | 3 | vero | 3 + 3 = 6 |
4 | 4 | vero | 6 + 4 = 10 |
5 | 5 | vero | 10 + 5 = 15 |
6 | 6 | falso | Il ciclo termina |
Quindi, il valore finale della somma sarà 15 quando n = 5.
Espressioni multiple all'interno di un ciclo for
Possiamo anche usare più espressioni all'interno di un ciclo for. Significa che possiamo avere più di una dichiarazione di inizializzazione e / o iteratore all'interno di un ciclo for. Vediamo l'esempio di seguito.
Esempio 3: ciclo for con inizializzazione multipla ed espressioni iteratori
using System; namespace Loop ( class ForLoop ( public static void Main(string() args) ( for (int i=0, j=0; i+j<=5; i++, j++) ( Console.WriteLine("i = (0) and j = (1)", i,j); ) ) ) )
Quando eseguiamo il programma, l'output sarà:
i = 0 e j = 0 i = 1 e j = 1 i = 2 e j = 2
In questo programma, abbiamo dichiarato e inizializzato due variabili: i e j nell'istruzione di inizializzazione.
Inoltre, abbiamo due espressioni nella parte iteratore. Ciò significa che sia i che j vengono incrementati di 1 ad ogni iterazione.
Ciclo For senza inizializzazione e istruzioni iteratore
The initialization, condition and the iterator statement are optional in a for loop. It means we can run a for loop without these statements as well.
In such cases, for loop acts as a while loop. Let's see the example below.
Example 4: for loop without initialization and iterator statement
using System; namespace Loop ( class ForLoop ( public static void Main(string() args) ( int i = 1; for ( ; i<=5; ) ( Console.WriteLine("C# For Loop: Iteration (0)", i); i++; ) ) ) )
When we run the program, the output will be:
C# For Loop: Iteration 1 C# For Loop: Iteration 2 C# For Loop: Iteration 3 C# For Loop: Iteration 4 C# For Loop: Iteration 5
In this example, we haven't used the initialization and iterator statement.
The variable i is initialized above the for loop and its value is incremented inside the body of loop. This program is same as the one in Example 1.
Allo stesso modo, la condizione è anche un'istruzione opzionale. Tuttavia, se non usiamo l'espressione di test, il ciclo for non testerà alcuna condizione e verrà eseguito per sempre (ciclo infinito).
Infinito per loop
Se la condizione in un ciclo for è sempre vera, il ciclo for verrà eseguito per sempre. Questo è chiamato ciclo infinito per.
Esempio 5: ciclo for infinito
using System; namespace Loop ( class ForLoop ( public static void Main(string() args) ( for (int i=1 ; i>0; i++) ( Console.WriteLine("C# For Loop: Iteration (0)", i); ) ) ) )
Qui, i è inizializzato su 1 e la condizione è i>0
. Ad ogni iterazione stiamo incrementando il valore di i di 1, quindi la condizione non sarà mai false
. Ciò farà sì che il ciclo venga eseguito all'infinito.
Possiamo anche creare un ciclo infinito sostituendo la condizione con uno spazio vuoto. Per esempio,
for (;;) (// corpo del ciclo for)
o
for (inizializzazione;; iteratore) (// corpo del ciclo for)