Fondamenti solidi di programmazione
Impara le basi della programmazione in C in modo semplice, pratico ed efficace. Variabili, cicli, funzioni, logica e algoritmi.
- ⏱️ 9 ore di corso registrato
- 🧩 Più di 50 algoritmi risolti passo passo
- 🎯 Livello base
- 💻 100% online, fruibile quando vuoi
La funzione pertanto invia al dispositivo di output il messaggio posto tra doppi apici.
Facciamo dunque alcuni semplici esempi con printf:
printf("Coding Creativo");
In questo caso non ho utilizzato nè SpecificatoreDiFormato, nè l'espressione dopo la virgola, ma ho stampato semplicemente una frase.
printf("%c", 'A');
Nel caso specifico 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 |
char - cioè per il carattere singolo |
%d (%i)
|
int - cioè per un intero decimale con segno |
%e (%E)
|
float o double - cioè per il formato esponenziale |
%f
|
float o double - cioè per il reale con segno |
%g (%G)
|
float o double - Quindi si usa %f o %e in base alle esigenze |
| %o |
int - indica cioè un valore in base 8 senza segno |
| %p |
pointer - indica quindi valore di una variabile puntatore |
| %s |
array di char - indica cioè una stringa di caratteri |
| %u |
int - indica cioè un intero senza segno |
%x (%X)
|
int - indica quindi un valore 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 con printf in C:
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), cioè va a capo |
| \t |
tabulazione (tab), fa cioè lo spazio di un tab |
| \a |
segnale sonoro (alert) |
| \f |
nuova pagina (form feed) |
| \r |
ritorno a capo della stessa riga |
| \v |
tabulazione verticale, cioè uno spazio di un tab in verticale |
| \b |
una battuta indietro (backspace) |
| \\ |
barra rovesciata (backslash), stampa quindi \ |
| \’ |
apice singolo, stampa quindi ' |
| \” |
doppi apici, stampa dunque " |
| \? |
punto di domanda, stampa quindi ? |
| \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 precisiamo 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
Come sommare gli elementi della cornice esterna delle matrici
Come sommare due matrici
Sommare dei numeri di una matrice
Ricerca elementi in una matrice
Inserire dati in una matrice
Tavola pitagorica in C
Array multidimensionali
Selection sort in C