La lista completa degli operatori del C è la seguente:
| Assegnamento | |
| NOT logico | |
| Incremento | |
| Decremento | |
| Operatori moltiplicativi(moltiplicazione, divisione,modulo) | |
| Operatori additivi | |
| Operatori di Shift (A destra e sinistra) | |
| Operatori per le diseguaglianze | |
| Uguaglianza e disuguaglianza |
| AND su BIT | |
| ^ | XOR su BIT |
| OR su BIT | |
| Complemento ad uno |
| AND logico | |
| OR logico |
Sono da notare, in particolare, gli operatori ++ e - che permettono di incrementare il valore di una variabile basandosi sull'opportuna istruzione di incremento del proprio processore; in altre parole, giacchè praticamente tutti i processori esistenti definiscono, a livello di linguaggio macchina, un'operazione di incremento; operando nella maniera seguente:
int a = 5; a++; /* 'a' vale adesso 6 */
si ottiene codice sicuramente più "snello" che non il seguente:
int a = 5; a = a + 1; /* 'a' vale adesso 6 */
Tutto ciò conta, fatte salve eventuali opportune ottimizzazioni, che vengono demandate al particolare compilatore; e che, grazie a queste ottimizzazioni, il compilatore potrebbe comunque produrre il medesimo risultato. Rimane peraltro buona norma adoperare le istruzioni unarie di incremento che risultano, in più, di facile lettura e veloce utilizzo.
Analoghe considerazioni valgono per l'operatore - .
Sono inoltre da rimarcare la differenza tra gli operatori
&&e
&validi, il primo come AND logico, l'altro come operatore su bit. Ugualmente dicasi per || e |.
Sono inoltre assolutamente da non confondere l'operatore di assegnamento= con l'operatore di uguaglianza == .
In più si può' usare, per certe espressioni, una notazione abbreviata; anziché scrivere:
a = a +7;si usa correntemente:
a += 7;che agisce allo stesso modo, e evitando di inserire così una seconda volta la variabile a.
Tale sintassi é adoperabile con tutti gli operatori duali, ovvero che agiscono su di una coppia di argomenti.