In questo tutorial ci proponiamo come obiettivo quello di imparare a programmare in uno dei linguaggi più famosi ed utilizzati al mondo, il C.
Tra tanti motivi per cui, ad oggi, è fondamentale studiare il C è il fatto che esistono già svariate migliaia di righe di codice scritte che permettono di risolvere quasi tutti i problemi legati alla programmazione (algoritmi, strutture, ecc.). Il C è un linguaggio che permette di salvare i valori in variabili, di strutturare il codice, di manipolare il flusso di esecuzione del programma utilizzando istruzioni di ciclo, istruzioni condizionali e funzioni, di eseguire operazioni di input/output a video o su file, di salvare dati in array o strutture.
Programmi compilati ed interpretati
Il primo passo dello sviluppo di un programma si ottiene scrivendo il codice sorgente in un determinato linguaggio rispettando la sintassi del linguaggio stesso. La differenza tra un programma compilato ed interpretato è molto importante ed influisce sia sulle prestazioni che sulle possibilità del linguaggio stesso.
Linguaggi come il C, C++, Delphi, Visual Basic sono linguaggi compilati, ciò vuol dire che il codice sorgente viene scritto in un ambiente di sviluppo (IDE) che ne facilita la creazione, dopodichè viene controllato per verificarne la correttezza, poi viene compilato, ovvero ogni istruzione viene trasformata nel corrispondente codice in linguaggio macchina che può essere, così, eseguito dal processore; questi sono i linguaggi compilati che vengono detti anche linguaggi imperativi, ed hanno il vantaggio di prestazioni migliori.
I linguaggi interpretati, invece, seguono una strada diversa, il codice sorgente viene interpretato in tempo reale e vengono eseguite le istruzioni così come descritte nel codice sorgente; un esempio su tutti è il PHP il cui codice viene “elaborato” e restituisce una pagina html. Il vantaggio di questo genere di linguaggi è l’alta portabilità e l’immediatezza tra quello che scriviamo e quello che viene presentato all’esecuzione del programma, ma rimangono dei problemi come la ricerca di errori nel codice sorgente o il carico di lavoro maggiore per il processore (che ogni volta deve elaborare la pagina).
Caratteristiche del C
- Dimensioni del codice ridotte – Il codice sorgente di un programma in C ha un peso relativamente piccolo, in questo modo risulta molto agevole trasportare il codice da un PC ad un altro.
- Dimensioni dell’eseguibile ridotte – Anche un programma compilato risulta molto piccolo e quindi di più facile diffusione; attenzione però, un programma in C potrà essere eseguito solamente sul medesimo Sistema Operativo per cui è stato compilato.
- Efficienza dei programmi – Un programma scritto in C, proprio per la possibilità messa a disposizione dal linguaggio di gestire a fondo la memoria, e per le sue dimensioni ridotte, risulta particolarmente efficiente.
- Può essere compilato su una vasta gamma di computer – Ogni computer si differenzia dagli altri per almeno due parametri, l’architettura ed il sistema operativo; ad esempio un computer con processore x64 e Windows ha delle istruzioni macchina ed una gestione della memoria diverse da uno Sparc con Linux, però un programma scritto in C può essere compilato su ambedue le macchine, data l’alta disponibilità di compilatori per diverse piattaforme.
- E’ un linguaggio di alto livello – Un linguaggio di programmazione viene definito di alto livello tanto più si avvicina al linguaggio naturale, inversamente si dice che un linguaggio è di basso livello se il suo codice si avvicina al linguaggio macchina (010001100); tipico esempio di linguaggio a basso livello è l’Assembly, mentre linguaggi ad alto livello sono, oltre al C, il C++, il Java e molti altri. Il vantaggio dei linguaggi ad alto livello è quella di avere una sintassi semplice in cui si usano parole della lingua inglese per descrivere comandi corrispondenti a decine di istruzioni in assembly o centinaia di istruzioni in linguaggio macchina.
- Può maneggiare attività di basso livello – Il C è considerato il linguaggio di più basso livello tra i linguaggi di alto livello. Questo è dovuto al fatto che dispone di un numero ristretto di istruzioni, gestisce in maniera efficiente la memoria ed è possibile inserire direttamente all’ interno di un file in C del codice Assembly.
- Implementazione dei puntatori – Il C fa un largo uso di puntatori per le operazioni riguardanti la memoria, gli array, le strutture e le funzioni.
N.B. Sarà omessa la trattazione dell’istruzione goto, questo perché è un’istruzione poco utilizzata e può portare ad imparare uno stile di programmazione poco chiaro e facilmente soggetto ad errori; tutte le nozioni fornite nei seguenti tutorial permettono di risolvere tutti i problemi risolvibili con un goto in modo più elegante e più corretto.
Il primo programma in C
Per convenzione il primo programma da implementare in un determinato linguaggio è l’ Hello world!. Esso consiste nel far uscire a schermo una scritta del tipo Hello world!, per poi terminare il programma. Vediamo nella pratica come realizzare ciò:
Il risultato di questa manciata di righe è la seguente:
Nel prossimo articolo parleremo delle Variabili e tipi di dati nel C.
Stai cercando altre guide? Allora dai uno sguardo alla nostra raccolta dedicata alla Programmazione C.
Alla prossima!
0 Comments