Aggiornato recentemente a Aprile 11th, 2021 alle 08:20 pm
Contents
- 1 Esercizi linguaggio C, un programma d’esempio
- 2 Esercizi linguaggio C, editor di testo per linguaggio C
- 3 Come prepararsi alla programmazione in C
- 3.1 Il ciclo di sviluppo di un programma in C
- 3.2 Come creare codice sorgente in C
- 3.3 Come compilare il codice sorgente
- 3.4 Creazione del file eseguibile attraverso il linking per il linguaggio C
- 3.4 Completamento del ciclo di sviluppo del linguaggio C
- 4 Storia e caratteristiche del linguaggio C
- 5 Fonti
Esercizi linguaggio C, un programma d’esempio

Esercizi in linguaggio C lezione 1 prende in considerazione le basi di questo linguaggio di programmazione. Ho creato un report che ? un approfondimento della lezione 1. Lo puoi scaricare gratuitamente cliccando su linguaggio C lezione 1. Analizziamo subito la struttura di un programma per capire come si scrive in linguaggio C. Una curiosit?, il primo programma che ? stato scritto in C si chiamava Hello World. Passiamo al programma d?esempio.

- Nella riga 2 si trova un commento. I commenti non vengono presi in considerazione durante la compilazione. Servono per indicare il nome e cosa fa il programma. Sono molto utili nella stesura di grandi programmi scritti in modo modulare.
- Nella riga 4 si trova la direttiva d?inclusione. Questa direttiva rappresenta i file d?inclusione di una libreria. In questo caso ? presa in esame la libreria standard input ed ouput. Si trovano funzioni come printf() e puts() per la stampa di caratteri e stringhe e scanf() per l?immissione di dati e numeri.
- Nella riga 6 si trova la funzione main(). E? una funziona propria del C. Deve essere presente in ogni programma. Se non ? presente il compilatore genera un errore.
- Dalla riga 7 alla 13 si trova un blocco istruzioni: le parentesi graffe rappresentano un blocco istruzioni. Nel blocco istruzioni si inseriscono le istruzioni in C.
- Nella riga 8 c?? un istruzione che stampa su video la stringa letterale ?Ciao a tutti?. Inoltre, si trova anche la funzione di escape \n. Questa funzione di escape ordina al computer di andare a capo dopo aver scritto la stringa letterale.
- Nella riga 12 ? presente un istruzione che restituisce un valore al programma chiamante. In questo caso, ? restituito come valore lo zero. Significa che il programma ? stato eseguito senza errori.
- Sempre nella riga 10 si trova il punto ? virgola. Il punto e virgola deve essere sempre presente in un programma in linguaggio C, tranne che nei costrutti condizionali come if, for, while e do while.
In questo video trovi le parti fondamentali di ogni programma in C. In questo caso ? stato usato il compilatore gcc in una distribuzione. Ti far? vedere come si compila un programma da terminale usando gcc in Ubuntu.
Esercizi linguaggio C, editor di testo per linguaggio C
Per poter scrivere qualsiasi tipo di programma in un qualsiasi linguaggio ? necessario scaricare il compilatore c. E saper usare un editor di testo come:
- Notepad in Windows
- Gedit in Linux
- Xcode in Mac
. Questo semplifica la scrittura del programma e aiuta a trovare gli errori dello stesso.Ti consiglio un software disponibile sia per Linux che per Windows. Si chiama Code Blocks. Code Blocks presenta una buona interfaccia grafica per scrivere programmi in C e non solo. Ma in questo momento ci interessa solo la programmazione in C. Per installare il programma dovete recarvi all?home page del software Code Bloks Cliccare su downlods e poi su donwload binary release. Nella pagine successiva trovate il pacchetto software per diversi sistemi operativi Windows, le distribuzioni Linux e MacOsx. Se il tuo sistema operativo ? Windows devi cliccare su codeblocks-n.n.mingw-setup.exe. Se ti trovi in Debian oppure in una sua derivata come Ubuntu, Linux Mint, Backtrack ? sufficiente andare sul software center e digitare su cerca CodeBlocks. Se usi il terminale puoi usare questo comando d?installazione: sudo apt-get install codeblocks per Debian e derivate.
Ricorda che quando andrai a salvare il tuo programma C dovrai dargli un nome ed un estensione. Per i programmi C l?estensione ? .c. Mentre per i programmi in C++ l?estensione ? .ccp. Quando si salva il file sorgente ? bene dargli un nome che descriva la funzione del programma.Esempio: cane. c estensione c, cane.ccp estensione c++
Puoi scegliere anche altri compilatori da scaricare online come:
- gcc per c/c++ disponibilie per Linux e Windows
- bcc32 compilatore della Borland da usare da terminale
- lcc-win32: compilatore gratuito con ambiente integrato
Ti consiglio sempre di leggere il manuale del compilatore da te scelto per verificare se ha incluso un editor di testo. Attenzione, prima di scarica il pacchetto software controlla se il tuo pc ? a 32 bit o 64 bit[/info]Come si pu? fare a scoprirlo ? Apri il terminale e digita uno di questi due comandi:
- uname ?r
- uname ?m
Entrambi dicono che tipo di sistema hai ma il primo comando oltre a dire che sistema hai dice anche il tipo di kernel della tua distribuzione Linux in uso.


