Ciao mondo
Con la locuzione “Ciao mondo” ci si riferisce al primo
programma scritto in linguaggio C all'inizio del libro “Il Linguaggio C” degli informatici Brian Kernighan e Dennis Ritchie.
Il programma in questione non fa altro che stampare a video la scritta “Ciao mondo” da cui prende il nome.
Essendo un programma molto semplice da realizzare, viene spesso utilizzato per
introdurre il linguaggio C ai nuovi programmatori e studenti e spiegarne le
caratteristiche principali di questo linguaggio.
Prima di iniziare a
programmare, dobbiamo prima crearci un ambiente adatto per scrivere e far
girare i nostri programmi. La scelta della maggior parte dei programmatori e
dei docenti universitari ricade su un ambiente Linux (anche girato su macchina
virtuale) con il semplice editor di testi GEDIT e il terminale del Sistema
Operativo. Se però non volete cambiare sistema operativo o installarvi una macchina
virtuale, la vostra scelta cadrà sicuramente su programmi specifici. I migliori
sono sicuramente CodeBlocks e Dev-C++ (quest’ultimo verrà mostrato in tutte le
schermate del corso, potete scaricarlo gratuitamente dal Sito Ufficiale).
Questo è il nostro piccolo codice per visualizzare “Hello
word”:
#include<stdio.h>
main()
{
printf("Hello word\n");
system("PAUSE");
return 0;
}
Nella foto potete vedere l’ambiente di Dev-C++: per
iniziare un nuovo progetto basta cliccare “File” -> Nuovo -> File
Sorgente oppure tenere premuto Ctrl + N.
La prima riga del programma (quella in verde) è una “direttiva
al preprocessore”: ovvero comunica al compilatore di andare a leggere un altro file
durante la compilazione del programma. La compilazione è quel processo per cui
dal file Helloword.c (il file di testo) si passerà a Helloword.exe (in windows
sarà un .exe ma in altri sistemi operativi le estensioni dell’eseguibile
risulteranno differenti). Il file <stdio.h> è una libreria, contiene
ovvero alcune funzioni standard messe a disposizione da altri programmatori (come
la printf che andremo a utilizzare). Le librerie sono già incluse nell’installer
di Dev-C++.
main() indica dove inizia il vero programma: prima potreste
voler inserire primitive di funzioni o definizioni di liste (argomenti che
saranno trattati più avanti nel corso).
printf(“”) è una funzione contenuta nella libreria <stdio.h>.
Tutto quello che viene inserito tra le virgolette (quello che vedete in rosso,
per intenderci) sarà stampato a video durante l’esecuzione del programma. \n indica
dove bisogna andare a capo. Ricordatevi di porre il ; alla fine di ogni funzione
per segnalare la fine della funzione, o otterrete degli errori in fase di
compilazione.
system(“PAUSE”) è una funzione che mi sono permesso di
aggiungere io per rendere leggibile l’output del programma: fa comparire a
video la scritta “Premere un tasto per
continuare . . .” e blocca l’esecuzione del programma finché non viene
premuto un qualsiasi tasto. Si tratta di una funzione base di windows, che non
potrete usare su altri sistemi operativi. Senza questa funzione il vostro
programma terminerebbe all’istante e non avreste il tempo di visualizzare l’output.
return 0 indica la fine del programma, che restituisce
come valore 0 (assenza di errori). Vedremo in seguito come utilizzare return
per segnalare errori o per restituire determinati valori alla fine di piccole
funzioni scritte da noi.
Le parentesi graffe {} poste all’inizio e alla fine del
programma possono essere utilizzate (oltre per marcare inizio e fine di un
programma) per segnalare sezioni particolari di codice (negli if o nei Do while,
come vedremo in seguito). Ricordatevi sempre che per ogni parentesi aperta {
deve essercene un’altra chiusa } altrimenti riceverete degli errori in fase di
compilazione.
L’ultima riga (quella azzurra che vedete solo in foto), non fa parte del
programma: si tratta di commenti che potete inserire per spiegare particolari
sezioni di codice o, come ho fatto io, per firmare il vostro programma. Tutto
quello che inserirete nei /* */ verrà ignorato dal compilatore.
A questo punto clicchiamo sul tasto “Compila & Esegui”
(o premiamo F9) e dovremmo avere il seguente output:
Ci siete riusciti? Avete incontrato qualche
difficoltà o avete dei dubbi? Fatemelo sapere nei commenti dell’articolo o
sulla Pagina ufficiale di Nerderia in compagnia.
Sarò lieto di aiutarvi e di risolvere ogni vostro dubbio!
Tutorial a cura di DoomDragon
l'esecuzione riesce perfettamente se non inserisco la funzione system("Pause"); perchè se la inserisco Dev C++ mi restituisce un errore dicendomi che la funzione non è dichiarata..
RispondiEliminaSu che sistema operativo sei?
Eliminasu XP.. e uso l'app citata sopra.. comunque sono riuscito a risolvere, riscrivendola in questa forma..e utilizzando sempre il pause
Elimina#include
using namespace std;
int main() {
cout << "Hello World\n";
system("Pause");
return 0;
}
e stavolta ha funzionato XD
dimenticavo... #include
Eliminasotto il suggerimento di un amico
sul mio computer (e su quelli dell'università) girava come detto nell'articolo, comunque il corso è di programmazione C, forse hai salvato il file come un file C++ e non .c
Eliminail progetto è stato salvato come cpp e il "render" è il semplice exe.. però stranamente con il c++ funge.. mentre con il c# no :|
RispondiEliminaHai provato a salvare il programma descritto nell'articolo in .c direttamente? A farlo identico a quello mostrato nello screen? Mi sembra strano a me ha sempre funzionato così, dovrebbe chiamarsi helloword.c non .cpp
Eliminacosì ha funzionato XD non sapevo che dovevo salvare prima il progetto in tale formato... GOOD.. allora aspetto le prossime uscite XD
Eliminaalla prossima! Lieto di esserti stato utile, credo che queste lezioni avranno cadenza di 1 o 2 a settimana, dipende da con quale frequenza gli altri gestori del blog postano, non vorrei intasare il blog in un solo giorno e lasciarlo vuoto in altre date
EliminaScusa Vincenzo ma secondo me ti sbagli, non dipende ne dal s.o. ne da come viene salvato il file.
RispondiEliminaSemplicemente hai dimenticato di includere la libreria
"stdlib.h" perché system("pause") per l'appunto è una funzione della libreria "stdlib.h".
Così dovrebbe funzionare anche senza prima salvare il progetto come ".c".
No sul mio pc gira normalmente senza includere la stdlib semplicemente se uno lo salva come file C++ e nel codice usa funzioni del C è normale che poi in compilazione dia errore :)
EliminaMi piace
RispondiEliminaGrazie mille, a breve (spero prima di ferragosto) la seconda lezione.
Elimina