La funzione printf() La funzione fa parte della Libreria
Standard del C e consente all’utente di inviare sul monitor del pc dei
numeri / caratteri. Il parametro principale della
funzione è la stringa di formato, ovvero una stringa di testo che
specifica : (1) che
caratteri stampare (2) in che
formati stamparli (3) i
valori di quali variabili vanno stampati Nel caso in cui tale stringa
sia composta da solo testo, ovvero solo da caratteri normali, la
funzione stampa tutti i caratteri formanti la stringa di formato stessa. Ad esempio, printf(“Prova di scrittura
\n”); Produrrà come output Prova di scrittura Il carattere \n (nonostante ci
siano due simboli, esso va considerato come un singolo carattere) indica che
bisogna inserire un ‘a capo’. Altri caratteri speciali sono:
Tutti questi simboli vanno
trattati come se rappresentassero un singolo carattere. Ad esempio, printf(“prima riga \n seconda
riga \t tabulazione”); produrrà come output prima riga seconda riga tabulazione All’interno della stringa di
formato è anche possibile inserire degli altri caratteri speciali che
permettono di stampare i valori delle variabili contenute nel programma. Tali
caratteri speciali si indicano con il termine di specificatori di formato
ed indicano alla funzione qual è il tipo della variabile che deve essere
visualizzata. Ad esempio int num = 4; printf(“Il valore della
variabile num e\’: %d \n”,num); produce come output Il valore della variabile num
e’: 4 Alcuni degli specificatori di
formato sono:
Con la funzione printf()
possiamo stampare una variabile per volta o stamparne molte
contemporaneamente int
var1=4, var2 = 43, var3 = 234; double
dec1 = 3.1415, dec2 = 2.78; printf(“stampo molte
variabili; alcune intere %d %d %d\n”,var1,var2,var3); printf(“ancora variabili,
questa volta decimali %f %f”,dec1,dec2); Le due istruzioni producono
come output stampo molte variabili; alcune
intere 4 43 234 ancora variabili, questa volta
decimali 3.141500 2.780000 Nota: gli spazi tra le
variabili ci sono solo perché essi compaiono nella stringa di formato.
L’istruzione printf(“%f%f”,dec1,dec2); produce 3.1415002.780000 Per evitare un sacco di 0
nella stampa di variabili di tipo float o double, possiamo usare ancora gli
specificatori di formato indicando quante cifre in totale vogliamo stampare e
quante vogliamo che compaiano dopo la virgola %4.3f indica che in totale voglio
stampare 4 cifre, compreso il punto decimale, e che di queste 4 ne voglio 3
dopo la virgola double temp=34.1232; printf(“%f %5.2f
%8.4f”,temp,temp,temp); produce 34.123200 34.12
34.1232 NOTA: in questo modo posso
produrre delle tabelle ordinate double
d1=34.1233213,d2=1232.3,d3=0.1212; printf(“%f
%f %f”,d1,d2,d3); produce
34.12332131232.30.1212 mentre double
d1=34.1233213,d2=1232.3,d3=0.1212; printf(“%9.2f %9.2f
%9.2f”,d1,d2,d3); produce ****34.12 **1232.30 *****0.12 Il carattere ‘*’ indica la presenza di uno spazio lasciato dal programma a causa del formato specificato; ‘ ‘ indica lo spazio lasciato a causa dello spazio presente nella stringa di formato. A questo punto possiamo scrivere anche delle cose più
elaborate int num1=42,num2=9834; double h = 23423.123; printf(“$$$$\nValori interi: %d\t%d \n\t ed ora un
valore decimale: %f\n$$$$\n”); che produce $$$$ Valori interi: 42
9834 ed ora un
valore decimale 23423.123000 $$$$ |