Guida di C (base)

Introduzione

Il C è un linguaggio di programmazione creato negli anni '70 da Dennis Ritchie (ricercatore nei Bell Labs, laboratori dell'americana AT&T) per avere uno strumento adatto allo sviluppo del sistema operativo UNIX (che, tra parentesi, ricordiamo per essere il precursore di Mac OSX e GNU/Linux, che usiamo ancora oggi).

Uno strumento del genere, da un lato, doveva essere abbastanza ordinato e “umano” (non si può programmare un sistema operativo con un linguaggio incomprensibile!) e, dall'altro, doveva essere in grado di eseguire, nel modo più efficace possibile (altrimenti il sistema diventa lento...), operazioni mirate alla macchina, come potevano essere quelle fatte con l'Assembly (→Programmare i computers).

Questa è la caratteristica che distingue il C ancora oggi: una sintassi simile ai linguaggi ad alto livello, ma con velocità e potenza simili a quelle dei linguaggi di basso livello.

Per questo di solito i programmi C...

  • occupano generalmente meno spazio di altri e girano più velocemente.
  • vanno scritti con molta precisione e attenzione: avere il pieno controllo della macchina significa anche, se non si sta attenti, poter combinare grossi guai (ma in questa guida non ne avremo occasione ;-) )... 
  • devono essere dettagliati in ogni particolare: non si pensi che in breve tempo, si possano far comparire magicamente finestre, icone e menu... All'inizio è molto più probabile che “per magia” compaiano solo errori su cui sbattere la testa...

Non tutti consigliano il C come primo linguaggio da imparare; alcuni sostengono che sia meglio partire con qualcosa di più semplice come Python, gli appassionati della programmazione a oggetti invece spesso consigliano Java. Personalmente credo che il C sia un'ottima scelta, prima di tutto perchè, come vedremo nei prossimi capitoli, non si tratta affatto di un linguaggio difficile da imparare. E poi perchè imparare il C porta a comprendere i meccanismi fondamentali che stanno dietro a tutti i programmi per computer, rendendo quindi più facile "capire" anche tutti gli altri linguaggi di programmazione, che di solito questi meccanismi tendono a nasconderli per semplicità.

Eseguire un programma C

Il C è un linguaggio compilato, per questo, quello che faremo quando andremo a scrivere un programma sarà:

Codice sorgente > compilazione > file eseguibile

Il codice sorgente è il “testo” vero e proprio, che il programmatore scrive nel suo linguaggio preferito (che in questo caso è il C), contenente le istruzioni che il programma andrà ad eseguire.

La compilazione è il processo di trasformazione del codice sorgente in file eseguibile; ovvero il sorgente, scritto in un linguaggio comprensibile all'essere umano (il C), viene tradotto in linguaggio macchina, comprensibile dal computer.
È interessante notare che qualsiasi sorgente può essere tradotto in linguaggio macchina, mentre estremamente più complessa è l'operazione contraria, ovvero la ricostruzione del sorgente a partire dal file eseguibile.

Il file eseguibile è infine il programma vero e proprio, in linguaggio macchina, che può essere lanciato dall'utente (come i files .exe in Windows)

  1. Introduzione
  2. Preparare l'ambiente
  3. Il primo programma
  4. La funzione printf()
  5. Le variabili
  6. Input da tastiera
  7. Esecuzione condizionale: if
  8. Cicli
  9. Esempi
  10. Bibliografia