31.05.2013 Views

Tricky C - Si® @lbert Site

Tricky C - Si® @lbert Site

Tricky C - Si® @lbert Site

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

I programmi C: un primo approccio - 7<br />

I P R O G R A M M I C : U N P R I M O A P P R O C C I O<br />

E' giunto il momento di cominciare ad addentrarsi nei segreti del C. All'approccio tecnico<br />

seguito dalla maggior parte dei manuali sull'argomento, è sembrata preferibile un'esposizione la più<br />

discorsiva possibile (ma non per questo, almeno nelle intenzioni, approssimativa). Le regole sintattiche<br />

saranno presentate sulla base di esempi, semplificati ma comunque realistici. Dedichiamoci dunque al<br />

nostro primo programma in C, un ipotetico CIAO.C:<br />

#include <br />

void main(void);<br />

void main(void)<br />

{<br />

printf("Ciao Ciao!\n");<br />

}<br />

Il programma non è un gran che, ma dalle sue poche righe possiamo già ricavare un certo<br />

numero di informazioni utili.<br />

In C, ogni riga contenente istruzioni o chiamate a funzioni o definizioni di dati si chiude con un<br />

punto e virgola, e costituisce una riga logica. Il punto e virgola segnala al compilatore il termine della riga<br />

logica, in quanto essa può essere suddivisa in più righe fisiche semplicemente andando a capo.<br />

Nello scrivere un programma C si ha molta libertà nel gestire l'estetica del sorgente: il<br />

programma appena visto avrebbe potuto essere scritto così:<br />

#include <br />

void main(void); void main(void) {printf("Ciao Ciao!\n");}<br />

oppure, ad esempio:<br />

#include <br />

void main<br />

(void); void<br />

main(void) {printf("Ciao Ciao!\n");}<br />

Solo la prima riga deve rimanere isolata 11 ; per il resto il compilatore non troverebbe nulla da<br />

ridire, ma forse i nostri poveri occhi sì...<br />

Gli "a capo", gli indent (rientri a sinistra), le righe vuote, sono semplicemente stratagemmi<br />

tipografici ideati per rendere più leggibile il sorgente, e per dare qualche indicazione visiva sulla struttura<br />

logica del programma. Un po' di chiarezza è indispensabile; d'altra parte si tratta ormai di vere e proprie<br />

convenzioni, seguite dalla grande maggioranza dei programmatori C, addirittura codificate in testi ad esse<br />

dedicati. Tuttavia, lo ripetiamo, esse non fanno parte dei vincoli sintattici del linguaggio.<br />

Attenzione: il C è un linguaggio case-sensitive, il cui compilatore, cioè, distingue le maiuscole<br />

dalle minuscole (a differenza, ad esempio, del Basic). E' vero, dunque, che<br />

printf("Ciao Ciao!\n");<br />

potrebbe essere scritta<br />

11 Come da standard ANSI in materia di direttive al preprocessore; ma, per ora, non preoccupiamocene più di<br />

tanto (per qualche esempio di direttiva si può vedere pag. 44 e seguenti).

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!