Strutture di controllo

Costrutto if

Note

Il costrutto if è il blocco di controllo più semplice in C. Ecco la sua struttura base:

if (condizione) {
   /* codice da eseguire se la condizione è vera */
}

Nel diagramma, "Vera" significa qualsiasi valore diverso da zero, mentre "Falsa" significa zero. Questo è il comportamento standard in C per le condizioni.

Example
int numero = 5;
if (numero > 0) {
   printf("Il numero è positivo\n");
}

Condizioni

Note

Le condizioni in C utilizzano operatori di confronto che ritornano 0 (falso) o 1 (vero).

/* Operatori di confronto */
int x = 5;
int y = 3;

int risultato = (x == y);    /* Uguaglianza (0) */
int diverso = (x != y);     /* Diversità (1) */
int maggiore = (x > y);     /* Maggiore di (1) */
int minore = (x < y);       /* Minore di (0) */
int maggioreuguale = (x >= y);  /* Maggiore o uguale (1) */
int minoreuguale = (x <= y);    /* Minore o uguale (1) */

Operatori Logici

Note

Gli operatori logici combinano più condizioni.

/* Operatori logici */
int risultato = (x > 0 && y < 10);  /* AND logico (1) */
risultato = (x > 0 || y < 10);       /* OR logico (1) */
risultato = !(x == y);               /* NOT logico (1) */

Costrutto if-else

Note

Il costrutto if-else permette di eseguire un blocco di codice alternativo quando la condizione è falsa:

if (condizione) {
   /* codice da eseguire se la condizione è vera */
} else {
   /* codice da eseguire se la condizione è falsa */
}
Example
int numero = 5;
if (numero > 0) {
   printf("Il numero è positivo\n");
} else {
   printf("Il numero è negativo o zero\n");
}

Costrutto if-else if

Note

Per controllare più condizioni sequenzialmente:

if (condizione1) {
   /* codice da eseguire se condizione1 è vera */
} else if (condizione2) {
   /* codice da eseguire se condizione1 è falsa e condizione2 è vera */
} else {
   /* codice da eseguire se tutte le condizioni sono false */
}
Example
int numero = 5;
if (numero > 0) {
   printf("Il numero è positivo\n");
} else if (numero == 0) {
   printf("Il numero è zero\n");
} else {
   printf("Il numero è negativo\n");
}

Costrutto Switch

Note

Il costrutto switch è una struttura di controllo che permette di eseguire uno dei molti blocchi di codice in base al valore di un'espressione. È particolarmente utile quando si devono gestire molte condizioni diverse su un singolo valore.

switch (espressione) {
   case valore1:
       /* codice da eseguire per valore1 */
       break;
   case valore2:
       /* codice da eseguire per valore2 */
       break;
   default:
       /* codice da eseguire se nessun caso corrisponde */
       break;
}
Example
int giorno = 2;

switch (giorno) {
   case 1:
       printf("Lunedì\n");
       break;
   case 2:
       printf("Martedì\n");
       break;
   case 3:
       printf("Mercoledì\n");
       break;
   case 4:
       printf("Giovedì\n");
       break;
   case 5:
       printf("Venerdì\n");
       break;
   case 6:
       printf("Sabato\n");
       break;
   case 7:
       printf("Domenica\n");
       break;
   default:
       printf("Giorno non valido\n");
       break;
}