Introduzione al linguaggio C

In informatica, il linguaggio C viene definito come un linguaggio di programmazione di alto livello, sviluppato e realizzato da Dennis Ritchie presso i Bell Labs della AT&T tra il 1969 e il 1973 con lo scopo di utilizzarlo per lo sviluppo del sistema operativo UNIX.

Nonostante venga definito come un linguaggio di programmazione di alto livello, integra molti concetti di linguaggi di basso livello, come l’utilizzo di numeri, caratteri e indirizzi.

Caratteristiche generali del linguaggio C

  • Il C è un linguaggio di programmazione imperativo di natura procedurale, che permette una notazione molto compatta ed efficace.

  • è general purpose, cioè adatto a molti impieghi e non specializzato per particolari esigenze.

  • è portabile su molte architetture differenti

  • permette un controllo elevato sulla memoria della macchina, consentendo di ottimizzare il codice

  • la sua sintassi è versatile e permette di scrivere istruzioni complesse in poche righe di codice

  • è un linguaggio case sensitive, cioè distingue tra lettere minuscole e maiuscole

Struttura generale di un programma in C

Un programma scritto in C per poter essere eseguito correttamente deve contenere delle sezioni fondamentali, in particolare deve:

  • esistere una sezione contenente le direttive per il compilatore

  • esistere la funzione principale main()

/* Direttive per il compilatore */ int main(){ /* Corpo del programma */ }

Nella parte delle direttive per il compilatore vengono definite le direttive di compilazione, cioè istruzioni particolari che cominciano con il simbolo del cancelletto # e vengono eseguite dal preprocessore. Esse permettono di effettuare delle operazioni sul codice sorgente prima che venga eseguito dal compilatore.

Le direttive possono essere inserite, ad esempio, per includere librerie attraverso la direttiva #include, oppure per definire una macro tramite la direttive #define.

NOTA: è fondamentale inserire le direttive alle prime righe del codice sorgente del programma

La funzione main() è obbligatoria, perché il compilatore inizia l’esecuzione del programma proprio da questa funzione. Tutta la parte contenuta tra le parentesi graffe { } viene chiamata corpo del programma e all’interno di esso possono trovarsi numerose istruzioni che verranno eseguite sequenzialmente una dopo l’altra.

Esempio di programma in C

Consideriamo il seguente programma:

#include <stdio.h> int main(){ printf("Hello world!"); }

Si tratta di un semplice programma che stampa a video la scritta ‘Hello world!’ tramite l'istruzione printf. Però per poter utilizzare tale istruzione dobbiamo includere nel nostro programma la libreria o file in cui quella istruzione è contenuta, e per far ciò utilizziamo la direttiva #include seguita dal nome del file (stdio.h, che sta per standard input output) racchiuso tra i simboli < >.