Sei sulla pagina 1di 15

VOL_1 / UNITA’ 2 / MOD.

INTRODUZIONE AL LINGUAGGIO C-ANSI

[1.2.21]

Il C è un linguaggio di programmazione concepito intorno agli anni ’70 negli Stati Uniti.

Il comitato ANSI (American National Standards Institute) lo ha standardizzato ed è diventato uno dei
linguaggi1 a medio-alto livello tra i più utilizzati e molti applicativi di comune utilizzo sono realizzati, o
meglio compilati, con questo linguaggio. C-ANSI sottintende semplicemente che il C è divenuto uno
standard ANSI così come lo è il codice ASCII di cui si tratterà più avanti.

Si tratta di un linguaggio molto robusto, efficiente e flessibile, e in virtù della sua natura è particolarmente
idoneo per “pensare e agire in modo strutturato” incoraggiando la stesura di elaborati “a blocchi” ciascuno
dei quali deputato a svolgere compiti specifici nel programma.

Il numero ristretto delle parole chiave e la varietà sia degli operatori che dei tipi di dati, consentono di
creare e gestire funzioni a complessità crescente, come combinazione di strutture semplici idonee a
risolvere qualsiasi problema in qualsiasi ambito tra cui sistemi operativi, applicatici tecnici o gestionali.

Sintassi e semantica sono semplici e la scrittura del programma risulta particolarmente intuitiva.

I suoi operatori consentono inoltre di poter giungere fin alle porte dell’hardware della macchina ed è
possibile gestire i bit dei dati manipolandoli come potrebbe fare un linguaggio macchina.

Gli elementi del C-ANSI 2 saranno proposti nel rispetto della loro gerarchia strutturale, dalla base verso l’alto
procedendo ordine.

1
Vedi la sezione “I linguaggi di programmazione”
2
D’ora in poi parleremo solo di C
1
Le attività proposte finalizzate alla conoscenza delle basi della programmazione nel linguaggio C, saranno
circoscritte alla “Console” e saranno finalizzate all’elaborazione di algoritmi relativi a problemi fisico –
matematico.

Sarà pertanto possibile eseguire le seguenti operazioni:

 Eseguire la lettura di dati numerici attraverso la tastiera o “keyboard”


 Eseguire la scrittura dei dati numerici attraverso il monitor
 Elaborare i dati numerici contenuti nelle variabili attraverso la programmazione strutturata

Il software proposto per le attività si chiama DEV C++ e si possibile scaricarlo gratuitamente accedendo al
sito:

https://www.bloodshed.net/download.html

Al termine dell’installazione si potrà avviare il programma dal desktop o accedendo all’applicazione


digitando DEV C++ nella barra delle applicazioni.

2
CREARE UN NUOVO PROGETTO

Dopo aver creato una cartella dedicata per il nuovo progetto, avviare DEV-C++ 3.

1. Aprire un nuovo progetto: File → Nuovo → Progetto

2. Nella finestra del “Nuovo Progetto” selezionare “Console Application” e in “Opzioni del Progetto”
spuntare la voce “C”.

3
Ogni programma C implica la creazione di diversi file; per evitare conflitto con file aventi lo stesso nome, ma
appartenenti a progetti diversi è fondamentale utilizzare una cartella per ogni progetto.
3
3. Nel campo “Nome” della sezione “Opzioni del Progetto” assegnare il nome del progetto che
diventerà anche il nome dell'eseguibile. Ad esempio PRJ_1_sis_ggmmaa

4. Con il tasto OK salvare il progetto (PRJ_1_sis_ggmmaa.dev). Sarà necessario seguire il percorso


necessario per giungere alla cartella precedentemente creata e salvare il file. Il programma
proporrà di default il nome immesso al punto precedente, ma potrà anche essere cambiato in
questa fase.

5. Dopo aver salvato, il compilatore mostra la seguente schermata in cui nella sezione di sinistra
compare indicato il nome del progetto corrente, e a destra è presente un primo listato: il main del
programma di cui si parlerà ampiamente.

4
6. Spuntando la cartella di progetto compare il file sorgente chiamato di default 4 manin.c che è
appunto il file aperto a destra in cui compare il listato delle istruzioni del programma.

