Spagnolo Inglese
11358 Users    

Programmare in C: Che cosa è il C e come si programma in C

  Download in PDF
Guida C

Guida completa al C, per imparare a programmare di tutto in un linguaggio universale! Il linguaggio di programmazione C è un linguaggio di programmazione molto noto e ampiamente utilizzato per creare programmi per computer.

In tutto il mondo i programmatori adottano il C come linguaggio di programmazione perché consente di ottenere il massimo controllo e la massima efficienza. Questa animazione mostra l'esecuzione di un semplice programma C. Leggendo questo articolo fino alla fine capirete come funziona!

Se siete programmatori, o se siete interessati a diventare programmatori, acquisirete almeno un paio di vantaggi imparando a programmare in C:

    • sarete capaci di leggere e scrivere codice per un ampio numero di piattaforme – praticamente tutto dai microcontrollori ai sistemi scientifici più avanzati può essere scritto in C. Anche molti sistemi operativi moderni sono scritti in C.

    • Passare al linguaggio C++, orientato agli oggetti, diventa più facile. C++ è un'estensione del C, ed è praticamente impossibile imparare il C++ senza imparare prima il C.

    In questo articolo, analizzeremo l'intero linguaggio C per mostrarvi come diventare un programmatore C, proprio partendo dai fondamentali. Sarete incredibilmente sorpresi dalle quantità di cose che potrete create una volta che avrete imparato il linguaggio C.

Il C è un linguaggio di programmazione. Ciò significa che potete usare il C per creare elenchi di istruzioni che il vostro computer dovrà seguire. C è uno delle migliaia di linguaggi di programmazione correntemente usati. Il C ha parecchi hanno di vita alle spalle ed è stato ampiamente adottato in vari settori perché dà ai programmatori il massimo controllo ed efficienza. Il C è un linguaggio facile da imparare. E' appena un po' più “criptico” di altri linguaggi, ma è facile superare rapidamente l'apparente astrusità del linguaggio.

Che cosa è il C?

Il C è un cosiddetto linguaggio compilato. Ciò significa che una volta che viene scritto un programma in C, lo si deve eseguire attraverso un compilatore C per trasformare il programma in un eseguibile che il computer può comprendere e quindi eseguire.

