Sequenza (cap. 5)
5.1 Programmi
L’esecuzione di un programma inizia da main; il corpo del programma, racchiuso tra parentesi graffe, è composto da una serie di istruzioni printf che verranno eseguite in sequenza.
Ogni istruzione deve terminare con un carattere di punto e virgola.
Il linguaggio C distingue tra lettere maiuscole e minuscole, dunque si deve fare attenzione: se, per esempio, si scrive MAIN o Main, non si sta facendo riferimento a main.
L’istruzione printf permette la stampa su video di ciò che è racchiuso tra parentesi tonde e doppi apici.
Per poter utilizzare printf, così come altre funzioni input/output, si deve inserire all’inizio del testo la linea: #include <stdio.h> che avverte il compilatore C di includere i riferimenti alla libreria standard di input/output (stdio sta appunto per standard input/output).
Le istruzioni vengono eseguite una dopo l’altra nell’ordine nell’ordine in cui si presentano.
Lo spazio è un carattere come gli altri e, se vogliamo visualizzarlo, dobbiamo esplicitamente inserirlo nella giusta posizione.
Se si desidera che l’uscita di ogni istruzione printf venga prodotta su una linea separata (andare a capo), si deve inserire \n al termine di ogni stringa e prima della chiusura dei doppi apici.
5.2 Variabili e assegnamenti
Per rendere evidente la funzione espletata possiamo inserire un commento.
I commenti possono estendersi su più linee in qualsiasi parte del programma; devono essere preceduti da /* e seguiti da */.
Tutto ciò che appare nelle zone così racchiuse non viene preso in considerazione dal compilatore e non ha alcuna influenza sul funzionamento del programma.
Un altro modo per inserire un commento è farlo precedere da //, ma in questo caso può estendersi su una sola linea.
Dopo il main e la parentesi graffa sono presenti le dichiarazioni intere necessarie.
La parola chiave int specifica che l’identificatore che segue si riferisce a una variabile numerica di tipo intero.
Anche le dichiarazioni e le istruzioni devono terminare con un carattere punto e virgola.
Il nome di una variabile la identifica, il suo tipo ne definisce la dimensione e l’insieme delle operazioni che si possono effettuare su di essa: addizione, sottrazione, moltiplicazione e divisione attraverso gli operatori +,-,*,/.
Il simbolo (“%d”) lo suddividiamo in due parti: tra doppi apici il simbolo % specifica che il carattere che lo segue definisce il formato di stampa della variabile; d indica che si desidera la visualizzazione di un intero nel sistema decimale.
Variabili dello stesso tipo possono essere scritte in sequenza separate tra loro da una virgola.
Esistono regole da rispettare, cioè: un identificatore non può essere né una parola chiave del linguaggio, né può essere uguale a un nome di funzione.
5.3 Costanti
Quando un certo valore utilizzato in modo ricorrente è opportuno rimpiazzarlo con un nome simbolico; per farlo dobbiamo definire all’inizio del programma, mediante l’istruzione #define, un identificatore di costante in corrispondenza del valore desiderato.
La definizione stessa di costante implica che il suo valore non può essere modificato; questa costante può essere usata in un’espressione a patto che non venga effettuato un assegnamento.
5.4 Input e output
Affinché il programma il programma sia più generale ed effettivamente utile, l’utente deve poter immettere i valori; ciò avviene mediante l’istruzione di input: scanf(“%d”,&variabile);.
L’esecuzione di questa istruzione fa sì che il sistema attenda in input un dato da parte dell’utente.
Analogamente a quella che accade in printf, %d indica un valore intero in formato decimale che verrà assegnato alla variabile.
In una funzione scanf il simbolo & deve precedere immediatamente il nome della variabile.
L’istruzione scanf(“%d”,&variabile) può essere interpretata: “leggi un dato intero e collocalo nella posizione di memoria il cui indirizzo di è &variabile.
Durante l’esecuzione di un programma può essere richiesta all’utente l’immissione di più dati, perciò è opportuno visualizzare frasi esplicative; a tale scopo scanf è preceduto da printf.
Per lasciare una linea vuota si deve inserire un ulteriore \n affinché il primo fa andare a capo e il secondo permette di lasciare una riga vuota.
Il salto può essere inserito in qualsiasi posizione all’interno dei doppi apici.
Si possono stampare più variabili con una sola printf, indicando prima tra i doppi apici i formati in cui si desiderano le visualizzazioni e successivamente i nomi delle rispettive variabili.
Si possono inserire %d e \n all’interno della stessa printf nelle posizioni adeguate affinché si raggiunga il proprio scopo.
Esistono altre sequenze di caratteri con funzioni speciali, dette sequenze di escape. Le più usate sono:
- \n Va a linea nuova
- \t Salta di una tabulazione
- \b Ritorna un carattere indietro
- \a Suona il campanello della macchina
- \\ Stampa carattere \
- \” Stampa carattere ”
Le ultime due sequenze meritano un commento.
Normalmente i doppi apici chiudono la descrizione del formato di una printf, perciò se si desidera visualizzare il carattere “ lo si deve far precedere da \; una considerazione analoga vale lo stesso carattere \.
È possibile inserire nella printf, al posto delle variabili, espressioni di tipo specificato dal formato.
Un’espressione può contenere delle variabili.
5.5 Funzioni
Una funzione è costituita da un insieme di istruzioni che realizzano un compito: a partire da uno o più valori presi in input, essa restituisce un determinato valore in output.
Esistono funzioni predefinite o standard, pronte all’uso che il linguaggio mette a disposizione del programmatore.
Un esempio di funzione C predefinita è abs(i).
Se dopo la parola abs, all’interno delle parentesi tonde, viene inserito un numero intero, la funzione abs ne restituisce il valore assoluto.
In qualche luogo è predefinito l’insieme delle istruzioni che la compongono; nel caso di abs tale luogo è la libreria, prevista dallo standard, stdlib.h.
Pertanto per poter utilizzare la fun
-
Fondamenti di informatica - Prima parte
-
Appunti Fondamenti di informatica (Prima parte)
-
Fondamenti di informatica e programmazione I - Appunti prima parte
-
Appunti di teoria per Informatica (domande prima metà)