Estratto del documento

COSTRUTTI DEL LINGUAGGIO “C”

 Assegnamento: =

A sinistra si indica la variabile di destinazione che viene interpretata come LOCAZIONE di

memoria nella quale inserire il risultato dell’assegnamento;

Le variabili che compaiono a destra assumono il valore presente nella rispettiva locazione

di memoria.

 Confronto: < <= >= ==

 Aritmetica + , - , * , / , %

 Aritmetica booleana:

- && : AND

- || : OR

- ! : NOT

Costrutto For

for (statement iniziale; test di uscita; Statement iterativo)

{ <corpo del ciclo> }

Costrutto while Se il test d’uscita è già falso la prima volta, il

corpo del ciclo non viene mai eseguito

While(test di uscita) {

<corpo del ciclo>

}

Costrutto Do while Se il test d’uscita è già falso la prima volta, il

Do corpo del ciclo viene riprodotto una sola

{ volta

<corpo del ciclo>

} while(test di uscita)

Costrutto If-Then-Else

If(test) {

< ramo then; il test è VERO> }

Else if(test) {

<ramo else, Il test è FALSO> }

Else { }

Andrea De Dominicis andreadedominicis@studenti.unisalento.it

Costrutto switch – case

Switch(operando su cui eseguire l’equivalenza)

{

case val1: <corpo primo caso>

break;

case val2 <corpo secondo caso>

break;

default:

…..

}

06/04/2021 LE VARIABILI

Ogni variabile è un identificativo che rappresenta sia la locazione di memoria sia il valore in essa contenuto.

Quando la variabile compare a sinistra di un assegnamento, il nome simbolico rappresenta la locazione di

memoria (LEFT HAND VALUE) dove memorizzare il valore assunto dall’espressione a destra

dell’assegnamento.

Quando la variabile compare in una espressione, il nome simbolico rappresenta il contenuto della locazione

di memoria (RIGHT HAND VALUE).

Ad ogni variabile è associato anche un tipo di dato che descrive e indica come viene rappresentato il valore

assunto dalla variabile e l’insieme di operazioni che si possono compiere sul dato.

In C tutte le variabili prima di essere usate, devono essere dichiarate ovvero denominare la casella.

Nella DICHIARAZIONE DI UNA VARIABILE stiamo chiedendo al nostro dispositivo elettronico di assegnare

un nome simbolico ad una locazione di memoria quindi dopo la dichiarazione, possiamo riferirci a una

determinata locazione di memoria utilizzando il nome della variabile, questo è il primo obiettivo della

dichiarazione di una variabile.

Il secondo obiettivo della dichiarazione è quello di andare a specificare il TIPO DI DATO e come devono

essere interpretato quell’insieme di bit presenti in quella locazione di memoria.

TIPO DI DATO

Il tipo di dato esprime

 La rappresentazione in memoria del dato;

Andrea De Dominicis andreadedominicis@studenti.unisalento.it

 Un insieme di operazioni che si possono compiere su quel dato.

Il tipo di dato permette anche di effettuare dei controlli di correttezza del programma in fase di

compilazione.

Il TIPO DI DATO identifica la CODIFICA USATA per quei bit.

TIPI DI DATI PRIMITIVI IN C

I tipi di dati primitivi sono i tipi di dati predefiniti in C e sono:

 Caratteri

- char

 Interi naturali (senza segno)

- unsigned char

- unsigned short int

- unsigned int

- unsigned long int

unsigned long long int

 Interi relativi ( con segno)

- signed char

- short int

-int

- long int

- long long int

 Reali

- float (single precision)

- double (double precision)

- long double (quadruple precision)

 Booleano (introdotto nello standard C99)

- _Bool

Si comporta come un intero e può assumere solamente due valori 0=false 1=true

Ogni assegnamento diverso da 0 ad una variabile di tipo _Bool viene memorizzato con il valore 1 in

memoria.

Il programmatore ha la possibilità di costruire altri tipi di dati.

In C è possibile conoscere la dimensione di un certo tipo di dato

dim = sizeof (tipo_dato).

La conversione di un dato in C può avvenire anche in modo esplicito attraverso il casting che si effettua con

la seguente sintassi:

int a;

float b;

b=a/2;

b=(float)a/2;

Andrea De Dominicis andreadedominicis@studenti.unisalento.it

DICHIARAZIONE DI UNA VARIABILE

Prima di poter utilizzare una variabile, questa deve essere dichiarata specificandone il TIPO DI DATO e il

NOME.

Per ogni variabile dichiarata verrà automaticamente riservato uno spazio di memoria sufficiente a

contenere il dato descritto dal suo tipo.

Per la dichiarazione di una variabile si utilizza la seguente sintassi:

<tipo di dato> <nome variabile> int var 1

 Nome

Tipo di della

dato variabile

 Left Hand Value: rappresenta la locazione di memoria associate alla variabile che compare a

