Gli operatori di confronto in C
In C gli operatori di confronto verificano se una relazione tra due operandi è vera o falsa. Pertanto, sono sempre operatori binari e restituiscono un risultato booleano (vero o falso).
Nel linguaggio C gli operatori di confronto sono
- Maggiore (>)
a>b
Verifica se a è maggiore di b. Se vero restituisce true, altrimenti false. - Minore (<)
a<b
Verifica se a è minore di b. Se vero restituisce true, altrimenti false. - Maggiore o uguale (>=)
a>=b
Controlla se a è maggiore o uguale di b. Se vero restituisce true, altrimenti false. - Minore o uguale (<=)
a<=b
Controlla se a è minore o uguale di b. Se vero restituisce true, altrimenti false. - Uguaglianza (==)
a==b
Verifica se a è uguale a b. Se vero restituisce true, altrimenti false. - Non uguaglianza (!=)
a!=b
Controlla se a è diverso da b. Se vero restituisce true, altrimenti false.
La differenza tra == e =. Il doppio simbolo uguale (==) si utilizza soltanto nelle operazioni di confronto. Non va confuso con il singolo simbolo uguale (=) che, invece, si usa soltanto nelle operazioni di assegnazione di un valore a una variabile. Ad esempio, a==0 verifica se la variabile a è uguale a zero. Viceversa a=0 assegna alla variabile a il valore zero.
Un esempio pratico
Questo codice chiede all'utente di digitare un numero.
Poi verifica se il numero digitato è maggiore di zero (x>0).
#include <stdio.h>
int main()
{
int x;
printf("Digita un numero ");
scanf("%d", &x);
if (x>0) {
printf("Numero positivo \n");
}
return 0;
}
Se il numero digitato è maggiore di zero, l'espressione (x>0) è vera (true).
In questo caso il programma stampa il messaggio "Numero positivo". Ecco l'output.
Digita un numero 5
Numero positivo
Viceversa, se il numero è negativo non stampa nulla.
E così via.