Home / Linguaggio C / Come stampare un valore a video (printf) – #13 linguaggio C

Come stampare un valore a video (printf) – #13 linguaggio C

come-stampare-un-valore-a-video

Se ti sei perso la guida precedente clicca qui: Operazioni sulle variabili.




Dopo aver imparato a dichiarare una variabile e a leggere un valore da tastiera, non ci resta altro che imparare a stampare un valore a video. La settima ed ultima riga di codice del nostro programma Somma di due numeri svolge proprio questa operazione. Infatti dopo aver letto da tastiera i valori di a e b, il programma stampa la loro somma a video. La funzione che ci consente di svolgere questa operazione prende il nome di printf e fa parte della stessa libreria di scanf, stdio.h (standard input-output). Andiamo a vedere come funziona:

1 /*Somma di due numeri*/
2 #include <stdio.h>
3 main(){
4      int a, b, s;
5      scanf("%d %d", &a, &b);
6      s = a + b;
7      printf("%d", s);
8 }

L’istruzione per visualizzare dati e messaggi sul video si indica in C con printf.

Per esempio

printf("%d", s);

stampa a video il valore contenuto nella variabile s, che corrisponde nel nostro caso alla somma tra a e b.

Proprio come accade nell’istruzione scanf, tra i doppi apici sono presenti gli specificatori di formato anche nell’istruzione printf e servono come dice la parola stessa per specificare il tipo di dato della variabile da stampare. printf-specificatori-di-formato

Gli specificatori di formato utilizzati nel linguaggio C sono i seguenti  e fanno riferimento ad un tipo di dato specifico:

  • %d: dati numerici interi (int);
  • %f: dati numerici in virgola mobile (float e double);
  • %c: dati formati da un solo carattere (char);
  • %s: dati stringa (concatenazioni di più caratteri);

Per stampare più di un valore contemporaneamente dobbiamo fare come mostrato nell’esempio sottostante:

printf("%d %f", somma, area);

l’ordine degli specificatori di formato indica l’ordine con cui vedremo i valori a video, quindi in questo caso vedremo prima il valore somma e poi il valore area sulla stessa riga.

La funzione printf consente di stampare a video oltre alle variabili, anche il testo. Facciamo un esempio:

printf("Questa è la somma= %d e questa è l'area= %f", somma, area);

a video vedremo la scritta

Questa è la somma= 100 e questa è l’area= 232,5

Gli specificatori di formato verranno sostituiti con le variabili poste dopo la chiusura delle virgolette, nell’esatto ordine in cui le abbiamo messe.

printf-specificatore-di-formato

Per andare a capo tra un valore e l’altro dobbiamo usare i caratteri \n come mostrato nel seguente esempio:

printf("Questa è la somma= %d\n e questa è l'area=&f", somma, area);

a video vedremo la scritta

Questa è la somma= 100

e questa è l’area= 232,5

Ovviamente l’istruzione prinf consente di stampare anche semplicemente un scritta, senza per forza dover mettere le variabili.

printf("Questo programma calcola la somma di due numeri");

L’istruzione printf è molto comoda combinata all’istruzione scanf.

printf("Inserisci un numero intero: ");
scanf("%d", &num);
printf("Il numero inserito è %d", num);

a video vedremo la scritta

Inserisci un numero intero:

La quale ci “avviserà” che il programma è in attesa della digitazione di un numero intero. Una volta inserito il numero e premuto il pulsante invio comparirà la scritta

Il numero inserito è 212

dove 212 è il valore ipotetico da noi inserito.

Tra il carattere % e la lettera che identifica il tipo di dato, è possibile aggiungere delle opzioni di formato, per esempio operatori che consentono di stabilire quante cifre decimali vogliaimo vedere a video:

printf(“area = %.2f”, a);

mettendo il carattere punto seguito da un numero ( .2 ) andiamo a stabilire il numero delle cifre decimali da stampare, in questo caso due cifre decimali.

Se il valore di a fosse stato 23.5647 il valore stampato a video sarebbe stato 23.56 😉

printf-formato

Se vuoi saperne di più sulle formattazioni possibili nel linguaggio C, leggi la seguente guida: Output formattato.

Fate attenzione a non mettere uno specificatore di formato di un tipo diverso dalla variabile a cui fa riferimento. Per esempio, lo specificatore %d non dovrà mai essere usato per una variabile char, per quest’ultimo esiste lo specificatore %c. Se usassimo invece lo specificatore %d per una variabile float o double, verrà stampate a video solo la parte intera del numero, ossia quella prima della virgola, mentre la parte decimale verrà brutalmente omessa.

Quindi ricapitolando quanto imparato in questa lezione…

Per stampare un messaggio o delle variabili a video abbiamo bisogno dell’istruzione printf, reperibile nella libreria stdio.h, da includere nel progetto (#include <stdio.h>). Il messaggio stampato a video sarà quello contenuto all’interno dei doppi apici ” … ” nei quali, se volessimo stampare delle variabili, dovremmo mettere un numero di specificatori di formato pari al numero delle variabili da stampare, facendo moltissima attenzione al tipo di dato da specificare, per evitare inutili problemi di incompatibilità.

Lasciate un like alla nostra pagina Facebook per rimanere sempre aggiornati. 😉

Staff Melabu

Lascia un commento

Il tuo indirizzo email non sarà reso pubblico. I campi segnati sono obbligatori *

*