Tipi elementari di linguaggio
In informatica un tipo di dato (o semplicemente tipo) è un nome che indica l'insieme di valori che una variabile, o il risultato di un'espressione,
possono assumere e le operazioni che su tali valori si possono
effettuare. Dire per esempio che la variabile X è di tipo "numero
intero" significa affermare che X può assumere come valori solo numeri interi (appartenenti ad un certo intervallo) e che su tali valori sono ammesse solo certe operazioni (ad esempio le operazioni aritmetiche elementari).
Ogni linguaggio di programmazione
consente di usare, in modo più o meno esplicito, un certo numero di
tipi di dati predefiniti di uso generale. Inoltre, ogni linguaggio di
programmazione fornisce di solito un certo insieme di strumenti per definire nuovi tipi sulla base delle necessità specifiche di un programma.
Può anche accadere, durante la scrittura di un programma, che sia
necessario, o utile, "tradurre" una variabile di un certo tipo in una
variabile di un altro tipo (l'operazione è detta type casting):
in alcuni casi è sufficiente usare appositi costrutti sintattici che
alcuni linguaggi mettono a disposizione per questo scopo; in altri casi è
necessario scrivere un'apposita funzione che associ i valori di un tipo
a quelli dell'altro.
In C esistono diversi tipi di variabili, che servono per
rappresentare tipi di dato diversi, dai grossi numeri ai testi. Alcuni
linguaggi permettono la dichiarazione di variabili generiche, ma poter
assegnare a ciascun dato il tipo di variabile adeguato, consente anche una migliore gestione della memoria (alla fonte).
Nella tabella seguente sono mostrati i vari tipi, la parola chiave C che li identifica (
char
per carattere, int
per intero, etc.), la tipologia di informazioni che rappresentano ed il
numero di byte necessari per la loro rappresentazione in C:
Char
Il tipo char può contenere qualsiasi carattere definito secondo lo standard ASCII, quindi qualsiasi lettera (maiuscola o minuscola), cifra (da 0 a 9) e simbolo previsto dalla codifica.
È molto importante ricordare che u
n char può contenere
uno ed un solo carattere. Per memorizzare una successione di caratteri,
alcuni linguaggi adottano un tipo stringa , in C, invece, utilizziamo un array di char. L’array è un contenitore di variabili dello stesso tipo e ne approfondiremo la conoscenza più avanti. Per dichiarare una variabile char, ad esempio inizializzandola con la lettera ‘r
‘, basta scrivere:
Int
Il tipo int permette di rappresentare numeri interi. Possiamo dichiarare un int con due varianti: short e long, anche se in realtà un int tipo
è già di per se’ un tipo short, mentre long permette di estendere (utilizzando due byte in più) il range dei valori
che il tipo int può assumere, consentedoci di lavorare con grandi
numeri.
In informatica
si definisce intero (o nella sua forma inglese integer, spesso
abbreviato in int) ogni tipo di dato che possa rappresentare un
sottoinsieme dell'insieme matematico dei numeri interi.
Il valore di un
dato di tipo intero consiste nel numero intero a cui corrisponde. La
sua rappresentazione consiste nel modo in cui esso è immagazzinato nella
memoria del computer. I dati interi possono essere con segno o senza
segno, cosa che ne discrimina la capacità di rappresentare numeri
negativi.
Float e Double
I tipi float e double sono i cosiddetti numeri in virgola mobile, che rappresentano l’insieme dei numeri reali: con essi possiamo rappresentare numeri molto piccoli o numeri molto grandi, positivi e negativi e naturalmente con e senza decimali.
La differenza tra i due sta nel numero di bit riservati alla
rappresentazione dei numeri, che si va a riflettere sul range di numeri e
sul numero di cifre dopo la virgola che possiamo memorizzare. Quindi se
abbiamo bisogno di particolare accuratezza, utilizziamo il tipo double.
Vediamo un semplice pezzo di codice in cui riproponiamo la divisione utilizzando double, per mostrare la differenza con il tipo int
:
La notazione usata per rappresentare la virgola è quella inglese, in cui
si usa il punto (e non una virgola) per dividere la parte intera da
quelle frazionaria.
Short e Long
I tipi short e long vengono usati per dichiarare il tipo di variabile int con delle varianti. I requisiti di relazione sono che il long long
è non inferiore a
long, che non è inferiore a int
, che non è inferiore a short. La dimensione minima per la
short e int
è di 16 bit, per long è di 32 bit e long long deve contenere almeno 64 bit.
Boolean
Una variabile booleana è una variabile che assume valori booleani, tipicamente Vero|Falso, True|False o 1|0. Una funzione di variabili booleane è chiamata funzione booleana; in un'accezione più generale, una variabile booleana può essere a sua volta funzione di variabili booleane.
Contiene valori che possono essere solo True o False. Le parole chiave
True e False corrispondono ai due stati delle variabili Boolean. Il valore predefinito di Boolean è False.
Diverse sono le operazioni che si possono svolgere con variabili di tipo boolean:
Diverse sono le operazioni che si possono svolgere con variabili di tipo boolean:
- negazione: molto spesso è indicata con NOT, ! o ~. Si definisce: not falso= vero e not vero=falso.
- EQV - ==
- AND - &&
- OR - ||
- XOR - ^
