18.08.2013 Views

Dalla A alla Z passando per C - Robotica

Dalla A alla Z passando per C - Robotica

Dalla A alla Z passando per C - Robotica

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

c = a + b<br />

invece, viene calcolato il valore corrispondente all’espressionea + b e tale valore viene assegnato<br />

<strong>alla</strong> variabilec. Cio’ che accade e’ che i valori memorizzati nelle aree di memoria associate agli<br />

identificatori a e b vengono sommati all’interno del processore, dopo aver eventualmente trasferito<br />

(i valori potrebbero gia’ trovarsi nei registri) tali valori d<strong>alla</strong> memoria centrale ai registri del<br />

processore. Il valore risultante e’ poi scritto nell’area di memoria associata all’identificatore c.<br />

Tenendo presente il significato dell’o<strong>per</strong>atore =, e’ facile notare come le istruzioni<br />

oppure<br />

10 = a<br />

a + b = c<br />

non siano valide nel linguaggio C, anche se in matematica hanno <strong>per</strong>fettamente senso.<br />

La prima assegna il valore di una variabile ad una costante, mentre la seconda assegnerebbe<br />

il valore di una variabile ad una espressione, ma quest’ultima non e’ associabile<br />

a nessuna area di memoria.<br />

Evidentemente il programma presentato non e’ molto utile, se non <strong>per</strong> illustrare l’uso delle<br />

variabili. Infatti, se si usasse il programma d’esempio <strong>per</strong> calcolare delle somme, esso andrebbe<br />

ricompilato ogni volta che si desidera cambiare i valori da sommare. Una versione piu’ generale<br />

del programma potrebbe prevedere di leggere i dati da tastiera, come si vedra’ nella Sezione 4.9,<br />

oppure in modo ancora piu’ efficiente, leggendo i dati da un file.<br />

4.8 Visualizzazione a video con printf<br />

Nel semplice esempio precedente e’ da notare come venga utilizzata la funzione printf <strong>per</strong><br />

visualizzare a video il valore della variabile c. L’istruzione<br />

printf("La loro somma e’ %d\n", c);<br />

visualizza il valore della variabile c di tipo int sostituendo, all’interno della stringa La loro<br />

somma e’, la sequenza di caratteri che corrisponde al valore numerico della variabile. La funzione<br />

printf utilizza la sequenza di caratteri %d <strong>per</strong> individuare la posizione all’interno della stringa di<br />

partenza <strong>alla</strong> quale inserire il valore numerico. Nel caso specifico, %d informa la funzione printf<br />

che il tipo della variabile e’ intero.<br />

4.9 Lettura di dati da tastiera<br />

Talvolta e’ necessario richiedere dei dati all’utente <strong>per</strong> poter effettuare un’elaborazione, che<br />

tipicamente li inserisce da tastiera.<br />

Per l’input da tastiera si utilizza la famiglia di funzioni scanf, che in generale si occupano<br />

di fare il parsing di una stringa di caratteri e di estrarne dei valori, che vengono assegnate ad<br />

opportune variabili 3 .<br />

3 Fare il parsing significa appunto interpretare il contenuto di un insieme di caratteri.<br />

39

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!