AD

Operatori di confronto in C

Nel linguaggio C gli operatori di confronto permettono di verificare determinate condizioni poste tra due operandi, nello specifico si trattano di operatori binari, pertanto restituiscono valori booleani, ovvero true se la condizione è verificata o false se non è verificata.

Nella seguente tabella vengono riportati i principali operatori di confronto in C, riportando i loro simboli, i loro significati ed un esempio di utilizzo:

Simbolo

Significato

Esempio utilizzo

>

maggiore

a > b

>=

maggiore o uguale

a >= b

<

minore

a < b

<=

minore o uguale

a <= b

==

uguale

a == b

!=

diverso

a != b

Nota: il simbolo di uguaglianza (==) non va confuso con il simbolo dell’operatore di assegnamento (=), infatti, se il primo viene utilizzato soltanto nelle operazioni di confronto, l’operatore di assegnamento viene usato per assegnare un valore ad una variabile. Ovvero, da non confondere tra a == b (operatore di uguaglianza) e a = b (operatore di assegnamento).

Di seguito vengono riportati esempi per ciascuno degli operatori di confronto:

Operatore maggiore in C (>)

Nel seguente esempio chiediamo all’utente di inserire la sua età e se tale valore è maggiore di 17, verrà stampato a video il messaggio “Sei maggiorenne!”, altrimenti verrà stampato “Sei minorenne!”.

#include <stdio.h> int main(){ int anni; printf("Inserisci la tua eta': "); scanf("%d", &anni); if(anni > 17){ printf("Sei maggiorenne!"); } else { printf("Sei minorenne!"); } return 0; }

All’interno dell’istruzione if, invece di scrivere anni>17 è possibile utilizzare l’operatore maggiore o uguale, anni>=18, per ottenere lo stesso risultato finale.

Operatore minore in C (<)

Con l’operatore minore è possibile riscrivere il codice dell’esempio precedente invertendo l’ordine delle istruzioni if else.

Ma consideriamo il seguente esempio, in cui viene chiesto all’utente di inserire un numero e se tale valore è minore di un certo limite il numero viene accettato altrimenti viene scartato.

#include <stdio.h> int main(){ float limite = 10, num; printf("Inserisci un numero qualsiasi: "); scanf("%f", &num); if(num < limite){ printf("Numero accettato!"); } return 0; }

Operatore di uguaglianza in C (==)

Nel seguente esempio verifichiamo semplicemente se due variabili contengono lo stesso valore.

#include <stdio.h> int main(){ int a = 5; int b = 5; if(a == b) printf("uguali"); else printf("diversi"); return 0; }

Lo stesso risultato può essere ottenuto usando l’operatore di disuguaglianza (!=).