7. Salvare il listato assegnando un nome al file sorgente. Si può mantenere il nome di default main.c
oppure assegnare lo stesso nome del progetto. In tutti i casi il file verrà salvato come [*.C]

4
DEFAULT: in informatica, scelta operativa elaborata da un sistema in assenza di istruzioni da parte dell'utente.
5
8. Si può verificare che nella cartella creata al punto (1) sono presenti i due file creati e salvati. Uno è il
file di progetto mentre l’altro è il file sorgente.

6
APRIRE UN PROGETTO ESISTENTE

Per aprire un progetto precedentemente creato, dopo aver avviato DEV-C++ seguire le indicazioni.

1. Dal menu File scegliere Apri Progetto o File ….

2. Puntare alla cartella in cui sono contenuti oltre al progetto tutti i file creati dal programma e aprire
dopo aver selezionato il nome del progetto.

7
VERIFICA DEL PRIMO PORGRAMMA IN C

Prima di procedere nell’analisi dettagliata del linguaggio C si propone il varo di questo percorso scrivendo
una prima istruzione per verificare oltre alla funzionalità del programma, la creazione di altri file i il loro
significato anche senza avere particolari conoscenze sul C.

Si procede creando un programma formato da una sola istruzione operativa consistente nella scrittura a
video di una riga di testo.

La creazione di un programma implica la sua scrittura, la sua compilazione e l’esecuzione del file detto
eseguibile [*.exe] che una volta lanciato produrrà “qualche cosa”. In particolare quando il programma sarà
avviato, verrà aperto una finestra in cui compare la riga di testo creata.

Nella finestra comparita la richiesta di un comando (solitamente la digitazione di un tasto qualsiasi) per
concludere l’esecuzione e chiudere l finestra. Questa sorta di attesa è creata in fase di scrittura del
programma per consentire all’utente di vedere cosa compare a video.

Aprire il progetto creato in precedenza (PRJ_1_sis_ggmmaa.dev) e nel main.c scrivere (o editare) le


istruzioni di cui sarà fornita spiegazione dettagliata.

L’ambiente di scrittura del codice è un editor testo con caratteristiche particolari. Riconosce ed evidenzia
(attraverso colori e formattazione del carattere) la sintassi di quanto viene scritto. Comunque nulla vieta di
scrivere il codice con un qualsiasi editor di testo.

8
COME SI PRESENTA L’EDITOR DI TESTO DI DEV-C++

1. Nome del file.c, in questo caso main.c


2. Numerazione progressiva delle righe di programma
3. Direttive al preprocessore5
4. Commenti6
5. Corpo del programma main

5
Vedi la sezione di “anatomia di un programma”
6
Il commento spiega come è possibile visualizzare il programma bloccando la finestra.
9
REGOLA DI SINTASSI PER IL COMMENTO:

Ogni sequenza di lettere o caratteri, parole di senso compiuto o di comandi aventi una sintassi C è parte del
programma e non deve essere digitata se non con un fine specifico. Il compilatore una volta avviato
interpreta l testo scritto secondo la sintassi del C e lo converte in linguaggio macchina in modo che possa
essere “eseguito” dal PC.

Ogni errore sintattico è un errore e il programma non verrà né compilato né eseguito.

Unica eccezione sono le stringhe di commento che il programmatore può inserire in ogni punto del
programma. Una sorta di post-it che evidenzia il significato dei comandi e che serve unicamente per
rendere il programma comprensibile a chi lo legge e a chi lo deve modificare.

Sono possibili due tecniche con cui scrivere i commenti. I commenti sono evidenziati dal colore blu e il
carattere inclinato.

La prima inizia con una Slash line seguita da un asterisco e può essere lunga ad libitum. Termina con un
asterisco seguito da slash line.

La seconda attraverso due Slash line consente di scrivere un’unica riga di commento.

/* questo commento può continuare a piacere…

….. e finire qui */

//quest’unica riga di commento inizia e finisce con due linee

Con l’editor si può verificare …

Il primo commento inizia a riga 4 e termina alla 5. Il secondo inizia e finisce alla riga 7.

10
Selezionando e incollando il testo in un altro editor , dopo aver isolato come indicato si distinguono 3
sezioni.

#include <stdio.h>
#include <stdlib.h>

