Prime lezioni di programmazione C/C++: variabili e costanti
Pubblicato da admin il 28 settembre 2010

Salve a tutti, un argomento del quale vale la pena parlare a fondo è quello relativo alle variabili e alle costanti: strumenti importantissimi che permettono al programma di comportarsi in modo diverso a seconda degli input che gli vengono forniti, e aiutano nella comprensione del codice sorgente del programma stesso.
Variabili e costanti sono, in genere, ma non sempre, caratterizzati da un nome. In termini molto spiccioli, quel nome non è altro che un alias per un indirizzo di memoria RAM che conterrà il valore assunto da una variabile o da una costante, durante l'esecuzione del flusso di istruzioni del programma. Il valore di una variabile può mutare durante l'esecuzione del programma stesso, il valore di una costante è, invece, immutabile.
All'interno di un programma è possibile definire un numero arbitrario di variabili o costanti, a ciascuna delle quali sono associati dei dati.
Nei linguaggi tipizzati, come il C o il C++, ogni variabile ed ogni costante, sono sempre caratterizzate da un tipo, che definisce il modo in cui deve essere interpretato il dato rappresentato dalla variabile .
Si distingue in due generi di tipo di dato: tipi atomici e tipi composti. I tipi atomici, propri del lingaggio, sono utili alla memorizzzione di dati semplici, come un numero intero o reale, un carattere, un dato di tipo vero/falso.
I tipi composti, invece, si dividono a loro volta in tipi strutturati e non strutturati. La definizione di questi ultimi esula dall'articolo per il momento. Possiamo dire che un tipo strutturato consente di accorpare più dati fra loro, definendo una possibile correlazione esistente tra di essi. Pensiamo alla data: essa è composta da tre informazioni distinte: giorno, mese ed anno.
In C/C++ essistono i seguenti tipi atomici:
- int: intero con segno rappresentato su 4 byte
- unsigned int : intero senza segno rappresentato su 4 byte
- short int : intero con segno rappresentato su 2 byte
- unsigned short int : intero senza segno rappresentato su 2 byte
- long int : intero con segno rappresentato su 4 byte
- long long int: intero con segno rappresentato su 8 byte
- char : carattere rappresentato con 1 byte
- bool : true/false rappresentato con 1 byte
- float : reale mantissa + esponente su 4 byte
- double : reale a precisione doppia mantissa + esponente su 4 byte
Esistono i tipi puntatore, ognuno per un tipo atomico (ma è possibile definirne anche per tipi composti). Riprenderemo questo discorso in un altro articolo.
Trail tipo float e quello double, cambia il modo in cui il numero reale viene rappresentato. Il tipo float da più importanza alla mantissa, mettendo a disposizione più bit per la sua rappresentazione ( 23 bit per la mantissa, 8 per l'esponente, 1 per il segno). Il tipo double da molta più importanza all'esponente rispetto alla mantissa mettendo a disposizione 4 bit in più per la sua rappresenzazione (19 bit per la mantissa, 12 per l'espoente, 1 per il segno).
Per informazion ulteriori su ciò che concerne la rappresentazione dei numeri decimali, interi o reali, nel sistema numerico binario, si rimanda a manuali appositi (ci sarebbero troppe cose da spiegare...) .
Tra variabili atomiche, è possibile effettuare operazioni algebriche elementari come, sottrazione, moltiplicazione, divisione e divisione con resto. Il linguaggio c, come il c++, non mettono a disposizione operatori per la radice quadra, l'elevamento a potenza o cose così, per questo esistono delle librerie esterne che provvedono allo scopo. Questo sarà l'argomento della prossima lezione. A presto!
Nessun Commento
Puoi lasciare una risposta, oppure fare un trackback dal tuo sito.
Vuoi essere il primo a lasciare un commento per questo articolo? Utilizza il modulo sotto..











