TIPO
un
insieme (finito) di valori e un insieme di operazioni definite su
tale insieme
es. -10 ... 0 ... 1 ...
2
tipo = numeri interi e
operazioni che si possono eseguire al suo interno (addizione ecc.)
es. a b c ... z
< prec succ
il tipo serve a sapere
cos'è un dato in memoria (a formalizzare la corrispondenza tra
stati e valori = il valore in memoria, ossia la sequenza di bit,
viene interpretata in maniera differente in base al tipo che sto
utilizzando, assumendo valori diversi)
VARIABILE
locazione
di memoria o una sequenza contigua di locazioni di memoria tale che:
ha
associato un tipo
ha
uno stato
rappresenta
un valore
es. caso della prima
lezione (direzioni) dichiaro una locazione x di tipo direzione; se lo
stato di x è 00 il valore rappresentato è Nord
la quantità di
memoria necessaria a rappresentare un dato è legata al suo
tipo
IDENTIFICATORE
nome
che viene associato ad una qualche entità nel programma
in C gli identificatori
sono case sensitive (maiuscole – minuscole)
ESEMPIO DI LISTATO C
#include<stdio.h>
int
main(void){
int
primo;
int
secondo; oppure int primo, secondo;
primo
= 7;
secondo
= primo;
return
0;
}
alloca
memoria (parte dichiarativa)
modifica
lo stato della memoria
DICHIARARAZIONE
DI UNA VARIABILE
<nome_di_tipo>
<identificatore>;
effetto:
viene
riservata una locazione di memoria di una certa dimensione (dettata
da <nome_di_tipo>)
a
questa locazione di memoria viene associato quell'identificatore
int
fa parte dei tipi predefiniti (quindi è una stringa riservata)
RIASSUMENDO...
int = tipo
primo = identificatore
7 = valore
nella variabile a sinistra vado a scrivere il valore che sta a destra
ESPRESSIONE
costrutto
linguistico che mi restituisce un valore o una variabile
se
mi restituisce una variabile l'espressione si chiama designatore
può
essere:
una
costante
una
variabile
un'espressione
aritmetica (primo + 7)
la
chiamata di una funzione (somma(3,2))
l'espressione ha
sempre un valore (perché deve appartenere a un tipo)
; = comando più
semplice (non fa nulla)
COMANDO
SEMPLICE
espressione
seguita da “;”
es.
7;
è un comando
semplice ma non esegue nulla
COMANDO DI
ASSEGNAMENTO
<designatore>
= <espressione>;
viene
valutata l'espressione a destra ?mi
restituisce il valore k
viene
valutato il designatore a sinistra ?mi restituisce la
variabile v
viene
assegnato alla variabile v il valore k
INIZIALIZZAZIONE
<tipo>
<identificatore> = <valore>
int
primo = 7;
l'assegnamento è
distruttivo (non posso più recuperare il valore precedente)
il compilatore
inizializza una variabile grande quanto indicato dal tipo
OPERATORE
costrutto
sintattico che mi permette di costruire delle espressioni:
aritmetici
(+ / * % -)
logici (&&
|| !)
di assegnamento(=
<operatore>=; es. x+=3 corrisponde a x = x+3)
relazionali
= permettono di costruire espressioni booleane (== >< != <=
>=)
virgola (,)
|