/* run this program using the


console pauser or add your own getch,
system("pause") or input loop */

int main(int argc, char *argv[])

{
return 0;
}

La prima comprende due istruzioni dette direttive al preprocessore. Attraverso il comando #include
verranno caricate nel programma due librerie. Si tratterà più avanti circa il significato di questa fase.

La seconda è un commento di default che indica come fermare l’esecuzione del programma. Seguendo il
suggerimento sarà introdotta l’istruzione system("pause"); al termine del programma. Si ricorda fin
d’ora che ogni comando per diventare istruzione deve sempre essere concluso mettendo il carattere punto-
e-virgola“;”. Si sottolinea che il 50% degli errori sintattici commessi nelle prime attività con il in C è
l’omissione di questo fondamentale carattere.

La terza parte rappresenta la dichiarazione del tipo int della funzione main e, compresa tra le 2 parentesi
graffe tutto il corpo del programma che di default è vuoto. Compare solamente l’istruzione return 0; il
cui significato oscuro è: restituisci 0 alla funzione principale. Una volta eseguito questo comando il
programma è concluso e si chiuderà la finestra.

Si tratterà in modo più opportuno il significato di tutti gli elementi che appaiono ora legittimamente
incomprensibili.

11
SCRITTURA DEL PROGRAMMA

Il programma viene editato completando la parte di istruzioni all’interno della funzione principale chiamata
int main(int argc, char *argv[])

Procediamo per gradi (e con ragionevole calma):

 la parola chiave int stà a significare un dato numerico di tipo intero


 main è il nome che viene dato alla funzione principale che si ricorda, deve sempre essere presente
in ogni programma C
 tra le parentesi sono scritti alcuni codici il cui significato appare comprensibilmente oscuro; senza
entrare nello specifico si tratta degli “argomenti della funzione principale” main.

Seguono due parentesi graffe7 entro le quali sarà scritto il codice delle istruzioni.

Il programma che è stato creato di default è “ridotto all’osso” pertanto se compilato e eseguito non dà
luogo a nessuna azione di particolare interesse.

Siccome l’obiettivo è quello di scrivere una semplice riga di testo, si dovrà scrivere l’istruzione deputata a
tale scopo.

Si propone l’utilizzo della funzione printf(); si tratta di una funzione precompilata e integrata in una
delle libreria incluse nella parte iniziale del programma (#include <stdio.h>) . Si tratta di una
funzione particolarmente articolata di cui per ora si omettono diversi aspetti e potenzialità.

La riga di testo : primo programma in C-ANSI , che comparirà una volta eseguito in il programma, sarà
scritta all’interno della funzione secondo questa sintassi.

Torneremo su tutti gli aspetti legittimamente poco comprensibili nelle prossime sezioni. Si ricorda che tutto
quello compreso dentro le virgolette non è codice C e viene scritto sul monitor così come viene digitato.

7
Si possono digitare da keyboard digitando contemporaneamente i tasti ALT+123 per { e ALT+125 per }
12
Il programma completo scritto nell’editor di testo sarà:

Alla riga 12 compare l’istruzione funzione di sistema “pause” la cui utilità è quella di arrestare l’esecuzione
fino alla pressione di un qualsiasi tasto.

13
COMPILAZIONE ED ESECUZIONE DEL PORGRAMMA

Si procede con la compilazione attraverso il comando Compila (vedi immagine) in cui il programma svolge le
fasi di traduzione del testo che è stato scritto, nel linguaggio comprensibile dalla macchina e la creazione
del file eseguibile.

E’ possibile verificare nella cartella in cui è stato creato il progetto la presenza di altri file tra cui il file
oggetto main.o e il file PRJ_1_sis_ggmmaa.exe che rappresenta il cosiddetto eseguibile.

Si sottolinea che è possibile avviare il programma anche direttamente da questo file.

14
Al termine della compilazione nella finestra in basso compare il report e, se non sono stati commessi errori
di sintassi, è possibile procedere con l’esecuzione attraverso il comando Esegui o il tasto funzione F10.

La nuova finestra su fondo nero (ricorda il vecchio ambiente DOS o il prompt dei comandi Windows)
compare la scritta digitata nel comando printf.

15

Potrebbero piacerti anche