In questa lezione inizieremo a concentrarci sulla programmazione in C vera e propria.
L'impostazione che intendiamo seguire è quella di spiegare i concetti "per esempi". Perciò può capitare che per spiegare un concetto si deve fare ricorso a costrutti, o istruzioni che verranno spiegate solo nelle lezioni successive. Niente paura quindi se a volte alcune cose sembreranno poco chiare, tutto sarà comunque spiegato.
Hello World, in C
Il primo programma in C, il più semplice in assoluto è il famoso "Hello World!" (Ciao Mondo) che ha soltanto lo scopo di stampare a video la scritta per spiegare la sintassi basilare del linguaggio.
#include <stdio.h>
main ()
{
printf("Hello World!");
}
Proviamo a confrontare questo semplice programma con programmi che fanno lo stesso in altri linguaggi.
Hello world in Pascal:
program main;
begin
writeln('Hello World!');
end.
Hello world in C++:
#include <iostream.h>
main()
{
cout << "Hello World!";
}
Hello world in Java:
class Saluto {
public static void main(String args[]) {
System.out.println("Hello World!");
}
}
Ecco le differenze più evidenti:
- Il C è completamente diverso dal Pascal, perché ha una logica molto più pratica, ad esempio non dobbiamo dichiarare ogni variabile fuori dal programma prima di usarla;
- in C++, a differenza del C, si hanno a disposizione comandi alternativi e costrutti di nuova concezione, sia come nomi che come sintassi;
- a differenza di Java, in C non bisogna effettuare una miriade di dichiarazioni prima di poter scrivere il programma e non sono costretto a seguire delle regole rigide per strutturare un programma (in Java c'è un forte controllo sui tipi, lo si può evincere anche dal codice proposto, in cui la funzione main deve essere "esplicitamente" dichiarata pubblica, statica e
void
, ed inoltre devono essere messi gli argomenti della funzione -args[]
- anche se all'interno del codice questi non vengono utilizzati).
Programma di esempio
Da questa lezione in poi inseriremo, in fondo, alcuni pezzi di codice commentati relativi ad un più ampio programma di esempio, che ci accompagnerà lungo tutta la guida. Gli esempi saranno pertinenti alla lezione e serviranno al lettore per inquadrare gli argomenti trattati in una visione più ampia. Le righe di codice sono numerate per avere riferimenti nel listato completo. Si lascia al lettore la possibilità di approfondire le parti di codice presentate. Lo studio del codice di esempio è facoltativo e non pregiudica la compresione della guida.