ciclo for in C++

Il ciclo for in C++ è un costrutto di controllo iterativo che offre una sintassi compatta e potente per eseguire iterazioni su un insieme di istruzioni un numero definito di volte. La sua struttura è particolarmente adatta quando si conosce esattamente il numero di iterazioni necessarie.

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++

2- Variabili in C++

3- Operatori di assegnazione in C++

4- Esempi in C++

5- Casting in C++

Successione di Fibonacci in C++


2 commenti a “Ciclo for in C++”
  1. 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.

    1. Grazie, gentilissimo per il suggerimento 🙂 in molti esempi l’ho fatto, qui l’ho lasciato perché in basso poi lo spiego.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *