Categories: VC/C++

Cicli e Strutture di Controllo in Visual C/C++

Siamo giunti al quarto appuntamento di questa serie di articoli sul linguaggio C/C++. Oggi parleremo dei cicli iniziando con il for, vediamone la sintassi con un esempio:

// Esempio di ciclo for
#include <stdio.h>
int main(int argc, char* argv[])
{
   for (int i = 0; i < 100; ++i)
      printf("Stampo il numero %d\n", i + 1);

   scanf_s("Premere un tasto per terminare il programma");

   return 0;

}

In pratica abbiamo un contatore che viene inizializzato con un certo valore, la condizione oltre la quale si deve uscire dal ciclo e l’incremento di una unità al contatore. Facciamo lo stesso esempio questa volta utilizzando il ciclo while:

...
int i = 0;
while (i < 100)
{
   printf("Stampo il numero %d\n", i + 1);
   ++i;
}
...

Questa volta utilizzo un while con la condizione e poi incremento la variabile contatore. Possiamo fare la stessa cosa utilizzando un’altra forma:

...

int i = 0;
while (true)
{
   printf("Stampo il numero %d\n", i + 1);
   ++i;
   if (i > 99)
      break;
}
...

Otteniamo lo stesso risultato, in pratica io vi insegno i mattoncini e poi la vostra fantasia ed inventiva deve adeguarsi alle varie situazioni. Vado veloce nella spiegazione dei cicli perchè sono simili ad altri linguaggi e se non conoscete nemmeno il C# vi consiglio di vedere i miei articoli dedicati a questo linguaggio. Vi propongo un ultimo esempio utilizzando questa volta il do:

...
int i = 0;
do
{
   printf("Stampo il numero %d\n", i + 1);
   ++i;
}
while (i < 100);

scanf_s("Premere un tasto per terminare il programma");

return 0;
...

Il break è un comando che consente di uscire da qualsiasi ciclo, mentre continue consente di reinviare il flusso del programma alla prima riga del ciclo.
C’è un’altra struttura di controllo che molti usano, ma io personalmente mai perchè crea codice non lineare e crea confusione ed è indice di poca usabilità, il goto che permette di saltare ad una etichetta:

...
esci: // etichetta
   return 0;

   int i = 0;
   while (true)
   {
      if (i > 100)
         goto esci;

      ++i;
    }

    scanf_s("Premere un tasto per terminare il programma");

    return 0;
...

Ripeto che a me non piace per niente questo modo di programmare, per cui questa sarà l’ultima volta che vedrete il goto nei miei articoli.

<< Lezione Precedente – Inizio CorsoLezione Successiva >>

Share
Giampaolo Rossi

Sviluppatore di software gestionale da oltre 28 anni.

Recent Posts

MerciGest: il gestionale di magazzino semplice e gratuito

MerciGest è il software gestionale gratuito per Windows che semplifica la gestione del magazzino: giacenze,…

4 giorni ago

Software gestionali con SQL Server: un archivio unico, accessibile ovunque

Tutti i nostri software gestionali possono essere collegati a un database SQL Server, consentendo l’accesso…

5 giorni ago

Come iniziare ad usare MerciGest in 5 minuti

MerciGest è semplice e immediato: basta scaricare e installare il programma per iniziare subito. Al…

1 settimana ago

Cos’è MerciGest e a chi serve

MerciGest è un gestionale di magazzino per Windows pensato per negozi, piccole imprese e artigiani…

1 settimana ago

Introduzione alla Standard Template Library (STL)

La Standard Template Library (STL) è una delle componenti più potenti del C++. Fornisce una…

7 mesi ago

Un Abbonamento per Tutti i Software

Sono arrivato alla convinzione che un abbonamento per tutti i miei software gestionali sia il…

2 anni ago