Ti trovi qui : C » Guida C: Capitolo 3
Guida C: Capitolo 3
IF,ELSE
Nota: i punti e virgola non sono optional.
Un programma deve spesso assumere un comportamento a seconda dei dati immessi dall’utente. Mettiamoci di fronte al caso seguente: l’utente deve inserire la propria età. Se è maggiorenne potrà bere il vino, altrimenti dovrà bere l’acqua.
#include <stdio.h> #define MAGGIORETA 18
void main()
{
int a;
printf (“inserisci la tua eta’ \n”);
scanf (“%d”, &a);
if (a>=MAGGIORETA)
{ printf (“puoi bere il vino\n”);
}
else {
printf (“bevi l’acqua\n”);
}
}
La struttura dell’if è molto semplice. Fra le parentesi tonde si inseriscono le condizioni (una o più di una). Se queste condizioni sono verificate il programma esegue il codice inserito fra le parentesi graffe, altrimenti salta all’else.
Facciamo un altro esempio: l’utente deve inserire la propria età. Se è maggiorenne e ha meno di 95 anni può rinnovare il permesso di rubare ai ricchi per dare ai poveri, altrimenti non può.
#include <stdio.h>
#define MAGGIORETA 18
int main()
{
int a;
printf (“inserisci la tua eta’ \n”);
scanf (“%d”, &a);
if (a>=MAGGIORETA)
{
if (a<95)
{
printf(“puoi rinnovare il permesso di rubare ai ricchi per dare ai poveri\n”);
}else {
printf (“sei troppo vecchio\n”);}
}
else {
printf(“sei troppo giovane”);
}
}
Come vedete ho utilizzato due if annidati. Poiché una forma del genere può risultare pesante, soprattutto con più di due condizioni, il C viene in aiuto nel seguente modo: if (a>=MAGGIORETA && a<95) Cioè inserendo le due condizioni in un unico if. && va inserito quando si vuole che le condizioni si verifichino entrambe, mentre nel caso si vogliano inserire due condizioni, delle quali è sufficiente che se ne verifichi una, bisogna utilizzare || (che vorrebbe dire ‘o’).
Quindi facendo un esempio: mio papà sara contento se passerò fisica o analisi 2. L’esame passato ha valore 1. La condizione sarà:
if (fisica==1 || analisi2==1) { printf (“mio papà è contento”); }
Ovviamente sarebbe meglio passarli entrambi, ma non è materia di questa guida. VIN (very important nota): se vogliamo mettere una condizione di uguaglianza dobbiamo usare ‘==’. Utilizzare un solo = provocherà un assegnamento, e quindi un grosso errore. if (a=2) diventerebbe una condizione che si verifica in ogni caso, a prescindere dai valori precedenti di a.
Faccio notare che il precedente codice poteva essere scritto:
if (fisica!=0 || analisi2!=0) { printf (“mio papà è contento”); }
!= vuol dire diverso.
lunedì, febbraio 8 2010
Taggato come C,Open source,Programmazione
Scritto da mattiem93

La Classifica di Linux Feed
- 1) chimerarevo.com
- 2) linuxfreedomforlive.blogspot.com
- 3) colombom.altervista.org
- 4) hackgeek.it
- 5) arresojas.it
- 6) tuxmind.org
- 7) ealmuno.altervista.org
- 8) linux.billera.eu
- 9) informaniaci.it
- 10) linuxedintorni.org








