Printf

Printf in C è una funzione di output così come lo sono anche putc e putchar. Più avanti vedremo altre funzioni derivate.

Quindi printf è una funzione che serve a visualizzare semplicemente un messaggio a video.


La sintassi è la seguente:

printf(“testo <SpecificatoreDiFormato>”,{<Espressione>})

La funzione pertanto invia al dispositivo di output il messaggio posto tra doppi apici.


Facciamo dunque alcuni semplici esempi:

printf(“Coding Creativo”);

In questo caso non ho utilizzato nè SpecificatoreDiFormato , nè l’espressione dopo la virgola, ma ho stampatao semplicemente una frase.

printf(“%c“, ‘A‘);

In questo caso ho solo stampato la lettera A, senza inserire del testo prima.

printf(“Base: %d”, base)

In questo caso stampo a video il valore intero della base.


Printf – Specificatore di formato

Vediamo adesso in dettaglio gli specificatori di formato che si usano nella funzione printf in C.

Specificatore di formato
Espressione
%c charcarattere singolo
%d (%i)
intintero decimale con segno
%e (%E)
float o double formato esponenziale
%f
float o doublereale con segno
%g (%G)
float o double%f o %e in base alle esigenze
%o intvalore in base 8 senza segno
%p pointervalore di una variabile puntatore
%s array di charstringa di caratteri
%u intintero senza segno
%x (%X)
intvalore in base 16 senza segno

Il simbolo % è dunque utilizzato per introdurre lo specificatore di formato. Per stampare a video il carattere % allora occorre inserirne due.

Facciamo quindi un esempio:

printf(“Sconto del 30 %%”);

Così visualizziamo in output la frase: Sconto del 30%.


La sequenza di escape

La sequenze di escape sono dei caratteri che non vengono visualizzati, ma contribuiscono a formattare il testo. Tutte le sequenze di escape iniziano con il carattere di backslash (\) e sono interpretate come un singolo carattere.

Sequenza di escape Descrizione
\n nuova riga (new line)
\t tabulazione (tab)
\a segnale sonoro (alert)
\f nuova pagina (form feed)
\r ritorno a capo della stessa riga
\v tabulazione verticale
\b una battuta indietro (backspace)
\\ barra rovesciata (backslash)
\’ apice singolo
\” doppi apici
\? punto di domanda
\0 fine stringa
\<CifraOttale> numero ottale
\<CifraEsadecimale> numero esadecimale


Facciamo adesso degli esempi d’uso della funzione printf

Realizziamo un semplicissimo programma che stampa a video nel primo printf un numero decimale, nel secondo una stringa, nel terzo oltre al numero decimale anche lo stesso numero in ottale ed esadecimale, nel quarto un carattere singolo e nell’ultimo un numero con la virgola.

#include <stdio.h>

main() {
	printf("x vale %d", 10);
	printf("\nIl colore del maglione e': %s ", "verde");
	printf("\nNumero decimale: %d, ottale: %o, esadecimale: %x",
             234, 234, 234);
	printf("\nCarattere singolo: %c", 'A');
        printf("\nPigreco vale: %5.2f", 3.14);
}

Come potete notare nel caso del float ho specificato %5.2f infatti è possibile fare delle precisazioni.

%[lunghezza].[precisione]<SpecificatoreDiFormato >

In questo modo, ad esempio nel caso del float indichiamo quante cifre vogliamo stampare e quante dopo la virgola.

Quindi con %5.2f indichiamo un totale di 5 cifre di cui due dopo la virgola, nel conteggio delle 5 cifre è compreso anche il punto decimale.

Alcuni link utili

Realizzare un menù di scelta in C

Strutture complesse in C

Esercizio sulle struct in C

Typedef struct C

Media per riga e per colonna

Somma elementi diagonale principale di una matrice

Come sommare gli elementi della cornice esterna

Come sommare due matrici

Sommare dei numeri di una matrice

Matrice trasposta

Prodotto tra matrici

Ricerca elementi in una matrice

Inserire dati in una matrice

Tavola pitagorica in C

Array multidimensionali

Programma sui triangoli in C

Media dei numeri in un array

Array con numeri random

Quick sort in C

Selection sort in C

Merge sort in C

Insertion Sort in C

Autore dell'articolo: Cristina

Avatar per Coding Creativo

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *