Vuoi iniziare a programmare, ma non sei sicuro di C?  Prova questo tutorial per principianti in programmazione C per verificare se è la lingua che fa per te.

Come imparare la programmazione C con questo progetto per principianti

Annuncio pubblicitario Imparare a programmare è un'esperienza cumulativa. Oltre ad apprendere la sintassi della lingua prescelta, devi anche imparare i principi generali che usano tutti i linguaggi di programmazione. Comprendere e apprendere la programmazione in C può essere scoraggiante, ma ci sono alcune idee di base con le quali vale la pena familiarizzare all'avvio.

Annuncio pubblicitario

Imparare a programmare è un'esperienza cumulativa. Oltre ad apprendere la sintassi della lingua prescelta, devi anche imparare i principi generali che usano tutti i linguaggi di programmazione.

Comprendere e apprendere la programmazione in C può essere scoraggiante, ma ci sono alcune idee di base con le quali vale la pena familiarizzare all'avvio. Un semplice progetto è un ottimo modo per apprendere i fondamenti di C.

Quindi da dove dovresti iniziare? Salutando!

1. Ciao, mondo!

La prima parte di quasi tutti i corsi di programmazione è il programma Hello World . Analizzarlo in dettaglio evidenzia alcuni dei modi in cui C differisce da altre lingue. Per cominciare, apri un editor di testo o IDE Text Editors vs. IDE: quale è meglio per i programmatori? Editor di testo vs. IDE: qual è il migliore per i programmatori? Scegliere tra un IDE avanzato e un semplice editor di testi può essere difficile. Offriamo alcune informazioni utili per aiutarti a prendere quella decisione. Leggi di più a tua scelta e inserisci questo codice:

 #include /* 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 in un posto facile da ricordare come ciao.c. Ora devi compilare e creare il tuo file.

Fallo funzionare

Di solito, non è necessario installare alcun software aggiuntivo sul computer per eseguire gli script C. Apri una finestra del terminale (o il prompt dei comandi se stai eseguendo Windows) e vai alla directory in cui hai salvato lo 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à ciao.exe nella stessa cartella, che puoi eseguire digitando ciao .
  • Utenti Linux e macOS: digitare gcc -o hello hello.c e premere invio per renderlo eseguibile ed eseguirlo digitando ./hello .

Qualunque metodo tu usi, eseguire lo script dovrebbe mostrarti questo:

Output 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 diamo un'occhiata al programma riga per riga per vedere come funziona e migliorarlo!

Roba da smanettoni: comprensione del linguaggio C.

preprocessori

Lo script appena creato inizia con l'inclusione di una libreria.

 #include 

La prima riga dello script si chiama preprocessore . Questo viene eseguito prima della compilazione del resto dello script. In questo caso, indica allo script di utilizzare la libreria stdio.h . Esiste un numero enorme di preprocessori disponibili per diverse attività.

Stdio.h si occupa di ottenere l'input dall'utente del programma e di restituire loro informazioni.

 /* this is a Hello World script in C */ 

Questa riga successiva è un commento. La barra e la stella indicano al compilatore di ignorare tutto tra essa e la stella e la barra di chiusura. Anche se questo può sembrare inutile, essere in grado di lasciare a te stesso e agli altri note chiare su ciò che fa il tuo codice è un'abitudine essenziale da prendere.

La funzione principale

 int main(void) 

Ogni programma C deve avere una funzione principale . 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 nessuno, motivo per cui si utilizza 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 inclusa all'inizio.

Printf stampa qualsiasi cosa tra parentesi, tra virgolette, sulla 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 punto e virgola, che il compilatore utilizza per dividere un'attività dalla successiva. Presta molta attenzione a questi punti e virgola: mancarli è 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 numero intero e return = 0; segnala al computer che il processo è andato a buon fine.

Comprendere ogni passaggio di questo script è un ottimo inizio per apprendere sia la sintassi C, sia il funzionamento della lingua.

2. Creazione delle proprie funzioni C.

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"); } 

Analizziamo 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 trasmettere a una funzione per farla funzionare, in seguito aggiungerai un tuo argomento per modificare l'output! Nota: questa non è la stessa della funzione main () sopra la quale si usa void. Quella funzione non può accettare argomenti, mentre questa può (ma in questo caso non è necessario).

Il blocco di codice dovrebbe esserti familiare: è solo l'istruzione print 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 derivante dall'uso 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 chiamarlo così facilmente è un grande risparmio di tempo!

Ciao mondo in uscita due volte attraverso più chiamate di funzione

