Corsi registrati su
C, C++, Python, JavaScript
Corsi in diretta per la formazione di Front End Developer e Back End Developer
Il ciclo for in C++ è una struttura iterativa, più sofisticata e potente delle precedenti (while e do-while).
Il ciclo for è utilizzato per quelle istruzioni cicliche che devono essere ripetute un numero prestabilito di volte.
Sintassi del ciclo for in C++
for (Espressione1; Espressione2; Espressione3)
Istruzioni;
Dove:
Espressione1 può essere una inizializzazione di variabile o una dichiarazione (vedremo in seguito degli esempi).
Espressione2 è un’espressione booleana, il corpo del ciclo verrà dunque eseguito finché la condizione è vera. Quindi rappresenta il punto di arrivo dell’iterazione.
Espressione3 in genere è un’istruzione di incremento o decremento del contatore.
Istruzioni rappresentano quindi le istruzioni che devono essere eseguite, chiaramente può anche essere un’istruzione singola.
Dopo aver visto la sintassi del ciclo for in C++, facciamo adesso degli esempi pratici.
Esempio 1
Generiamo i numeri da 5 a 100, a step di 5, utilizzando un ciclo for.
Rifacciamo dunque gli esempi visti in precedenza con il ciclo while e il do-while, questa volta utilizzando il for.
#include <iostream>
using namespace std;
int main(){
int n;
for(n=5;n<=100;n+=5){
cout<<n<<endl;
}
return 0;
}
Quindi Espressione1 rappresenta l’inizializzazione della variabile n che poniamo uguale a 5 ed è il primo numero che voglio stampare.
Espressione2 rappresenta il nostro test, quindi finché risulta essere vero il ciclo continua.
Espressione3 rappresenta l’incremento, in questo caso incrementiamo di 5 in quanto ci servono i numeri da 5 a 100.
Inoltre avremmo potuto anche scrivere:
for(int n=5;n<=100;n+=5)
dove la prima espressione rappresenta in questo modo anche una dichiarazione di variabile.
Ricordiamo anche che nel for nessuna espressione è obbligatoria, quindi si può scrivere anche in questo modo:
int n=5;
for(;n<=100;n+=5)
Esempio 2 di ciclo for in C++
Inserire n numeri e sommarli, utilizzando il ciclo for.
Potremmo sviluppare questo algoritmo con il seguente ciclo for:
for(;n>0;n–)
In questo caso la condizione iniziale corrisponde ad n, quindi se ad esempio n=3 farò queste considerazioni:
Espressione1 corrisponde a n=3;
Espressione2 risulta vera in quanto 3 >0 è vera;
Espressione3 decrementa la variabile n di 1.
Quindi quando n non è più maggiore di zero vuol dire che avremo inserito i nostri tre numeri.
Ecco quindi il listato completo del ciclo for in C++ per l’algoritmo della somma di n numeri.
#include <iostream>
using namespace std;
int main(){
int n, numero, somma=0;
cout<<"Quanti numeri? ";
cin>>n;
for(;n>0;n--){
cout<<"Inserisci il numero: ";
cin>>numero;
somma+=numero;
}
cout<<"La somma e': "<<somma;
return 0;
}
In maniera simile possiamo utilizzare una variabile contatore i, che parte da 1 ed arriva ad n.
In questa soluzione sto però utilizzando una variabile in più.
Ecco dunque il listato completo della seconda soluzione all’esempio utilizzando il ciclo for in C++.
#include <iostream>
using namespace std;
int main(){
int n, numero, somma=0;
cout<<"Quanti numeri? ";
cin>>n;
for(int i=0;i<n;i++){
cout<<"Inserisci il numero: ";
cin>>numero;
somma+=numero;
}
cout<<"La somma e': "<<somma;
return 0;
}
Chiaramente questi sono solo dei semplici esempi sul ciclo for in C++, più avanti vedremo tanti altri esercizi.
Alcuni link utili
Indice argomenti linguaggio C++
1- Introduzione al linguaggio C++
3- Operatori di assegnazione in C++
Successione di Fibonacci in C++
Ciao Cristina, complimenti per gli articoli sul C++.
Ho dato un’occhiata agli articoli successivi dove usi il ciclo for e volevo sottolineare che la sua forma più moderna
for (int i = 0; i < n; i++) {
// Qui il corpo del ciclo
}
con la variabile contatore "i" dichiarata e inizializzata direttamente nel ciclo for e perciò visibile solo nel for, è da preferire quando il contatore non serve anche fuori dal ciclo.
Grazie, gentilissimo per il suggerimento 🙂 in molti esempi l’ho fatto, qui l’ho lasciato perché in basso poi lo spiego.