Un programma in C è in una forma human-readable (ossia comprensibile dall'uomo), mentre l'eseguibile generato dal compilatore è machine-readable (comprensibile dal computer). Quindi, scrivere per poi far eseguire un programma in C significa prima di tutto avere a disposizione un compilatore C. Se si usa una macchina UNIX (per esempio, se si scrive uno script CGI in C e se il computer host è un computer UNIX, o se si è uno studente che lavora/studia in un laboratorio dove spesso si trovano macchine UNIX), il compilatore C è disponibile gratuitamente. Il compilatore C si chiama cc o gcc ed è disponibile da linea di comando.

Se siete degli studenti, la vostra scuola probabilmente vi fornirà un compilatore – verificate cosa si usa nella vostra scuola e imparate ad usare quello. Se state lavorando a casa su una macchina Windows, dovrete probabilmente scaricare un compilatore C gratuito oppure acquistare un compilatore commerciale. Un compilatore commerciale ampiamente utilizzato è il compilatore Microsoft Visual C (che compila sia programmi in C che in C++). Sfortunatamente, questo programma costa svariate centinaia di dollari. Se non avete centinaia di dollari da spendere in un compilatore cosiddetto commerciale, allora potete pensare di usare uno dei compilatori disponibili gratuitamente sul Web. Un buon punto da cui partire per cercare un compilatore C gratuito è http://delorie.com/djgpp.

Iniziamo con un programma C estremamente semplice e lo costruiremo passo passo per voi. Supporremo, in questo articolo, che si stia utilizzando una linea di comando UNIX e il gcc come compilatore. Se non avete il gcc, questo articolo vi sarà comunque utile per capire le fondamenta del C, dovrete semplicemente verificare e comprendere come funziona il compilatore che avete voi a disposizione.

Ed ora, partiamo con la nostra lezione di C.

Programmare in C - Il più semplice programma in C

Partiamo con il programma più semplice possibile e usiamolo per capire le basi del C e il processo di compilazione. Digitate il programma seguente in un editor di testo standard (tanto per fare degli esempi, editor di testo come vi oppure emacs su UNIX. Su Windows potete usare Notepad e su Macintosh TeachText).

Poi, salvate il programma in un file che chiamerete samp.c. Se tralascerete l'estensione .c probabilmente riscontrerete degli errori non appena cercherete di compilarlo, pertanto ricordatevi di aggiungere l'estensione .c al nome del file.

Inoltre, assicuratevi che il vostro editor di testo non aggiunga automaticamente alcuni caratteri extra, come ad esempio .txt, al nome del file. Ecco qui il vostro primo programma:

#include <stdio.h>
int main()
{
printf("This is output from my first program!\n");
return 0;
}

Una volta in esecuzione, questo programma indica al computer di stampare la frase “This is output from my first program” che tradotto in italiano significa “Questo è l'output del mio primo programma”. Fatto ciò, il programma termina. Non esiste praticamente nulla più semplice di questo programma.

Posizionamento:

Quando digitate questo programma, fate in modo di posizionare #include in modo che il simbolo # occupi esattamente la colonna 1 (oppure la parte estrema più a sinistra). La spaziatura e l'indentazione possono essere quelle che preferite. Su alcuni sistemi UNIX si può trovare un programma chiamato cb, il C Beautifier (letteralmente “l'abbellitore” per programmi C) che provvede a formattare il codice indentandolo e spaziandolo per una maggiore leggibilità. La spaziatura e l'indentazione del programma di cui sopra è un ottimo esempio da seguire.

Per compilare questo codice, sono necessari i seguenti passi:

• su di un sistema UNIX, digitare gcc samp.c -o samp (se gcc non funziona provare con cc). Questa linea invoca il compilatore gcc, gli chiede di compilare samp.c e gli chiede di posizionare il file eseguibile che crea sotto il nome di samp. Per eseguire il programma, poi, digitare samp (oppure, in alcuni sistemi UNIX digitare ./samp)

• Su di un sistema DOS o Windows usando DJGPP, digitare gcc samp.c -o samp.exe su di un prompt dei comandi. Questa linea invoca il compilatore chiamato gcc, gli chiede di compilare il file samp.c e di renderlo eseguibile sotto il nome samp.exe. Per eseguire il programma digitare samp.

• Se state lavorando con altri compilatori o altri sistemi di sviluppo, leggete e seguite le istruzioni per il compilatore che state usando per compilare ed eseguire il programma correttamente.

Dovreste vedere l'output del programma “This is output from my firt program!” all'esecuzione del programma. Ecco cosa succede quando si compila il programma:

Se commettete errori di battitura nell'editare il programma, può accadere che il compilatore non lo compila o che non riesca ad essere eseguito l'eseguibile. Se il programma non compila o se il compilato non viene eseguito correttamente, rieditatelo e verificate se vi sono stati effettivamente errori in battitura. Correggete l'errore e riprovate.

Commenta!Feed Rss

Hai ucciso "Hello World"

"This is output from my first program!" ?!?!?!

e il sacro, classico, fondamentale "Hello World" che fine ha fatto???

Basta "Hello World"

Concordo con TecnoMan, hello world, ha rotto le scatole!
Seppur mitico, lo abbiamo usato tutti, insieme alle variabili "pippo" e "pluto" credo possa essere ormai dichiarato miticamente obsoleto Laughing

Se poi vi manca, eccovi una collezione di Hello World

Guida Completa???

Ma dove sta la guida completa? Mi aspettavo di poter scaricare un piccolo manuale PDF :-)

Prima di tutto

Prima di tutto Buongiorno!
Secondo questa è solo la prima parte della guida completa che verrà pubblicata nei prossimi giorni.
Se vuoi il PDF di questa prima parte puoi generarlo da solo, vedi la piccola icona rossa pdf vicino al titolo?

Cerca "gapil" e

Cerca "gapil" e scaricatela.
Vedrai che divertimento...

Guida "un tanto al

Guida "un tanto al chilo".
Sapete quanti danni fanno queste cose a chi impara veramente un linguaggio in questo modo dozzinale?

Caro anonimo (non hai

Caro anonimo (non hai nemmeno un nickname da inserire?) se hai critiche falle pure, spiegaci cosa non va in questa prima parte del corso sulla programmazione c. Altrimenti quello dozzinale rimane solo il tuo commento ;)

Emanuele

non mi funziona, tra

non mi funziona, tra l'altro. mi dice: error: #include expects "FILENAME" or

e poi ancora

warning: incompatible implicit declaration of built-in function ‘printf’

Certo...

...perché qualcuno non ha verificato il testo da pubblicare prima di farlo, perché si sarebbe accorto che il content manager si è mangiato il codice credendolo HTML non valido. Certo anche che sono tutti in grado di tenere un blog così, senza verificare le pagine pubblicate...

BTW, correggi con:
#include <stdio.h>

Hai ragione, ci è sfuggito!

Hai ragione, ci è sfuggito! I tag < e > sono stati rimossi dall'editor.
Abbiamo inserito quindi correttamente all'inizio del programma
#include <stdio.h>
che poi è la libreria che contiene la funzione
printf()
una delle prime funzioni che si impara quando si inizia con il linguaggio c.

