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:

SimboloSignificatoEsempio utilizzo
>maggiorea > b
>=maggiore o ugualea >= b
<minorea < b
<=minore o ugualea <= b
==ugualea == b
!=diversoa != 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).

Esempio operatori aritmetici

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

Operatore maggiore (>)

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 (<)

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 (==)

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 (!=).

Indice pagine linguaggio C: