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

Un Abbonamento per Tutti i Software

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

1 anno ago

Software di Magazzino Gratuito

MerciGest è un software per la gestione del magazzino completamente gratuito. Continua a leggere→

1 anno ago

Mettere il PC in Lock Screen

In ufficio può capitare di doversi allontanare dal proprio posto di lavoro, ecco che allora…

3 anni ago

Fare il reset togliendo la corrente

In questo articolo vedremo quando è più o meno utile togliere la corrente ad un…

3 anni ago

Prossimi Aggiornamenti Software

Dopo la pausa invernale dovuta al lavoro che devo fare per sostentarmi, eccomi di nuovo…

3 anni ago

Come Eliminare i Files in Windows

Vediamo come eliminare i files direttamente da Windows senza utilizzare il cestino. Continua a leggere→

4 anni ago