In questa lezione studieremo i tipi di operatori in linguaggio C.

Gli operatori permettono di ottenere un determinato risultato da un’operazione, che si compie su una o più variabili, all’interno di un programma.

In C gli operatori permettono quindi di compiere delle operazioni basilari, per le funzioni più avanzate ci sono le librerie appositamente create.


Operatore unario, binario, ternario in C

Un operatore si dice unario quando ha questa sintassi:

<operando><operatore>

Si dice binario quando presenta questa sintassi:

Banner Pubblicitario

<operando1><operatore><operando2>

Invece, si dice ternario quando ha questa sintassi:

<operando1><simbolo><operando2><simbolo><operando3>


Corsi Python
Corso su JavaScript

Tipi di operatori in linguaggio C

Analizzeremo adesso i tipi di operatori in linguaggio C.


Operatore di assegnamento

L’operatore di assegnamento si indica con il simbolo = (segno di uguale).

Quindi la sintassi posso indicarla così:

<variabile> = <valore>

Banner pubblicitario

Dove variabile rappresenta in generale un identificatore di variabile, mentre Vvalue rappresenta un’espressione qualunque.

Dunque valore viene assegnata a variabile.

Facciamo un esempio di utilizzo di operatore di assegnamento:

base = 4 assegna alla variabile base il valore 4.

somma = 7 + 5 assegna alla variabile somma il valore 12, cioè la somma di 7 e 5.

lettera = ‘c‘ assegna alla variabile lettera il valore c.

Quindi prima occorre valutare la parte destra valore e poi assegnarla alla parte sinistra variabile.

Dunque a sinistra dell’operatore deve sempre esserci una variabile, a destra può esserci: una costante, una variabile o un’espressione.

Il tipo di dato della variabile a sinistra dell’operatore deve essere identico (o almeno compatibile) con quanto indicato a destra, il compilatore controlla la compatibilità tra i tipi.

In alcune situazioni, si risolve comunque la non compatibilità tramite delle regole di conversione automatica tra i tipi.

Inoltre, la conversione del tipo è indolore se il tipo di dato a destra è inferiore al tipo della variabile a destra dell’operatore.

Pertanto, se la conversione non avviene non è esclusa la perdita di informazione. Ad esempio la conversione di un valore float in un valore int comporta la perdita della parte frazionaria.

Si segue dunque la seguente gerarchia: char < int < float.

Continuiamo la nostra lezione parlando di altri tipi di operatori in C.

Corsi Python
Corso su JavaScript


Operatori aritmetici

Si possono distinguere in operatori unari e operatori binari.

Elenchiamo come prima gli operatori matematici binari:

+ (somma) – addiziona due operandi e concatena due stringhe

(differenza) -sottrae il secondo operando dal primo

/ (divisione) – divide il primo operando per il secondo.

* (moltiplicazione) – moltiplica i due operandi.

% (resto – operatore modulo) – restituisce il resto della divisione tra due operandi.


Facciamo quindi degli esempi:

somma = a + b; //alla variabile somma assegno il risultato di a + b

resto = a % b; //alla variabile resto assegno il resto della divisione di a diviso b.


Gli operatori aritmetici unari si appicano invece ad un solo operando, modificandone il valore.

Ad esempio:

Posti dopo l’operando, quindi come postfissi:

i++; //equivale a scrivere i=i+1;

i–; //equivale a scrivere i=i-1;

Posti prima dell’operando, quindi come prefissi:

++i;

–i;


Facciamo dei semplici esempi:

x = 50;

y = x++;

In questo caso si avrà: y = 50 e x = 51.

Quindi, prima si assegna il valore di x a y e poi si incrementa la x.

Invece se scrivo:

x = 50;

y = ++x;

Prima si incrementa il valore di x e poi si assenga ad y.

In questo caso si avrà: y = 51 e x = 51.

Più avanti parleremo anche di altri tipi di operatori: gli operatori di confronto, gli operatori logici, gli operatori sui bit e gli operatori speciali.

Corsi Python
Corso su JavaScript



Alcuni link utili

Realizzare un menù di scelta in C

Strutture complesse in C

Esercizio sulle struct in C

Typedef struct C

Somma elementi diagonale principale di una matrice

Come sommare gli elementi della cornice esterna

Come sommare due matrici

Matrice trasposta

Prodotto tra matrici

Ricerca elementi in una matrice

Quali metodi per inserire dati in una matrice

Tavola pitagorica in C

Array multidimensionali

Quick sort in C

Selection sort in C

Merge sort in C

Insertion Sort in C