Operatori aritmetici in C

Nel linguaggio C gli operatori aritmetici permettono di eseguire operazioni matematiche basilari quali l’addizione, la sottrazione, la divisione, la moltiplicazione e la divisione con modulo. Ogni tipo di operazione è associata ad un particolare simbolo; nella seguente tabella vengono riportati i principali operatori aritmetici:

OperatoreSimboloEsempio
Addizione+5 + 2 = 7
Sottrazione-32 - 17 = 15
Moltiplicazione*2 * 18 = 36
Divisione intera/16 / 5 = 3
Divisione con modulo%16 % 5 = 1

Le ultime due righe della tabella contengono degli operatori particolari, infatti nel caso di utilizzo con valori interi, la divisione intera restituisce il numero di volte che il dividendo è divisibile per il divisore, ma senza il resto. Mentre nel caso di divisione con modulo (sempre con numeri interi) viene restituito il resto della divisione. Ovviamente queste regole valgono solo nel caso in cui gli operatori vengono usati con numeri interi, infatti con i numeri reali l’operatore di divisione con modulo non esiste in quanto le divisioni contengono anche le parti frazionarie. Di conseguenza, l’esempio della divisione diventerebbe: 16.0 / 5.0 = 3.2.

NOTA: bisogna fare molta attenzione quando si fa uso dell’operazione di divisione, in quanto la divisione tra un numero intero ed un numero reale restituisce un valore reale. Ad esempio, date le seguenti variabili int a=3 e float b=5, il loro rapporto (a/b) non è 0, bensì 0.6. Chiaramente è comunque possibile ottenere un valore intero effettuando l’operazione di casting.

Esempio operatori aritmetici

Nel seguente esempio sono stati riportate alcune operazioni aritmetiche sia con numeri interi che con numeri reali in modo da visualizzare meglio il loro comportamento.


  
#include <stdio.h>

int main(){
    int a = 5;
    int b = 3;
    int c = 12;
    float d = 3;
    float e = 1.5;
    
    int somma_interi = a + b + c;
    int sottr_interi = a - b;
    int molt_interi = b * c;
    int div_interi = c / b;
    
    float somma = a + b + c;
    float sottr = a - e;
    float molt = b * e * d;
    float divisione = a / e;
    
    

    printf("Somma di interi: %d\n", somma_interi);
    printf("Sottrazione tra interi: %d\n", sottr_interi);
    printf("Moltiplicazione tra interi: %d\n", molt_interi);
    printf("Divisione tra interi: %d\n\n", div_interi);
    
    printf("Somma: %f\n", somma);
    printf("Sottrazione: %f\n", sottr);
    printf("Moltiplicazione: %f\n", molt);
    printf("Divisione: %f\n", divisione);

    return 0;
}

----- OUTPUT -----
Somma di interi: 20
Sottrazione tra interi: 2
Moltiplicazione tra interi: 36
Divisione tra interi: 4

Somma: 20.000000
Sottrazione: 3.500000
Moltiplicazione: 13.500000
Divisione: 3.333333

Indice pagine linguaggio C: