Come imparare la programmazione in C con questo progetto per principianti
Imparare a programmare è un'esperienza cumulativa. Accanto all'apprendimento della sintassi della lingua scelta, devi anche imparare i principi generali che tutti i linguaggi di programmazione utilizzano.
Comprendere e apprendere la programmazione in C può essere scoraggiante, ma ci sono alcune idee di base che valgono la pena di familiarizzare con l'avvio. Un semplice progetto è un ottimo modo per imparare i fondamenti di C.
Quindi dove dovresti iniziare? Salutando!
1. Ciao, Mondo!
La prima parte di quasi tutti i corsi di codifica è la Ciao mondo programma. Passandoci sopra nel dettaglio si evidenziano alcuni dei modi in cui C differisce dalle altre lingue. Per cominciare, apri un editor di testo o IDE Text Editors vs. IDE: quale è meglio per i programmatori? Editor di testo e IDE: quale è meglio per i programmatori? Scegliere tra un IDE avanzato e un editor di testo più semplice può essere difficile. Offriamo alcuni spunti per aiutarti a prendere questa decisione. Leggi di più a tua scelta e inserisci questo codice:
#includere / * questo è uno script Hello World in C * / int main (void) printf ("Hello, World! \ n"); ritorno 0;
Questo breve pezzo di codice viene stampato sulla console prima di terminare il programma. Salvalo da qualche parte facile da ricordare come Ciao C. Ora devi compilare e compilare il tuo file.
Farlo funzionare
Di solito, non è necessario installare alcun software aggiuntivo sul computer per eseguire gli script C. Apri una finestra di terminale (o un prompt dei comandi se stai usando Windows) e vai alla directory in cui hai salvato il tuo script.
Il modo in cui compili ed esegui il tuo file varia da sistema a sistema:
- Utenti Windows: Rendi il tuo file eseguibile digitando cl ciao.c e premendo invio. Questo creerà hello.exe nella stessa cartella, che puoi eseguire digitando Ciao.
- Utenti Linux e macOS: genere gcc -o ciao ciao.c e premere Invio per renderlo eseguibile ed eseguirlo digitando ./Ciao.
Qualunque metodo tu usi, l'esecuzione del tuo script dovrebbe mostrarti questo:
Se non ha funzionato su Windows, assicurati di eseguire il prompt dei comandi in modalità amministratore. Per macOS, potrebbe essere necessario installare Xcode dall'app store e seguire questi passaggi da StackOverflow.
Ora, esaminiamo il programma riga per riga per vedere come funziona e migliorarlo!
Under the Hood: Comprensione del linguaggio C.
preprocessori
Lo script appena creato inizia con l'inclusione di una libreria.
#includere
La prima riga nello script è chiamata a preprocessore. Questo viene eseguito prima che il resto dello script sia compilato. In questo caso, dice allo script di usare il stdio.h biblioteca. Vi è un numero enorme di preprocessori disponibili per compiti diversi.
Stdio.h si occupa di ricevere input dall'utente del programma e di restituire loro le informazioni.
/ * questo è uno script Hello World in C * /
Questa prossima riga è un commento. La barra e la stella dicono al compilatore di ignorare tutto ciò che si trova tra esso e la stella e la barra di chiusura. Anche se questo può sembrare inutile, essere in grado di lasciare a se stessi e agli altri delle note chiare su ciò che fa il tuo codice è un'abitudine essenziale per entrare.
La funzione principale
int main (void)
Ogni programma C deve avere a principale funzione. Main è una funzione che restituisce un numero intero, indicato da int. Le parentesi dopo main sono per i suoi argomenti, anche se in questo caso non ne accetta, ed è per questo che usi vuoto parola chiave.
Scrivi il codice da eseguire tra due parentesi graffe.
printf ("Hello, World! \ n"); ritorno 0;
All'interno della funzione, si chiama il printf () funzione. Proprio come principale(), printf è una funzione. La differenza è che printf è una funzione nel stdio libreria che hai incluso all'inizio.
Printf stampa qualsiasi cosa tra parentesi, tra le virgolette, nella console. Il \ n è una sequenza di escape chiamata newline, che dice al compilatore di saltare alla riga successiva nella console prima di continuare.
Nota che queste linee finiscono in virgola, che il compilatore usa per dividere un compito dal successivo. Presta molta attenzione a questi punti e virgola: la loro mancanza è la causa numero uno delle cose che non vanno bene!
Infine, la funzione ritorna con il numero 0, terminando il programma. Il principale() la funzione deve sempre restituire un numero intero, e return = 0; segnala al computer che il processo ha avuto successo.
La comprensione di ogni fase di questo script è un ottimo inizio nell'apprendimento sia della sintassi C che di come funziona la lingua.
2. Creazione di funzioni C personali
Puoi creare le tue funzioni personalizzate in C. Invece di stampare Hello World nella funzione principale, crea una nuova funzione per farlo per te.
void print_for_me () printf ("Hello, World! \ n");
Rompiamo questo.
vuoto è una parola chiave che significa che la seguente funzione non restituirà nulla.
print_for_me () è il nome della funzione e le parentesi vuote mostrano che non richiede che gli argomenti funzionino. Un argomento è qualsiasi informazione da passare a una funzione per farlo funzionare - in seguito si aggiungerà un argomento proprio per cambiare l'output! Nota: Questo non è lo stesso della funzione main () sopra la quale void utilizzato. Quella funzione non può accettare argomenti, mentre questo può (ma in questo caso non è necessario).
Il blocco di codice dovrebbe esserti familiare: è solo l'istruzione di stampa della funzione principale originale.
Ora puoi chiamare questa funzione dalla tua funzione principale.
int main (void) print_for_me (); print_for_me (); ritorno 0;
Puoi vedere qui un vantaggio nell'utilizzo della tua funzione. Piuttosto che digitare printf (“Ciao mondo! \ n”) ogni volta, puoi chiamare la funzione due volte.
In questo momento potrebbe non sembrare così importante, ma se la tua funzione print_for_me conteneva molte righe di codice, essere in grado di chiamarla così facilmente è un ottimo risparmio di tempo!
Questa è un'idea fondamentale della programmazione che incontrerai durante la tua formazione. Scrivi una tua funzione una volta, invece di scrivere gli stessi grossi pezzi di codice più e più volte.
3. Utilizzo di prototipi di funzioni in C
I prototipi sono uno dei principali modi in cui il principiante C si differenzia dalle altre lingue. In breve, un prototipo è un'anteprima di una funzione definita in seguito. Se scrivi la funzione print_for_me () dopo la funzione principale, potresti ricevere un avvertimento durante la compilazione:
Il messaggio di avviso ti dice che il compilatore è entrato nella funzione print_for_me prima di essere dichiarato, quindi non poteva essere sicuro che funzionasse correttamente quando il programma è in esecuzione.
Il codice funzionerebbe ancora, ma l'avviso può essere evitato del tutto utilizzando un prototipo.
#includere void print_for_me (); int main (void) print_for_me (); print_for_me (); ritorno 0; void print_for_me () printf ("Hello, World! \ n");
Osservando il programma completo è possibile vedere il prototipo per print_for_me () esistente all'inizio del programma, ma non contiene nulla. La funzione prototipo mostra al compilatore come deve apparire la funzione e se richiede o meno argomenti.
Ciò significa che quando lo chiami nella funzione principale, il compilatore sa se viene chiamato correttamente e può lanciare un avvertimento o un errore se necessario. Questo potrebbe essere qualcosa che sembra strano ora, ma conoscerli ora aiuterà in futuro.
Questo programma funziona ancora senza un prototipo, ma è una buona pratica da usare. L'output sembra ancora lo stesso per ora, consente di cambiarlo per renderlo più personale!
4. Passare argomenti alle funzioni C.
Modifica dello script
Per questo passaggio finale, chiederai il nome dell'utente e registrerai i loro input. Quindi lo userai nella funzione che hai creato prima. In C, le parole non sono conosciute come stringhe come in altri linguaggi di programmazione.
Invece, sono una serie di singoli personaggi. Il simbolo per un array è [] e la parola chiave è carbonizzare. Inizia aggiornando la funzione del tuo prototipo all'inizio del tuo script:
#includere void print_for_me (nome char []);
Ora il compilatore saprà che la funzione più avanti nello script prende una serie di caratteri chiamati nome. Finora, questo personaggio non esiste. Aggiorna la tua funzione principale per crearla e usala per memorizzare l'input dell'utente:
int main (void) nome char [20]; printf ("Inserisci nome:"); scanf ("% s", nome); print_for_me (nome); print_for_me ( "Tutti!"); ritorno 0;
La prima riga in main crea un array di caratteri con 20 spazi possibili chiamati name. Successivamente, all'utente viene richiesto di inserire il proprio nome utilizzando printf. La riga successiva utilizza una nuova funzione chiamata scanf che prende la parola successiva che l'utente digita.
Il “%S” dice alla funzione che dovrebbe memorizzare i dati come una stringa e chiamarla nome.
Modifica della funzione
Ora quando chiami print_for_me, puoi includere nome tra parentesi. Nella riga successiva, vedrai che puoi anche passare altri caratteri purché tra virgolette. Entrambe le volte, ciò che è tra parentesi viene passato alla funzione print_for_me.
Modificalo ora per usare le nuove informazioni che gli stai dando:
void print_for_me (char name []) printf ("Hello,"); puts (nome);
Qui puoi vedere che le parentesi sono state aggiornate proprio come il prototipo all'inizio dello script. All'interno, si stampa ancora ciao usando printf. Una nuova funzione qui è mette. Questa è una versione più avanzata di printf.
Tutto ciò che viene messo tra parentesi verrà stampato sulla console e una nuova riga (la \ n hai usato in precedenza) viene aggiunto automaticamente.
Salva e compila il tuo codice nello stesso modo in cui facevi prima, nota che puoi assegnare al programma un nome diverso se non vuoi sovrascrivere il tuo programma precedente. Ho chiamato il mio Hello2:
Come si dovrebbe vedere, il programma prende l'input e lo usa nella funzione, prima di inviare il saluto predefinito di “Tutti!” di nuovo dando due uscite separate alla stessa funzione.
L'ABC della programmazione in C
Questo programma è semplice, ma alcuni dei concetti in esso contenuti non lo sono. Il codice C più avanzato deve essere scritto molto bene per prevenire arresti anomali. Questo è il motivo per cui molti pensano che sia un ottimo linguaggio da imparare per primo, poiché instilla buone abitudini in nuovi programmatori.
Altri pensano che l'apprendimento del C ++ sia un'idea migliore, poiché si basa su C pur mantenendo il controllo del sistema inferiore. Una cosa è certa: i linguaggi come Python sono molto più adatti ai principianti. Per un linguaggio vecchio, C è ancora usato ovunque, ma Python potrebbe essere la lingua del futuro 6 Ragioni per cui Python è il linguaggio di programmazione del futuro 6 Ragioni per cui Python è il linguaggio di programmazione del futuro Vuoi imparare o espandere le tue capacità di programmazione ? Ecco perché Python è il miglior linguaggio di programmazione per imparare quest'anno. Leggi di più !
.