Benvenuti ragazzi, in questa lezione impareremo a fare dei controlli sulle variabili utilizzando il costrutto If-Else.

la sintassi è:

Codice PHP:
if (condizione)
{
codice
}
else
{
codice

L' else non è obbligatorio, praticamente noi diciamo, se la condizione è vera fai questo, altrimenti (else) fai altro, ma se non lo mettiamo il programma va semplicemente avanti leggendo le istruzioni consecutive.

Ma analizziamo un semplice programma:

Codice PHP:
#include <stdio.h>
#include <stdlib.h>

int main()
{
    
int a,b,max;
    
scanf("%d", &a);
    
scanf("%d", &b);
    if (
b)
    {
        
max a;
    }
    else
    {
        
max b;
    }
    
printf("Il maggiore tra i 2 numeri e': %d\n"max);
    
system("pause");
    return 
0;

Benissimo, chiediamo in input all'utente 2 numeri, dopodiché facciamo un controllo, cioè creiamo una condizione che se è vera farà la parte di codice dentro if, se è falsa quella dentro else (o se non ci fosse stato l'else sarebbe andato avanti con le istruzioni dopo).

Le condizioni sfruttano gli operatori di confronto, in C sono:

Operatore Significato
> Maggiore
< Minore
>= Maggiore uguale
<= Minore uguale
== Uguale (con 2 =, poiché un solo = si usa per l'assegnamento a una variabile)
!= Diverso

Ma inoltre si possono fare più condizioni in un if, utilizzando gli operatori logici (AND, OR, XOR, NOT):

Operatore C
AND &&
OR ||
NOT !
XOR ^

Cioè che significa? Vi faccio un esempio:

Codice PHP:
// chiedo in input all'utente un numero e lo memorizzo in a
if (10 && 15)
{
    
printf("Il numero è compreso tra 10 e 15");

Allora, prima controlla se a > 10, è vero? si, allora controlla se a < 15, è vero? si? allora stampa a video, altrimenti va avanti con le istruzioni dopo l'if, o in caso ci fosse un else eseguirebbe le istruzioni dell'else.

Le tabelle di verità degli operatori logici sono:

AND, entrambi devono essere veri per avere una condizione vera:

a b a AND b
0 0 0
0 1 0
1 0 0
1 1 1

OR, uno dei due deve essere vero per avere la condizione vera:

a b a OR b
0 0 0
0 1 1
1 0 1
1 1 1

XOR, gli operatori devono essere diversi per avere la condizione vera:

a b a XOR b
0 0 0
0 1 1
1 0 1
1 1 0

NOT, restituisce il contrario:

a NOT a
0 1
1 0

Ci può essere un if dentro un'altro if, oppure mettere degli if in catena:

if (condizione)
{
if (condizione)
{
}
}
else if (condizione)
{
}

Dove, se la prima condizione è vera, eseguirà il codice dentro essa, e quindi anche il secondo if, altrimenti controllerà la seconda condizione e in caso eseguirà il codice dentro essa, oppure andrà avanti con le istruzioni dopo.

Anche per oggi è tutto, divertitevi .
Un saluto, d23.