sinistra del simbolo uguale;

 Right Hand Value: indica il valore assunto dall’espressione che compare a destra del simbolo

uguale.

In generale, l’espressioni in cui una variabile può comparire, non è detto che siano sempre a destra

dell’uguale, per esempio in una istruzione di if/then/else, tutte le variabili all’interno della condizione

hanno tutte valore RIGHT VALUE.

DIVISIONI TRA NUMERI IN CODIFICHE DIVERSE

int a;

int b;

a=19;

b= a/2;

Se ho due variabili di tipo intero e vado a fare un’operazione di divisione tra due interi, la divisione che

viene eseguita è una DIVISIONE DI TIPO INTERA quindi che prevede solo il quoziente ignorando il resto e

quindi troncando il resto.

Float a;

float b;

a=19;

b=a/2;

Nel caso in cui avessimo una divisione tra un numero di tipo float e un numero di tipo int, prima di poter

effettuare l’operazione, il compilatore promuove automaticamente il tipo di dato meno espressivo verso il

Andrea De Dominicis andreadedominicis@studenti.unisalento.it

tipo di dato più espressivo. Quindi in questo caso, il 2 viene promosso a float e la divisone viene fatta tra

due float producendo un risultato esatto con valore decimale.

NOTE SUI NUMERI REALI

Sappiamo che la rappresentazione dei numeri reali è una rappresentazione approssimata, ciò comporta in:

Il fatto di avere numeri reali approssimati ci fa perdere alcune proprietà dei numeri reali ovvero:

 Si perde la PROPRIETA’ ASSOCIATIVA ovvero (b+a)-a può essere diverso da b-(a-a), questo perché

se b è molto minore rispetto ad a allora il risultato di b+a mi produce comunque un risultato uguale

ad a, questo è dovuto all’approssimazione.

Questo è un effetto da tenere in considerazione quando si opera con le variabili reali.

Tendenzialmente è conveniente sommare prima tutte le variabili che hanno l’ordine di grandezza

più piccolo e poi sommarlo ai valori più grandi;

 CONFRONTO DI UGUAGLIANZA, l’approssimazione nella rappresentazione dei numeri reali ci porta

ad avere un problema quando si va a eseguire il confronto tra due numeri reali, è possibile che il

nostro valore reale non arrivi mai ad essere uguale ad un altro valore reale perché i due numeri non

hanno approssimazioni differenti.

Per ovviare a questi problemi, invece di porre un’uguaglianza tra due numeri reali si trasforma

questa uguaglianza in un intervallo, se il valore è compreso tra e , possiamo dire che i

+ −

due valori sono uguali.

Andrea De Dominicis andreadedominicis@studenti.unisalento.it

COSTRUTTORE ARRAY

Il costruttore ARRAY ci permette di costruire un tipo di dato che rappresenta un INSIEME DI ELEMENTI

OMOGENEI. ARRAY è un COSTRUTTORE DI TIPO, una volta che abbiamo costruito un tipo di dato,

possiamo utilizzare quel tipo per dichiarare delle variabili.

Dal punto di vista della sintassi l’ARRAY è definito dall’uso delle due parentesi quadre nella dichiarazione

<tipo> <nome variabile> [<dimensione>]

Int vet

Anteprima
Vedrai una selezione di 6 pagine su 23
Appunti sul linguaggio C, con variabili, strutture dati, puntatori, dichiarazione variabile Pag. 1 Appunti sul linguaggio C, con variabili, strutture dati, puntatori, dichiarazione variabile Pag. 2
Anteprima di 6 pagg. su 23.
Scarica il documento per vederlo tutto.
Appunti sul linguaggio C, con variabili, strutture dati, puntatori, dichiarazione variabile Pag. 6
Anteprima di 6 pagg. su 23.
Scarica il documento per vederlo tutto.
Appunti sul linguaggio C, con variabili, strutture dati, puntatori, dichiarazione variabile Pag. 11
Anteprima di 6 pagg. su 23.
Scarica il documento per vederlo tutto.
Appunti sul linguaggio C, con variabili, strutture dati, puntatori, dichiarazione variabile Pag. 16
Anteprima di 6 pagg. su 23.
Scarica il documento per vederlo tutto.
Appunti sul linguaggio C, con variabili, strutture dati, puntatori, dichiarazione variabile Pag. 21
1 su 23
D/illustrazione/soddisfatti o rimborsati
Acquista con carta o PayPal
Scarica i documenti tutte le volte che vuoi
Dettagli
SSD
Scienze matematiche e informatiche INF/01 Informatica

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher deddu01 di informazioni apprese con la frequenza delle lezioni di Fondamenti di informatica e studio autonomo di eventuali libri di riferimento in preparazione dell'esame finale o della tesi. Non devono intendersi come materiale ufficiale dell'università Università del Salento o del prof Epicoco Italo.
Appunti correlati Invia appunti e guadagna

Domande e risposte

Hai bisogno di aiuto?
Chiedi alla community