Come prepararsi alla programmazione in C
Lo scopo della programmazione ? di risolvere un determinato problema. Quando si tenta di risolvere un problema ? necessario seguire un metodo detto ciclo di sviluppo di un programma:
- Il primo passo da fare ? conoscere il problema sotto ogni aspetto
- individuare una strategia che risolve il problema
- individuato la strategia metterla in pratica
- verificare se i risultati ottenuti risolvono il problema.
Quello che hai appena letto ? un algoritmo. Il passo numero 1 ? il pi? semplice. Abbiamo un problema e cerchiamo la soluzione. Facciamo un esempio per capire meglio. Sei un commercialista ed hai bisogno di uno strumento che ti aiuti nella contabilit?. Che cosa pu? essere questo strumento ?Forse hai gi? capito. Un foglio di calcolo come Excel per esempio. Il passo numero 2 consiste nella strategia da adottare per scrivere il programma. Prima di scrivere un programma rispondi a queste domande:? necessario un programma per risolvere il problema ?Quali informazioni si devono considerare ?Quali formule si devono usare ?Nel presente passaggio si individuano le informazioni necessarie e come usarle per giungere alla soluzione del problema.Facciamo un esempio pratico. Si deve scrivere un programma che calcola l?area del cerchio. Il primo passo da fare ? individuare l?obbiettivo, in questo caso, l?area del cerchio. Il secondo passaggio ? individuare gli elementi indispensabili per calcolare tale area. Sulla base dei precedenti ragionamenti si pu? applicare la formula per il calcolo dell?area A=?r^2 per dare risoluzione al problema. Adesso si pu? scrivere il programma
Il ciclo di sviluppo di un programma in C
Il ciclo di sviluppo di un programma ? composto da diverse parti:
- Si usa un editor di testo per creare un file su disco che contiene il codice sorgente
- si compila il codice sorgente per creare un codice oggetto
- si usa un programma detto linker per creare un file eseguibile a partire dal file oggetto
- Far funzionare il programma e verificare il suo funzionamento.
Come creare codice sorgente in C
Il codice sorgente ? una ,serie di istruzioni o comandi usati per istruire il computer in modo che esegua un determinato compito. Il primo passaggio del ciclo di sviluppo ? composto nello scrivere del codice sorgente usando un editor di testo. In ambiente Windows puoi usare Blocco note o Note Pad. In ambente Linux ti consiglio di usare Gedit. E? possibile usare Gedit in ambiente Windows.Adesso ti propongo un istruzione del C:printf(?Ciao Mamma?);Questa istruzione chiede al computer di stampare una stringa di testo, in questo caso Ciao Mamma. Il comando che permette di fare questo ? la funzione di libreria printf().Ricordati che ogni istruzione C alla fine si chiude con il punto e virgola. Questo non accade nelle istruzioni condizionali come if, for, while e do while. Ma vedremo meglio tutto ci? nel proseguo di articoli successivi.
Come compilare il codice sorgente
Il computer non ? capace di capire quello che il programmatore ha scritto nel codice sorgente. Ma necessita di un ulteriore passaggio. Il computer ha bisogno di istruzioni binarie o digitali scritte in linguaggio macchina o linguaggio assembly. Infatti, prima che un programma possa girare su un computer deve essere tradotto dal formato sorgente al linguaggio assembly. Questo procedimento, che ? il secondo passaggio del ciclo di sviluppo di un programma, ? effettuato dal un programma detto compilatore che svolge il procedimento di compilazione di un programma in C.
Creazione del file eseguibile attraverso il linking per il linguaggio C
Prima di far girare un programma in linguaggio C ? fondamentale un ultimo passaggio. Il linguaggio possiede varie librerie che contengono il codice oggetto di tutte le funzioni del linguaggio. Questo codice oggetto ? gi? precompilato. Di fatto, rappresentano le funzioni predefinite di questo linguaggio. Le funzioni predefinite C hanno un codice gi? pronto da passare direttamente al compilatore per creare il codice eseguibile. Queste funzioni svolgono molte funzioni, fra cui per esempio la stampa di caratteri a video come printf(). Oppure l?inserimenti di caratteri grazie all?uso della funzione scanf(). Le funzioni di libreria che ho sopra descritto le incontrerete in ogni programma perch? saranno indispensabili. Il file oggetto creato a partire dal codice sorgente sar? combinato con le funzioni di libreria del C. In questo modo ? possibili generare un programma eseguibile. Questo procedimento ? chiamato linking. Il procedimento di linker ? condotto a termine da un programma che si chiama linker.
Completamento del ciclo di sviluppo del linguaggio C
Terminata la compilazione e linkato il software si esegue digitando il nome nel prompt di sistema. Se dal suo funzionamento si ottengono dei risultati diversi da quelli voluti ? necessario tornare al primo passaggio. Si deve fare un processo di debugging e correggere il codice sorgente.Quando si esegue una modifica al codice sorgente si deve rieseguire la compilazione e linkare nuovamente per generare la nuova versione. Si ripete questo passaggio fino a quando il programma non risponde alle specifiche richieste. Ho parlato del processo di compilazione e linking come se fossero due processi separati. Di fatto, la maggior parte dei compilatori esegue questi due processi in un solo procedimento. Ma si deve fare un distinzione. Il processo di compilazione e di linking sono due procedimenti distinti.
Storia e caratteristiche del linguaggio C
Il linguaggio C ? stato sviluppato nel 1972 da Dennis Ritchie e Ken Thompson presso i laboratori della Bell Telephone. Questo linguaggio fu progettato per consentire lo sviluppo del sistema operativo UNIX, un sistema ancora attivo in molti computer. Una curiosit? il nome C ? derivato da un precedente linguaggio, chiamato appunto B. Il linguaggio fu realizzato da Ken Thompson sempre per la Bell Telehpone. E? facile intuire perch? si chiamava linguaggio B; b era la prima lettera della Bell. Il linguaggio C ? stato pensato per essere il pi? pratico possibile. Fin dalle prime sperimentazioni questo linguaggio dimostrava di essere potente e flessibile. Questo ebbe una diffusione rapida anche esternamente ai laboratori della Bell Telephone.
Infatti, molti programmatori iniziarono ad usarlo per i loro progetti.La diffusione di questo linguaggio di programmazione port? anche una conseguenza negativa. Prima di andare avanti diamo la sua definizione per comprendere meglio il ruolo che il linguaggio ha in uno processo di programmazione applicata. Il linguaggio di programmazione ? un linguaggio formale costituito da una sintassi ben definita. E? usato per scrivere dei programmi che implementano degli algoritmi.[/quote]Molte aziende iniziarono ad usare delle versioni proprietarie di questo linguaggio e si svilupparono sottili differenze di implementazione che ancora oggi causano problemi ai programmatori.
Per arginare questo problema l?istituto statunitense degli standard ANSI (American National Standard Institute) mise in piedi, nel 1983, un comitato per definire in maniera univoca uno standard da seguire che da quel momento ? stato chiamato ANSI C.Se sei interessato a studiare linguaggio di programmazione Java per lo sviluppo delle tue applicazioni web, studiare il C ti aiuter? a comprendere meglio il linguaggio orientato ad oggetti Java. In questo video tutorial sono state spiegate le parti fondamentali del linguaggio che ti consiglio di vedere prima di proseguire la lettura dell?articolo.
Con che linguaggio iniziare a programmare ? Il C ? il primo linguaggio da prendere in considerazione. Di fatto, programmare in C permette di costruire il primo pilastro per diventare un programmatore esperto in altri linguaggi. Le strutture di questo linguaggio sono fondamentali per comprendere come imparare a programmare in altri linguaggi di orientati agli oggetti, come il linguaggio C++ e il Java, per esempio. Nell’articolo troverai alcuni i comandi Linux da terminale che si usano nella distribuzione Debian, Ubuntu e loro derivate. Nelle distribuzioni Linux il terminale ha una funzione molto importante. Con il terminale si pu? aggiornare la distribuzione Linux
- aggiornare la distribuzione Linux,
- verificare che tutti i driver sono installati,
- eseguire l?avanzamento della distribuzione alla successiva,
- controllare il corretto funzionamento del motore grafico Xorg molto altro. ?
Ma stai tranquillo che si pu? anche programmare in C su Windows.Attualmente la maggior parte dei compilatori C moderni si uniforma a questo linguaggio, tranne poche eccezioni.Attualmente ci sono molti tipi di linguaggi di programmazione che possono essere scelti per implementare i nostri progetti, per esempio, oltre a questo linguaggio, abbiamo anche il Perl, il BASIC o Java. Sono tutti linguaggi di programmazione utili alla maggior parte dei problemi che possono essere risolti in via automatica, cio? utilizzando algoritmi.
Ma ci sono molte motivazioni per cui molti programmatori professionisti ritengono che questo linguaggio si il migliore per questi motivi:?
- il linguaggio ? potente e flessibile.
- le potenzialit? di questo linguaggio sono limitate solamente dall?immaginazione del programmatore.
- il linguaggio non pone nessuna barriera alla creazione di nuovi costrutti.
Vediamo pi? da vicino l’utilizzo del linguaggio C:
- implementazione di sistemi operativi
- elaboratori di testo
- programmi di grafica
- fogli elettronici
- compilatori per altri linguaggi di programmazione.
Analizziamo altre caratteristiche di questo linguaggio di programmazione:
- Il C ha una popolarit? molto ampia nell?ambiente della programmazione professionale. Infatti, ? possibile trovare molti tipi di compilatori e di strumenti per lo sviluppo ed il debug dei programmi.
- ?Il C ? portabile. Infatti, ? possibile trovare molti tipi di compilatori e di strumenti per lo sviluppo ed il debug dei programmi. E? una caratteristica molto importante di questo linguaggio perch? un programma scritto con questo linguaggio, progettato in maniera specifica per una piattaforma hardware pu? essere compilato ed eseguito anche su piattaforme diverse con modifiche minime. Per di pi?, un programma scritto per il sistema operativo Windows pu? essere eseguito in un macchina con sistema operativo Linux, con nessuna modifica o modifiche minime. La portabilit? ? stata ulteriormente migliorata grazie anche al rilascio dello standard ANSI. L?ANSI ha determinato in maniera univoca un insieme di parametri a cui tutti i compilatori C devono conformarsi.
- Il C ha poche istruzioni chiamate parole chiave. Tutte le funzionalit? del linguaggio si fondano sull?uso delle parole chiave. Si potrebbe pensare che un linguaggio fornito da molte istruzioni sia pi? potente di un altro linguaggio che ne possegga molte di meno. Ma questo non ? vero. Pi? si avr? confidenza con il C ? pi? si diventa consapevoli che come pu? essere usato per ogni tipo di problema.
- ?Il C ? modulare. Il codice di ogni programma pu? (e dovrebbe essere) scritto per procedure. Queste procedure sono chiamate tecnicamente funzioni. Le funzioni possono essere eseguite anche all?interno di altri programmi. Infatti, ? possibile progettare delle funzioni che svolgono un determinato compito ed usare quel blocco di codice in altri programmi che necessitano di risolvere lo stesso compito. Di fatto, passando dei blocchi di informazione (detti parametri) alle funzioni ? possibile sviluppare codice riutilizzabile
Da questo elenco di motivazioni si comprende bene come il linguaggio C sia la scelta migliore per apprendere un nuovo linguaggio. Ma c?? anche un altro motivo perch? conviene studiare questo linguaggio. Molti linguaggi come per esempio il C++ rappresentano un estensione del C. Alcuni si potrebbero chiedere perch? studiare il C quando si pu? passare direttamente al C++ ?Certo ? possibile passare direttamente dal C al C++.
E? bene ricordare che il C++ essendo un estensione del C contiene tutte le istruzioni del C e presenta altre istruzioni usate per la programmazione ad oggetti. Tutti coloro che hanno intenzione di apprendere il C++ utilizzeranno tutti i costrutti presenti nel C.Studiare questo linguaggio significa apprendere uno dei linguaggi di programmazione pi? usati e potenti.
E? un linguaggio propedeutico alla programmazione orientata agli oggetti. Un altro linguaggio di programmazione che come il C++ si basa sul C ? il linguaggio Java anch?esso sviluppato per la programmazione a oggetti molto importante. Il Java ? utilizzato molto nelle applicazioni che girano sui dispositivi mobili come Iphone, Smartphone e Tablet.Scegliere di studiare il C vi consente di creare delle buone fondamenta per la vostra carriera di programmatore professionista vi permette di approfondire altri linguaggi di programmazione mentre li state studiando.
Fonti
- Programmare in C – Guida completa C – Peter Aitken e Bradley L. Jones edito da Apogeo
- Linguaggio C – Bellini e Guidi edito da Mc Graw Hill
[contact-form-7 id=”18297″ title=”Hai bisogno di aiuto ?2″]
