Professional Documents
Culture Documents
Tanino Rulez
Note dell’autore
Non esistono naturalmente solo questi 5,ma tutti gli altri tipi in C sono basati su questi
5 tipi. Il modificatore riceve la dichiarazione di tipo, altera il significato del tipo base
per adattarlo con più precisione alle varie situazioni. Ecco alcuni esempi:
signed
unsigned
long
short
I modificatori signed, unsigned, long, short li possiamo applicare a int e char mentre
long può essere applicato anche a double.
C La Guida
Tanino Rulez
I Numeri Negativi
Per chi già ha una conoscenza minima,saprà che i numeri negativi sono
rappresentati utilizzando un approccio di tipo complemento a due, che inverte tutti
i bit del numero (tranne il bit di segno), aggiunge 1 al numero e imposta il bit del
segno a 1. Gli interi con segno hanno un’ampiezza assoluta pari alla metà dei loro
fratelli insigned 0111111111111111 rappresenta 32767. Se il bit alto fosse stato 1
invece di 0, il numero sarebbe stato interpretato come -1. Se fosse stato dichiarato
come unsigned int, impostando il bit alto a 1, il numero sarebbe stato interpretato
come 65535!
Regole di Promozione
Le regole di promozione si applicano automaticamente alle espressioni che
contengono dei valori di due o più tipi di dato, dette anche espressioni di tipo misto.
• Ogni valore in un’espressione di tipo misto sarà promosso automaticamente a quello
più alto dell’espressione (in realtà verrà creata una copia temporanea di ognuno dei
valori, lasciando gli originali
C La Guida
Tanino Rulez
invariati)
Esempio:
int x;
float f,y;
….
f=x/y;
oppure
int x,y;
float media;
…
Media=(float)x/y;
Tanino Rulez
Istruzioni di Controllo
• Esecuzione sequenziale
Le istruzioni sono eseguite l’una dopo l’altra nell’ordine in cui sono scritte
• Trasferimento di controllo
Quando il prossimo statement non è il prossimo nella sequenza
L’abuso del goto portava diversi problemi.
Condizionali
Tanino Rulez
Istruzione Condizionale:
• L’istruzione scritta in C:
if ( voto >= 60 )
printf( ”Promosso\n" );
Facciamo un esempio:
Il rombo indica la decisione che deve essere presa. Come vediamo,contiene una
espressione che può essere o vera o falsa. A seconda del risultato si esegue un
percorso.
Tanino Rulez
Stampa “A”
altrimenti
Stampa“B”
altrimenti
Stampa “C”
altrimenti
Stampa “D”
Una volta che una condizione è verificata, la parte else dell’istruzione if/else
corrispondente è saltata. Il programma passa ad eseguire l’istruzione successiva a
quell’if/else.
C La Guida
Tanino Rulez
Facciamo un esempio:
if ( voto >= 60 )
printf( ”Promosso.\n" );
else {
printf( ”Bocciato.\n" );
Errori Logici
if (x == 0);
if (x == 1);
Tanino Rulez
Errori di sintassi
if (x == 0);
else