[C]Il condizionale

Andare in basso

[C]Il condizionale

Messaggio  Admin il Dom Lug 24, 2011 3:34 pm

Una delle cose che ha portato ha una rapida evoluzione dei calcolatori è stata proprio quella di poter decidere in base a un dato, cioè data una condizione di eseguire una azione in base alla verità della condizione.

Apro questo post per poter imparare a manipolare e gestire l'uso del condizionale, in quanto senza quest'ultimo moltissimi programmi non si potrebbero eseguire.

In C il "condizionale" è equivalente alla istruzione if, ecco la sua sintassi:

if (condizione) {
se la condizione è vera esegui queste istruzioni
}

Come si può capire già dallo schema, se la condizione è vera verranno eseguite le istruzioni contenute nel corpo della funzione (cioè le righe in mezzo alle due graffe), e se è falsa nessuna istruzione verrà eseguita.

In parole l'istruzione if si leggerebbe così: se questo è vero esegui queste istruzioni se è falsa esci dalla funzione e non eseguire niente
...ora gli daremo una alternativa, se la condizione è falsa dovrà eseguire altre specifiche istruzioni, qui viene in gioco else.

Esempio in cui deve decidere se due variabili sono uguali se lo so scrive "si" e se non lo sono "no":

1 if (prova1 == prova2) {
2 printf ("Si\n");
3 }
4
5 else printf ("No\n");

Prima di parlare della riga 5, voglio fermarmi sulla 1, perché ci sono due uguali?

In C c'è una differenza tra = e ==.

= è l'operatore di assegnamento cioè serve per assegnare un valore a una variabile, esempio, mettendo il caso delle variabili smartphone e telefono:
smartphone = android
Confondere == con = nell'istruzione if (alle volte) può portare ad un errore logico.

Ora andiamo alla riga 5:

else printf ("No\n");

In quel caso non ho messo delle parentesi graffe perché volevo fargli fare una sola istruzione, ma per fargliene fare di più:

else {
printf ("No\n");
printf ("No....hai torto\n");
}

Ora invece andiamo verso la fine di questo post con l'ultima frontiera degli if: else if.

Else if ecquivale a dire altrimenti, si potrebbe definire così in quanto se la condizione è falsa else if verifica se un'altra condizione è vera:

if (prova1 == prova2) {
printf ("si è vero\n");
}

else if (prova1 < prova2) {
printf ("Maggiori\n");
}

else {
printf ("Niente è vero -.-\n");
printf ("-.-\n");
}

Prima controllerà se la prima condizione è vera se è falsa controlla la secondo se anche questa è falsa esegue else.

Termino "postando" gli if annidati.

Dentro a una istruzione if se ne possono mettere di più di esse, quindi il frammento di codice di prima potrà essere:

if (prova1 == prova2) {
printf ("si è vero\n");
}

else if (prova1 < prova2) {
printf ("Maggiori\n");
}

else {
printf ("Niente è vero -.-\n");
printf ("-.-\n");

if (prova1 != prova2) {
printf ("Questo è vero\n");
}
else printf ("Ho ancora sbagliato....:-(\n");
}

In questa variante ho aggiunto un condizionale nell'else, che controlla che prova1 sià diverso da prova2 (!= sta a dire diverso);

Ciao!
avatar
Admin
Admin
Admin

Messaggi : 148
Punti : 15572
Reputazione : 0
Data d'iscrizione : 24.04.11
Età : 39
Località : Emiglia Romagna

Visualizza il profilo http://c88software.blogspot.com

Torna in alto Andare in basso

Torna in alto


 
Permessi di questa sezione del forum:
Non puoi rispondere agli argomenti in questo forum