Dalla A alla Z passando per C - Robotica
Dalla A alla Z passando per C - Robotica
Dalla A alla Z passando per C - Robotica
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
*<br />
* programma che legge i dati da tastiera,<br />
* ne effettua la somma e stampa sul video<br />
* del risultato<br />
*/<br />
#include <br />
int main()<br />
{<br />
int a, b, c;<br />
}<br />
printf("Scrivi due numeri interi\n");<br />
scanf("%d %d", &a, &b);<br />
c = a + b;<br />
printf("La loro somma e’ %d\n", c);<br />
return 0;<br />
Figura 4.1: Somma di due numeri letti da tastiera.<br />
Il semplice programma in Figura 4.1 e’ la versione un po’ piu’ raffinata del programma<br />
illustrato in Sezione 4.7, il quale legge due numeri da tastiera, li somma, e visualizza i risultati<br />
a video.<br />
La chiave della lettura da tastiera risiede nella funzionescanf. Nell’esempio, la funzionescanf<br />
accetta due numeri interi immessi da tastiera e separati da uno spazio 4 . Una volta immessi i<br />
dati e battuto il tasto INVIO, il valore numerico dei dati viene assegnato alle variabili a e b<br />
rispettivamente. Tali variabili possono essere successivamente utilizzate <strong>per</strong> l’elaborazione, che<br />
in questo semplice esempio consiste in una somma.<br />
Per il momento non ci soffermiamo sul modo in cui la scanf assegna il valore corretto alle<br />
variabili. L’unico aspetto importante e’ il significato della sequenza di caratteri %d, che indica<br />
<strong>alla</strong> scanf che i valori introdotti da tastiera sono numeri interi in notazione decimale, quindi<br />
non sono ne’ stringhe di caratteri, ne’ numeri a virgola mobile, ne’ interi in notazioni diverse da<br />
quella decimale 5 .<br />
NOTA Nella Sezione 15 si raccomanda di evitare la funzione scanf <strong>per</strong> l’input di<br />
dati, e viene proposto <strong>per</strong> questo scopo il metodo basato sulla funzione fgets<br />
(Sezione 12.6). Gli esempi presentati utilizzano lascanf viene fatto <strong>per</strong> motivi<br />
didattici, in quanto si ritiene che l’uso di fgets richieda dei concetti troppo<br />
avanzati <strong>per</strong> essere introdotti un questi primi esempi.<br />
4L’input viene acquisito correttamente anche se viene premuto il tasto INVIO anche dopo aver inserito il primo<br />
numero.<br />
5Puo’ essere interessante verificare cosa succede se, invece che due numeri interi, viene inserita <strong>per</strong> esempio<br />
una stringa di caratteri non numerici<br />
40