Link Search Menu Expand Document

Programmazione in linguaggio C

In questa sezione è trattata la programmazione in linguaggio C. Dopo una lunga riflessione ho scelto di insegnare questo linguaggio come primo linguaggio di programmazione per la sua valenza didattica. Rispetto ad altri linguaggi di programmazione di più “alto livello”, il C costringe il programmatore a concentrarsi, e quindi conoscere, molti meccanismi fondamentali di funzionamento del computer, in questo linguaggio infatti è necessario occuparsi della gestione della memoria e della codifica dei dati in essa, aspetto spesso nascosto almeno parzialmente in altri linguaggi.

Nelle pagine di questa sezione saranno presenti indicazioni riguardanti il processo di installazione dell’ambiente di lavoro, riferimenti a manuali e tutorial esterni e un ricco eserciziario frutto della raccolta di esercizi che ho svolto nelle mie classi per diversi anni. L’eserciziario ha avuto diverse forme nel tempo e finalmente è stato pubblicato online in questa forma affinchè i miei studenti possano usufruirne nel miglior modo possibile.

Gli esercizi sono suddivisi per argomento seguendo un percorso che va dai programmi più semplici a quelli più complessi, guidandoti nell’apprendimento di tutti gli elementi fondamentali della programmazione. Per ogni argomento sono presenti due sezioni, nella prima sono mostrati e spiegati tutti gli elementi di base necessari a padroneggiare l’argomento, mentre nella seconda questi elementi sono riproposti sotto forma di esercizi. Per ogni esercizio viene fornita anche la soluzione in modo da permetterti di affrontare l’argomento con la maggior autonomia possibile.

Il linguaggio C

C è un linguaggio di programmazione ad uso generale di natura imperativa e procedurale creato da Dennis Ritchie negli anni ‘70. Tutt’oggi influente, è largamente adoperato nei sistemi operativi, nei driver e nelle pile di protocolli, mentre è in diminuzione il suo uso nelle applicazioni. C è comunemente usato in architetture che vanno dai più grandi supercalcolatori fino ai minuscoli microcontrollori e sistemi integrati.

Successore del linguaggio B, C fu in origine sviluppato ai Bell Labs da Ritchie tra il 1972 e il 1973 per costruire utilità eseguibili su Unix, e fu subito dopo applicato nella reimplementazione del kernel di quel sistema operativo. Durante gli anni ‘80, C gradualmente crebbe in popolarità, diventando nel terzo millennio uno dei linguaggi più usati in assoluto, con compilatori disponibili per praticamente ogni architettura e sistema operativo moderni. Il libro intitolato The C Programming Language, scritto dal suo creatore insieme a Brian Kernighan, servì per molti anni come lo standard de facto del linguaggio. Dal 1989, C è normato dall’American National Standards Institute (ANSI) e dall’International Organization for Standardization (ISO).

Nel tempo il linguaggio C è evoluto e sono state introdotte diverse revisioni del linguaggio riconosciute dall’ANSI con nomi in codice derivanti dall’anno di introduzione dello standard: C89 (la prima versione standard), C90, C95, C99 (quella che ha portato i maggiori miglioramenti), C11 e C18 (la più recente).

C è un linguaggio procedurale imperativo, che supporta la programmazione strutturata, la visibilità lessicale e la ricorsione, e possiede un sistema di tipi statico. Il linguaggio C permette l’utilizzo a basso livello alla memoria e fornisce costrutti che combaciano efficientemente con le istruzioni del linguaggio macchina. Nonostante le sue capacità a basso livello, il linguaggio è adatto per essere programmato su piattaforme diverse: un programma in C conforme scritto per essere portabile può essere compilato per una vasta gamma di piattaforme con poche variazioni al suo codice sorgente.

A partire dal 2000, C è constantemente classificato tra i primi due linguaggi nell’indice TIOBE, una misura di popolarità dei linguaggi di programmazione.


Table of contents


Dispensa di Informatica per il Liceo Scientifico delle Scienze Applicate - A cura di Francesco Tormene