Come imparare la programmazione in C con questo progetto per principianti

imparare-c

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 programmazione è il programma Hello World . 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 a tua scelta e inserisci questo codice:

 #include <stdio.h> /* this is a Hello World script in C */ int main(void) { printf("Hello, World! n"); return 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 eseguibile il tuo file digitando cl hello.c e premendo invio. Questo creerà hello.exe nella stessa cartella, che puoi eseguire digitando ciao .
  • Utenti Linux e macOS: digita gcc -o ciao ciao.c e premi invio per renderlo eseguibile ed eseguilo digitando ./hello .

Qualunque metodo tu usi, l'esecuzione del tuo script dovrebbe mostrarti questo:

Uscita che mostra i risultati di Hello World! schizzo in C

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.

 #include <stdio.h> 

La prima riga nello script è chiamata preprocessore . Questo viene eseguito prima che il resto dello script sia compilato. In questo caso, dice allo script di usare la libreria stdio.h . 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.

 /* this is a Hello World script 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 una funzione principale . Main è una funzione che restituisce un 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 la parola chiave void .

Scrivi il codice da eseguire tra due parentesi graffe.

 { printf("Hello, World! n"); return 0; } 

All'interno della funzione, si chiama la funzione printf () . Proprio come main () , printf è una funzione. La differenza è che printf è una funzione nella libreria stdio che hai incluso all'inizio.

Printf stampa qualsiasi cosa tra parentesi, tra le virgolette, nella console. La n è una sequenza di escape chiamata newline, che dice al compilatore di saltare alla riga successiva nella console prima di continuare.

Si noti che queste righe terminano in punti e virgola , che il compilatore utilizza per suddividere un'attività da quella successiva. 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. La funzione main () deve sempre restituire un intero e restituire = 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.

void è 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 argomenti per funzionare. 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(); return 0; } 

Puoi vedere qui un vantaggio nell'utilizzo della tua funzione. Invece di digitare printf ("Hello, World! 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!

Ciao mondo che emette due volte attraverso più chiamate di funzione

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:

Immagine composita che mostra il codice senza alcun prototipo e l'avviso che il compilatore c dà

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.

 #include <stdio.h> void print_for_me(); int main(void) { print_for_me(); print_for_me(); return 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.

Ciao mondo che emette due volte attraverso più chiamate di funzione

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 è char . Inizia aggiornando la funzione del tuo prototipo all'inizio del tuo script:

 #include <stdio.h> void print_for_me(char name[]); 

Ora il compilatore saprà che la funzione più avanti nello script prende una serie di caratteri chiamati name . Finora, questo personaggio non esiste. Aggiorna la tua funzione principale per crearla e usala per memorizzare l'input dell'utente:

 int main(void) { char name[20]; printf("Enter name: "); scanf("%s", name); print_for_me(name); print_for_me("Everyone!"); return 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.

"% S" indica alla funzione che deve memorizzare i dati come una stringa e chiamarlo nome .

Modifica della funzione

Ora quando chiami print_for_me, puoi includere il 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(name); } 

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 è puts . Questa è una versione più avanzata di printf.

Tutto ciò che viene messo tra parentesi verrà stampato sulla console e una nuova riga (la n che hai usato in precedenza) verrà aggiunta 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 :

Il programma finito in C

Come si dovrebbe vedere, il programma prende l'input e lo usa nella funzione, prima di inviare nuovamente il saluto preimpostato di "Everyone!" 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 !

Leggi l'articolo completo: Come imparare la programmazione in C con questo progetto per principianti

Fonte: Utilizzare