Lezione 4 C Aritmetica e Input, come utilizzare le variabili per operazioni matematiche

Dopo aver imparato che cosa sono e come funzionano le variabili, vediamo com’è possibile utilizzarle. Ad esempio, consideriamo il seguente programma:

int main()
{
int x, y, somma; /*Dichiaro tre variabili di tipo int*/
printf("Inserisci il primo numero: "); /*Chiede all'utente di inserire il primo addendo*/
scanf("%d",&x); /* Immissione da tastiera del valore */
printf("Inserisci il secondo numero: "); /* Chiede all'utente di inserire il secondo addendo */
scanf("%d",&y);
somma=x+y;
printf("%d + %d = %d\n", x, y, somma );
return 0; /*Indica che il programma è terminato con sucesso*/
}
Analizziamo il programma:
Abbiamo incontrato una funziona nuova! La funzione scanf().
La funzione scanf è una funzione definita in stdio.h che consente all’utente di interagire con il programma, in questo caso, permette all’utente di inserire il primo numero. La funzione scanf() è importantissima e la useremo molto spesso per interagire con i nostri programmi. Ma fate moltissima attenzione, sembra una funzione stupida, ma utilizzarla in modo improprio può causare il crash dei vostri programmi!
Il primo parametro che gli viene passato, ovvero %d si chiama specifica di conversione o stringa di formato, che indica il tipo della variabile che il compilatore andrà ad immagazzinare. Ogni tipo di variabile ha una specifica di conversione che deve essere rispettata per evitare perdite di dati, troncamenti o risultati errati.
  • int : %d
  • float: %f
  • double: %lf
  • char: %c
  • Nel caso di array di char, ovvero stringhe, useremo %s, ma di questo parleremo in seguito nelle prossime lezioni.
Il secondo argomento invece, indica la variabile dove il compilatore immagazzinerà il nostro input, ovvero x. La variabile dove l’input andrà ad essere immagazzinato, deve essere preceduta obbligatoriamente dalla &, altrimenti possiamo avere un comportamento indefinito del programma. Nel migliore dei casi, andrà in crash o ci sarà un errore “segmentation faul”. Approfondiremo il simbolo &, quando introdurremo i puntatori.
In seguito, dopo aver inserito anche il secondo numero, abbiamo l’istruzione x+y che esegue semplicemente la somma fra le due variabili. Il risultato viene immagazzinato nella variabile somma e poi mostrato a schermo tramite la printf successiva.
L’istruzione return 0, significa che il programma restituirà il valore 0 se la sua esecuzione termina senza errori.
Notate bene che, l’istruzione return è necessaria perché abbiamo usato l’espressione int main(). Se invece usiamo un’espressione come: void main(), significa che la funzione main() non restituisce alcun valore. Tuttavia, molti compilatori e ambienti di sviluppo hanno deprecato la scrittura void main() e segnalano warning (messaggi di avviso) o addirittura errore. Ad esempio, l’ultima versione dell’ambiente di sviluppo Xcode (disponibile unicamente su MacOSX) segnala errore e ci costringe a cambiarla in int main() e col rispettivo return.
Per questa lezione è tutto, vi aspettiamo alla prossima!