Panoramica del progetto
Fa parte della sezione Logica e flusso del percorso C di Coddy. Lezione 20 di 63.
Sfida
FacileNelle prossime lezioni, realizzerai una semplice utility per il testo che dimostra applicazioni pratiche della manipolazione di stringhe e caratteri.
Scrivi un programma in C che costituisca la base di un'utility per il testo leggendo e memorizzando l'input dell'utente. Il programma deve:
- Chiedere all'utente di inserire una frase breve stampando:
Enter a sentence: - Dichiarare un array di caratteri chiamato
sentencecon 200 elementi per memorizzare l'input - Usare
scanfcon lo specificatore di formato%sper leggere una singola parola dall'utente - Stampare la parola memorizzata nel formato:
You entered: [word] - Dimostrare che l'array di caratteri è terminato correttamente con null stampando la lunghezza della parola memorizzata usando
strlen()nel formato:Length: [length]
Ricordati di includere l'header <string.h> per usare la funzione strlen().
L'output deve mostrare i risultati nel seguente formato:
Enter a sentence:
You entered: [word]
Length: [length]Ad esempio, se l'input è:
HelloL'output deve essere:
Enter a sentence:
You entered: Hello
Length: 5Importante: La riga del prompt deve terminare con una nuova riga subito dopo i due punti: non aggiungere uno spazio finale prima di \n. Usa esattamente printf("Enter a sentence:\n"); come mostrato.
Questa sfida introduce il meccanismo di base per l'input e la memorizzazione che fungerà da fondamento per le funzionalità dell'utility per il testo che aggiungerai nelle prossime lezioni. Verifica la tua comprensione della dichiarazione di array di caratteri, dell'input di stringhe con scanf e del calcolo di base della lunghezza di una stringa usando strlen().
Provalo tu
#include <stdio.h>
#include <string.h>
int main() {
// TODO: Scrivi qui il tuo codice
// 1. Stampa il messaggio di richiesta
// 2. Dichiara un array di caratteri chiamato 'sentence' con 200 elementi
// 3. Leggi l'input usando scanf con lo specificatore di formato %s
// 4. Stampa la parola inserita e la sua lunghezza
return 0;
}Tutte le lezioni di Logica e flusso
1Fondamenti dei puntatori
Che cos’è un puntatore?Dichiarare i puntatoriL’operatore di indirizzo (&)L’operatore di dereferenziazione (*)Puntatori NULLRiepilogo: nozioni di base sui puntatori4Progetto: Utility di testo semplice
Panoramica del progettoConteggio dei caratteri2Puntatori e array
I nomi degli array come puntatoriElementi degli array e puntatoriAritmetica dei puntatoriConfrontare i puntatoriRiepilogo: attraversamento di un array con i puntatori5Puntatori e funzioni
Passaggio per valorePassare puntatori alle funzioniModificare le variabili tramite puntatoriUn esempio classico: scambiare valoriPassare array alle funzioniRiepilogo: argomenti puntatore nelle funzioni3Array di caratteri e stringhe
Stringhe come array di charIl terminatore nullInput di stringhe con scanfUso di strlen()Uso di strcpy()Uso di strcat()Uso di strcmp()Riepilogo: funzioni di base per le stringhe6Gestione della memoria
Memoria Stack vs. HeapAllocazione dinamica - malloc()Usare sizeof() per l'allocazioneVerificare il fallimento dell'allocazioneLiberare la memoria con free()Allocare con calloc()Riepilogo: array dinamico9Progetto: Inserimento semplice di un contatto
Progetto: Definire una struct ContattoFunzione per creare un contattoEsercitati da solo: Compilatore C online