* * Abbiamo visto il loop for, che permette di eseguire un certo numero di * volte un'istruzione o un blocco di istruzioni. In effetti abbiamo agito * sul normale flusso di esecuzione del programma, facendo tornare indietro * l'esecuzione un certo numero di volte per ripetere le istruzioni. * Impareremo a controllare sempre di piu' il flusso del programma, per * saltare istruzioni a favore di altre, a seconda delle situazioni. * Iniziamo col costrutto IF, che ha la forma: * * if (condizione) istruzione; * * La condizione e' una espressione che puo' risultare vera o falsa, come * abbiamo visto per il for, ad esempio (pippo<10). * "IF" in inglese significa "se", quindi potremmo tradurre in: "se la * condizione e' vera, sara' eseguita l'istruzione, altrimenti no.". * Da notare che l'istruzione viene eseguita se l'espressione una volta * valutata non risulta zero; se invece risulta zero non viene eseguita. * Infatti "pippo>0" numericamente restituisce 0 quando e' falso, ossia * quando pippo non e' maggiore di 0, altrimenti restituisce 1. * Quindi un if(0) non farebbe mai eseguire l'istruzione, mentre un if(1) * la farebbe eseguire sempre. Questo solo per capire la situazione in * termini numerici... naturale che un if che viene sempre eseguito (o mai) * non ha utilita' pratica. * Come primo esempio possiamo fare un programma che stampa un messaggio * solo se una certa variabile e' maggiore di 10. */ #include <stdio.h> /* Includiamo la libreria standard */ main() /* Funzione principale, eseguita per prima */ { /* Inizio della funzione main() */ int pippo; /* Definiamo una variabile intera pippo che servira' * per il costrutto if */ printf("\nDammi il valore per Pippo: "); scanf("%d",&pippo); if (pippo>10) printf("\nPippo e' maggiore di 10\n"); } /* Fine della funzione main() */ /* In questo caso il printf("Pippo e' maggiore di 10") viene eseguito solo * se pippo e' maggiore di 10. */