"Certo anche che sono tutti in grado di tenere un blog così, senza verificare le pagine pubblicate..."
Perchè questo atteggiamento? Una svista può capitare ed i commenti servono anche a segnalare quello che agli autori può sfuggire.
Non credo che "tutti" siano in grado di tenere un blog cosi...
Un blog sull'elettronica open source, con articoli molto tecnici ed articoli piu semplici per hobbisti e con un flusso di piu di 50 articoli a settimana!
Se trovi qualcosa del genere in Italia, segnalamelooo

> Un blog sull'elettronica

> Un blog sull'elettronica open source [...] con un flusso di piu di 50 articoli a settimana!

Ecco, il problema è proprio questo.
Se non si verificano correttamente i contenuti, di 50 articoli la settimana corre il rischio che se ne salvano 2/3... e allora tanto vale avere un "flusso" di articoli minore ma sicuramente tutti validati/revisionati. Io personalmente preferisco la qualità sulla quantità.

Mi chiarisco: non vi leggo costantemente e quindi non vi conosco, lungi da me darvi un giudizio guardando un solo articolo. Condividerete con me un po' di perplessità se, in una guida di base per l'apprendimento ad un linguaggio, capita una "svista" di questo genere nel codice esplicativo. E' sicuramente più grave di un errore di ortografia nel testo a corredo.

Accettiamo la tua

Accettiamo la tua critica.
Anche se piuttosto che DIMINUIRE i contenuti (e quindi ridurre il numero dei nostri collaboratori) preferiamo AUMENTARE la qualità ed i controlli.
Trattiamo argomenti suddivisi in piu di 30 categorie, con esperti in ogni materia
http://dev.emcelettronica.com/your-electronics-open-source-team
quindi abbiamo le potenzialità per scrivere ogni giorno (bene) in ogni categoria che vedi qui a fianco nella sidebar.
Inoltre il web2.0 è interattivo, quindi i visitatori sono liberi (ed invitati) di segnalarci sviste.

Crediamo nella divulgazione libera delle informazioni e nella condivisione del know-how, quindi il nostro blog non sarà mai a pagamento (a volte troviamo ENORMI sviste in articoli a pagamento passami il piccolo sfogo) e quello che vogliamo è SI aumentare la qualità ma ANCHE coinvolgere i lettori nell'articolo, inserendo dei commenti che possono completare l'articolo stesso, migliorandolo, sia sotto il profilo delle sviste, che quello puramente tecnico.

> Anche se piuttosto che

> Anche se piuttosto che DIMINUIRE i contenuti (e quindi ridurre il numero dei nostri collaboratori) preferiamo AUMENTARE la qualità ed i controlli.

Credo che sia un ottimo proposito, il migliore che poteste darvi. In bocca al lupo :)

Crepi! Continua a seguirci,

Crepi!

Continua a seguirci, e magari segnalaci anche cosa vorresti veder pubblicato e quali argomenti ti interesserebbe approfondire, se riusciamo, sicuramente ti accontenteremo!

Cazzo che acidelli che siamo

Cazzo che acidelli che siamo :P Un errore capita a tutti ;)

Comunque tutto il mio sostegno all'autore... Probabilmente queste tue guide non verranno utilizzate come testi di riferimento nei maggiori atenei italiani, ma sicuramente sono un innegabile aiuto per chiunque si avvicini ad un linguaggio e vuole farsi un'idea di quello che lo aspetta, prima di scaricarsi il manuale da 1500 pagine "che non fa danni" :)

Ciao ^_^

Un pò "colorito" ma

Un pò "colorito" ma eloquente il tuo commento!
Sono d'accordo, questo corso non è IL corso sul linguaggio c, ma solo una guida iniziale.
Il c è spiegato con parole semplici e per questo mi è piaciuto.
Del resto anche il "Kernighan & Ritchie" è spesso criticato...ooops "Kernighan || Ritchie" :)
Finito questo ne pubblicheremo uno più avanzato, prometto.

make e gcc

ragazzi perche con djgpp sia con gcc che con make mi da "comando non trovato" ? la viaribile di ambiente di sistema e settata, altrimenti emacs da errore ...

Invia nuovo commento

Il contenuto di questo campo è privato e non verrà mostrato pubblicamente.
  • Linee e paragrafi vanno a capo automaticamente.

Maggiori informazioni sulle opzioni di formattazione.

Articoli di elettronica correlati

Commenti recenti

Nuovi utenti

  • swutz
  • saetta
  • EmanuelOpen
  • alexc85
  • tondini73
  • pmac131
  • peppeplus
  • rolfogianluca

Chi è online

Ci sono attualmente 2 utenti e 76 visitatori collegati.

Utenti online

  • Agutu
  • Celsius