Il C è un linguaggio di programmazione ad alto livello che integra caratteristiche dei linguaggi di basso livello, come il linguaggio macchina e l’assembly, per questo si usa anche l’espressione “di medio livello”.
Il C è rinomato per la sua efficienza, e si è imposto come linguaggio di riferimento per la realizzazione di software di sistema su gran parte delle piattaforme hardware moderne. La standardizzazione del linguaggio (da parte dell’ANSI prima e dell’ISO poi) garantisce la portabilità dei programmi scritti in C (standard, spesso detto ANSI C) su qualsiasi piattaforma.
Oltre che per il software di sistema, il C è stato a lungo il linguaggio dominante in tutta una serie di altri domini applicativi caratterizzati da forte enfasi sull’efficienza. Esempi tipici sono le telecomunicazioni, il controllo di processi industriali e il software real-time. Oggi il predominio del C in questi contesti è in parte diminuito a seguito dell’avvento di competitor significativi, primo fra tutti il C++.
Il C ha, e continua ad avere, anche una notevole importanza didattica, sebbene, per la sua complessità semantica e per le forti relazioni di tale semantica con il funzionamento dell’hardware dei computer, non si tratti di un linguaggio particolarmente intuitivo per i principianti, e in special modo a quelli sprovvisti di un adeguato background sull’elettronica dei calcolatori. Se un tempo scuole superiori e corsi universitari adottavano il C come linguaggio di riferimento a causa della sua importanza tecnica, oggi questa scelta trova un’ulteriore motivazione nella crescente importanza di linguaggi che dal C derivano (per esempio C++, Java e C# e, per consentire allo studente un approccio iniziale più rapido ed intuitivo, linguaggi ad alto livello come Python).