Scanf è una delle funzioni di standard input outpu, esattamente come printf. Ci permette di prendere input dall’utente.
ESERCIZIO 1
fai un programma che prende in input un intero e lo stampa
BREAKDOWN:
in questo esercizio si definisce una variabile x. Si prende in input un intero usando scanf. e si stampa l’intero.
questo ci dice che vogliamo prendere un intero in input. e inserirlo in x. Perchè mettiamo la &? Per capire cos’è la ”&” si rimanda alla lezione sui puntatori, ma, in breve, significa che scanf accede all’indirizzo di memoria di x per cambiarne il valore. “&x” significa, quindi, “l’indirizzo di memoria dove è conservata la variabile x”. Come ho detto, per capire bene perchè scanf faccia questa cosa, si rimanda alla lezione sui puntatori, per adesso ci basta sapere che, se vogliamo usare scanf, dobbiamo passare “&x”.
Certamente! Ecco una serie di esercizi sulla funzione di libreria scanf
in linguaggio di programmazione C. Gli esercizi sono progressivamente più complessi, e ognuno è accompagnato da una sezione “Breakdown” che spiega ogni istruzione.
ESERCIZIO2: Input di più variabili
Breakdown
int num1, num2;
: Dichiarazione di due variabili intere per l’input.printf("Inserisci due numeri separati da uno spazio: ");
: Stampa del messaggio per chiedere all’utente di inserire due numeri separati da uno spazio.scanf("%d %d", &num1, &num2);
: Utilizzo discanf
per leggere due numeri separati da uno spazio e memorizzarli nelle variabilinum1
enum2
.printf("Hai inserito: %d e %d\n", num1, num2);
: Stampa dei numeri inseriti.
ESERCIZIO3: Input di una stringa
Breakdown
char nome[50];
: Dichiarazione di un array di caratteri per memorizzare una stringa di massimo 49 caratteri (più il terminatore nullo).printf("Inserisci il tuo nome: ");
: Stampa del messaggio per chiedere all’utente di inserire il suo nome.scanf("%s", nome);
: Utilizzo discanf
per leggere una stringa e memorizzarla nell’arraynome
.printf("Ciao, %s!\n", nome);
: Stampa della stringa inserita.
ESERCIZIO4: Gestione di numeri decimali
Breakdown
float numero;
: Dichiarazione di una variabile floating-point per l’input.printf("Inserisci un numero decimale: ");
: Stampa del messaggio per chiedere all’utente di inserire un numero decimale.scanf("%f", &numero);
: Utilizzo discanf
per leggere un numero decimale e memorizzarlo nella variabilenumero
.printf("Hai inserito: %.2f\n", numero);
: Stampa del numero decimale inserito con precisione di due cifre decimali.
ESERCIZIO5: Gestione di più tipi di dati
Breakdown
int intero; float decimale; char carattere;
: Dichiarazione di variabili per memorizzare un intero, un numero decimale e un carattere.printf("Inserisci un numero intero, un numero decimale e un carattere: ");
: Stampa del messaggio per chiedere all’utente di inserire un intero, un numero decimale e un carattere.scanf("%d %f %c", &intero, &decimale, &carattere);
: Utilizzo discanf
per leggere un intero, un numero decimale e un carattere e memorizzarli nelle rispettive variabili.printf("Hai inserito: %d, %.2f, %c\n", intero, decimale, carattere);
: Stampa dei dati inseriti.
Questi esercizi coprono un’ampia gamma di situazioni in cui è possibile
utilizzare la funzione scanf
per leggere input dall’utente in C. Spero che ti siano utili!
Per continuare:
per continuare, continua con Control Flow