Questa è un'idea fondamentale della programmazione che incontrerai durante la tua istruzione. Scrivi una volta la tua funzione, piuttosto che scrivere sempre gli stessi grossi blocchi di codice.

3. Utilizzo dei prototipi di funzione in C

I prototipi sono uno dei principali modi in cui il principiante C differisce dalle altre lingue. In breve, un prototipo è come un'anteprima di una funzione definita in seguito. Se si scrive la funzione print_for_me () dopo la funzione principale, è possibile che venga visualizzato un avviso durante la compilazione:

Immagine composita che mostra il codice senza prototipo e l'avvertimento del compilatore c

Il messaggio di avviso ti dice che il compilatore si è imbattuto nella funzione print_for_me prima che fosse dichiarato, quindi non poteva essere sicuro che avrebbe funzionato correttamente quando il programma veniva eseguito.

Il codice continuerebbe a funzionare, ma è possibile evitare del tutto l'avvertimento utilizzando un prototipo.

 #include void print_for_me(); int main(void) { print_for_me(); print_for_me(); return 0; } void print_for_me() { printf("Hello, World! \n"); } 

Guardando il programma completo è possibile vedere il prototipo di print_for_me () esiste all'inizio del programma, ma non contiene nulla. La funzione prototipo mostra al compilatore come dovrebbe apparire la funzione e se richiede argomenti o meno.

Ciò significa che quando lo chiami nella funzione principale, il compilatore sa se viene chiamato correttamente e può emettere un avviso o un errore se è necessario. Questo potrebbe essere qualcosa che sembra strano ora, ma conoscerli ora aiuterà in futuro.

Ciao mondo in uscita due volte attraverso più chiamate di funzione

Questo programma funziona ancora senza un prototipo, ma sono buone pratiche da usare. L'output sembra ancora lo stesso per ora, cambiamolo per renderlo più personale!

4. Passare gli argomenti alle funzioni C.

Cambiare lo script

Per questo passaggio finale, chiederai il nome dell'utente e registrerai il 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 matrice di singoli personaggi. Il simbolo per un array è [] e la parola chiave è char . Inizia aggiornando la tua funzione prototipo all'inizio dello script:

 #include void print_for_me(char name[]); 

Ora, il compilatore saprà che la funzione più avanti nello script accetta una matrice di caratteri chiamata nome . 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 una matrice di caratteri con 20 possibili spazi chiamati name. Successivamente, viene richiesto all'utente di inserire il proprio nome utilizzando printf. La riga successiva utilizza una nuova funzione chiamata scanf che accetta la parola successiva digitata dall'utente.

"% S" indica alla funzione che deve archiviare i dati come 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 passare anche altri caratteri purché siano tra virgolette. Entrambe le volte, ciò che è tra parentesi viene passato alla funzione print_for_me.

Modificalo ora per utilizzare le nuove informazioni che le stai fornendo:

 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, stampi ancora ciao usando printf. Una nuova funzione qui è messa. Questa è una versione più avanzata di printf.

Tutto ciò che viene inserito tra parentesi verrà stampato sulla console e verrà automaticamente aggiunta una nuova riga (la \ n utilizzata in precedenza).

Salvare e compilare il codice nello stesso modo in cui è stato eseguito in precedenza: tenere presente che è possibile assegnare un nome diverso al programma se non si desidera sovrascrivere il programma precedente. Ho chiamato il mio hello2 :

Il programma finito in C

Come dovresti vedere, il programma prende l'input e lo usa nella funzione, prima di inviare di nuovo il saluto preimpostato di “Everyone!” Dando due uscite separate alla stessa funzione.

La programmazione ABC della C.

Questo programma è semplice, ma alcuni dei concetti non lo sono. Il codice C più avanzato deve essere scritto molto bene per evitare arresti anomali. Questo è il motivo per cui molti pensano che sia un linguaggio eccellente da imparare per primo perché infonde buone abitudini ai nuovi programmatori.

Altri pensano che l'apprendimento del C ++ sia un'idea migliore, poiché si basa sul C mantenendo il suo controllo di sistema inferiore. (C'è anche Rust da considerare: è un entusiasmante linguaggio di programmazione sintatticamente simile al C ++.)

Una cosa è certa: lingue come Python sono molto più adatte ai principianti. Per un vecchio linguaggio, C è ancora usato ovunque, ma Python potrebbe essere il linguaggio 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 abilità di programmazione ? Ecco perché Python è il miglior linguaggio di programmazione da imparare quest'anno. Leggi di più !

Ulteriori informazioni su: C, esercitazioni di programmazione, programmazione.