C è un linguaggio di programmazione abbastanza vecchio. Il C è stato sviluppato negli anni '70, ma è ancora piuttosto potente perché il C funziona a un livello basso. Imparare il C è un ottimo modo per introdurti a linguaggi di programmazione più complessi e la conoscenza che hai può essere applicata a quasi tutti i linguaggi di programmazione e aiutarti a capire lo sviluppo delle applicazioni. Per iniziare ad apprendere il linguaggio di programmazione C, vedere il passaggio 1 di seguito.
Fare un passo
Parte 1 di 6: Preparazione
Passaggio 1. Scarica e installa il compilatore C
Il codice C deve essere compilato con un programma che interpreta il codice in segnali che la macchina comprende. I compilatori sono generalmente gratuiti e sono disponibili vari compilatori per diversi sistemi operativi.
- Per Windows, prova Microsoft Visual Studio Express o mingw.
- Per Mac, XCode è uno dei migliori compilatori C.
- Per Linux, gcc è una delle opzioni più popolari.
Passaggio 2. Comprendere le basi della programmazione
C è un linguaggio di programmazione abbastanza vecchio e può essere molto potente. C è stato progettato per i sistemi operativi Unix, ma è stato sviluppato per quasi tutti i sistemi operativi. La versione moderna di C è C++.
Fondamentalmente, C è composto da funzioni e in tali funzioni è possibile utilizzare variabili, istruzioni condizionali e cicli per archiviare e manipolare i dati
Passaggio 3. Leggi il codice di base
Dai un'occhiata ai seguenti programmi di base per scoprire come funzionano i vari aspetti dei linguaggi di programmazione e per avere un'idea di come funzionano i programmi.
includere
int main() { printf("Ciao, mondo!\n"); getchar(); restituisce 0; }
- La funzione #include viene utilizzata prima dell'avvio del programma e carica le librerie con le funzionalità necessarie. In questo programma, stdio.h ti permette di usare le funzioni printf() e getchar().
- La funzione int main() dice al compilatore che il programma sta eseguendo una funzione chiamata "main" e restituirà un numero intero al termine. Tutti i programmi C svolgono la funzione "principale".
- {} indica che tutto il codice in esso contenuto fa parte della funzione. In questo programma, tutto il codice in esso contenuto è incluso nella funzione "principale".
- La funzione printf() restituisce il contenuto tra virgolette sullo schermo dell'utente. Le virgolette vengono utilizzate in modo che il testo venga stampato correttamente. \n dice al compilatore di spostare il cursore su una nuova riga.
- ; segna la fine della linea. Quasi tutte le righe di codice C devono terminare con un punto e virgola.
- Il comando getchar() dice al compilatore di attendere l'input della tastiera prima di continuare. Questo è utile perché molti compilatori eseguiranno il programma e chiuderanno immediatamente la finestra. Questa funzione impedisce che il programma finisca prima che venga premuto un tasto.
- Il comando return 0 indica la fine della funzione. Nota che la funzione "main" è una funzione int. Cioè, "main" deve restituire un numero intero al termine del programma. Zero indica che il programma è stato eseguito correttamente; un altro numero indica che il programma ha riscontrato un errore.
Passaggio 4. Prova a compilare il programma
Inserisci il programma nel tuo editor di codice e salvalo come file "*.c". Compila premendo il pulsante Crea o Esegui.
Passaggio 5. Commenta sempre il tuo codice
I commenti sono pezzi di codice che non vengono compilati, ma ti permettono di spiegare cosa sta succedendo. I commenti sono utili per ricordare a te stesso la funzionalità del tuo codice e aiutare altri sviluppatori che potrebbero vedere il tuo codice.
- Per commentare il codice in C, metti /* all'inizio del commento e */ alla fine del commento.
- Commenta tutte le sezioni del codice tranne la più elementare.
- I commenti possono essere utilizzati per escludere determinate sezioni di codice senza eliminarle. Decommenta il codice che vuoi escludere e compila il programma. Se vuoi restituire il codice, decommentalo.
Parte 2 di 6: Utilizzo delle variabili
Passaggio 1. Comprendere la funzione delle variabili
Le variabili consentono di memorizzare i dati, sia dai calcoli nel programma che dall'input dell'utente. Le variabili devono essere definite prima di poter essere utilizzate e sono disponibili diversi tipi di variabili tra cui scegliere.
Le variabili abbastanza usate sono int, char e float. Ogni tipo di variabile memorizza un diverso tipo di dati
Passaggio 2. Impara come dichiarare le variabili
Le variabili devono essere create o dichiarate prima che possano essere utilizzate dal programma. Dichiarare una variabile immettendo il tipo di dati e il nome della variabile. Ad esempio, possono essere utilizzate le seguenti variabili:
galleggia x; nomi di carattere; int a, b, c, d;
- Ricorda che puoi dichiarare più variabili in una riga, purché siano dello stesso tipo. Separare il nome di ogni variabile con una virgola.
- Come la maggior parte delle righe in C, ogni variabile deve terminare con un punto e virgola.
Passaggio 3. Sapere dove è possibile dichiarare le variabili
Le variabili devono essere dichiarate all'inizio di ogni blocco di codice (dentro {}). Se provi a dichiarare le variabili in un secondo momento, il tuo programma non verrà eseguito correttamente.
Passaggio 4. Utilizzare le variabili per memorizzare l'input dell'utente
Una volta compreso il funzionamento delle variabili, è possibile scrivere programmi che memorizzino l'input dell'utente. Utilizzerai la funzione scanf nel tuo programma. Questa funzione cerca un dato input a un valore specificato.
includere
int main() { int x; printf("Inserisci un numero: "); scanf("%d", &x); printf("Hai inserito %d", x); getchar(); restituisce 0; }
- La riga "%d" dice a scanf di cercare un intero nell'input dell'utente.
- La & prima della variabile x dice a scanf dove dovrebbe essere trovata la variabile per cambiarla e memorizza un intero nella variabile.
- L'ultimo comando printf restituisce un numero intero all'utente.
Passaggio 5. Manipola le tue variabili
È possibile utilizzare espressioni matematiche per modificare i dati già archiviati in una variabile. La differenza nelle espressioni matematiche che dovresti capire è che = imposta il valore di una variabile, mentre == confronta i valori di entrambi i lati per vedere se sono simili.
x = 3 * 4; /* imposta "x" su 3 * 4, o 12 */ x = x + 3; /* aggiunge 3 al valore "x" originale e imposta il nuovo valore come variabile */ x == 15; /* controlla se "x" è uguale a 15 */ x < 10; /* controlla se il valore di "x" è minore di 10 */
Parte 3 di 6: utilizzo delle dichiarazioni condizionali
Passaggio 1. Comprendere le basi delle istruzioni condizionali
Le istruzioni condizionali sono al centro di molti programmi e sono istruzioni le cui risposte sono VERE o FALSE, quindi eseguono il programma in base al risultato. L'istruzione condizionale più elementare è se.
VERO e FALSO funzionano in modi diversi in C. VERO termina sempre con un numero diverso da 0. Quando si esegue un confronto, se il risultato è VERO, verrà emesso il numero "1". Se "FALSE", "0" uscirà. Comprendere questo ti aiuterà a capire come vengono elaborate le istruzioni IF
Passaggio 2. Impara gli operatori condizionali di base
I comandi condizionali utilizzano operatori matematici per confrontare i valori. Questo elenco contiene gli operatori condizionali utilizzati più di frequente.
/* maggiore di */ < /* minore di */ >= /* maggiore o uguale a */ <= /* minore o uguale a */ == /* uguale a */ != /* non uguale a */
10 > 5 VERO 6 < 15 VERO 8 >= 8 VERO 4 <= 8 VERO 3 == 3 VERO 4 != 5 VERO
Passaggio 3. Scrivere un'istruzione IF di base
È possibile utilizzare un'istruzione IF per specificare cosa farà il programma dopo che un'istruzione è stata verificata. Puoi combinarlo con altri comandi condizionali per creare un ottimo programma a opzioni multiple, ma questa volta crea un'istruzione IF di base a cui abituarti.
includere
int main(){ if (3 < 5) printf("3 è minore di 5"); getchar();}
Passaggio 4. Utilizza le istruzioni ELSE/IF per sviluppare la tua condizione
È possibile estendere l'istruzione IF utilizzando ELSE e ELSE IF per gestire risultati diversi. L'istruzione ELSE verrà eseguita se l'istruzione IF restituisce FALSE. ELSE IF ti consente di includere più istruzioni IF in un singolo blocco di codice per gestire casi diversi. Leggi l'esempio seguente per vedere come interagiscono le istruzioni condizionali.
#include int main() { int età; printf("Inserisci la tua età attuale: "); scanf("%d", &età); if (età <= 12) { printf("Sei solo un bambino!\n"); } else if (età < 20) { printf("Essere un adolescente è fantastico!\n"); } else if (età < 40) { printf("Sei ancora giovane nel cuore!\n"); } else { printf("Con l'età arriva la saggezza.\n"); } restituisce 0; }
Il programma prende l'input dall'utente e lo prende attraverso le istruzioni IF. Se il numero soddisfa la prima istruzione, viene restituita la prima istruzione printf. Se non soddisfa la prima istruzione, viene esaminata ogni istruzione ELSE IF finché non ne trova una che funzioni. Se non corrisponde a nessuno di essi, passa attraverso l'istruzione ELSE alla fine
Parte 4 di 6: Cicli di apprendimento
Passaggio 1. Comprendi come funzionano i loop
I loop sono uno degli aspetti più importanti della programmazione, in quanto consentono di ripetere blocchi di codice fino a quando non vengono soddisfatte condizioni specifiche. Ciò può rendere le azioni ripetute molto facili da implementare e ti impedisce di dover scrivere nuove istruzioni condizionali ogni volta che vuoi che accada qualcosa.
Esistono tre tipi principali di loop: FOR, WHILE e DO…WHILE
Passaggio 2. Utilizzare un ciclo FOR
Questo è il tipo di ciclo più comune e utile. Continuerà a eseguire la funzione finché non saranno soddisfatte le condizioni impostate nel ciclo FOR. I cicli FOR richiedono tre condizioni: l'inizializzazione della variabile, le condizioni da soddisfare e il modo in cui la variabile viene aggiornata. Se non hai bisogno di tutte queste condizioni, dovrai comunque lasciare uno spazio vuoto con un punto e virgola, altrimenti il ciclo verrà eseguito per sempre.
includere
int main(){ int y; for (y = 0; y < 15; y++;){ printf("%d\n", y); } getchar();}
Nel programma precedente, y è 0 e il ciclo continuerà finché il valore di y è inferiore a 15. Ogni volta che viene visualizzato il valore di y, il valore di y verrà aumentato di 1 e continuerà a ripetersi. Quando y raggiunge 15, il ciclo si fermerà
Passaggio 3. Utilizzare il ciclo WHILE
Il ciclo WHILE è più semplice del ciclo FOR, perché ha solo una condizione e itera finché la condizione è vera. Non è necessario avviare o aggiornare le variabili, sebbene sia possibile farlo nel ciclo principale.
#include int main() { int y; while (y <= 15){ printf("%d\n", y); y++; } getchar(); }
Il comando y++ aggiunge 1 alla variabile y ogni volta che viene eseguito il ciclo. Una volta che y raggiunge 16 (ricorda che questo ciclo verrà eseguito finché y è minore o uguale a 15), il ciclo si fermerà
Passaggio 4. Utilizzare il "DO
.. WHILE . Questo ciclo è utile se si vuole essere sicuri che il ciclo venga eseguito almeno una volta. Nei cicli FOR e WHILE, la condizione del ciclo viene verificata all'inizio del ciclo, consentendo di non soddisfare la condizione e il ciclo fallisce. Il ciclo DO…WHILE controlla la condizione alla fine del ciclo, che assicura che il ciclo venga eseguito almeno una volta.
#include int main() { int y; y = 5; do { printf("Questo ciclo è in esecuzione!\n"); } while (y != 5); getchar(); }
- Questo ciclo visualizzerà un messaggio anche se la condizione è FALSE. La variabile y è impostata su 5 e il ciclo è impostato per essere eseguito quando y non è uguale a 5, quindi il ciclo si interrompe. Il messaggio è stato stampato perché la condizione non è stata verificata fino alla fine del programma.
- Il ciclo WHILE nel pacchetto DO…WHILE deve terminare con un punto e virgola. Questo è l'unico caso in cui il ciclo termina con un punto e virgola.
Parte 5 di 6: utilizzo delle funzioni
Passaggio 1. Comprendere le basi delle funzioni
Le funzioni sono parti di codice che possono essere chiamate da altre parti del programma. Le funzioni consentono di ripetere facilmente il codice e semplificano la lettura e la modifica dei programmi. È possibile utilizzare tutte le tecniche in questo articolo in una funzione e persino utilizzare altre funzioni.
- La riga main() nella parte superiore di questo intero esempio è una funzione, così come getchar()
- L'uso delle funzioni è essenziale per un codice efficiente e leggibile. Usa le migliori funzioni possibili per creare un programma pulito.
Passaggio 2. Inizia con uno schema
Le funzioni dovrebbero essere create dopo aver delineato il loro utilizzo prima di iniziare a programmare. La sintassi di base di una funzione è "return_type name (argument1, argument2, etc.);". Ad esempio, per creare una funzione che somma due numeri:
int add(int x, int y);
Questo codice creerà una funzione che aggiunge due interi (x e y) e quindi restituisce il risultato come intero
Passaggio 3. Utilizzare una funzione in un programma
È possibile utilizzare la struttura del programma per creare un programma che accetta due input interi dall'utente e quindi li aggiunge. Il programma controllerà il funzionamento della funzione di incremento e la utilizzerà per modificare il numero inserito.
#include int add(int x, int y); int main() { int x; int y; printf("Inserisci due numeri da sommare: "); scanf("%d", &x); scanf("%d", &y); printf("La somma dei tuoi numeri è %d\n", add(x, y)); getchar(); } int add(int x, int y) { return x + y; }
- Notare che la struttura del programma si trova in alto. Questa struttura dice al compilatore cosa fare quando viene chiamata la funzione e il risultato della funzione. Questo schema è utile solo se si desidera definire funzioni in altre parti del programma. Puoi definire add() prima di main() e il risultato sarà lo stesso.
- La funzione effettiva di una funzione è definita nella parte inferiore del programma. La funzione main() accetta l'input intero dall'utente e lo passa alla funzione add() per l'elaborazione. La funzione add() restituisce il risultato a main()
- Una volta definito add(), la funzione può essere chiamata ovunque nel programma.
Parte 6 di 6: Continuare la lezione
Passaggio 1. Trova alcuni libri di testo C
Questo articolo copre le basi della programmazione C, ma copre solo la superficie. Un buon libro di riferimento ti aiuterà a risolvere i problemi e ti aiuterà a superare la confusione.
Passaggio 2. Unisciti alla comunità
Molte comunità, sia online che offline, sono dedicate alla programmazione e ai linguaggi di programmazione. Trova altri programmatori C con cui scambiare idee e programmare e imparerai molto anche tu.
Partecipa agli eventi di hackathon quando possibile. È un evento in cui team e programmatori corrono contro il tempo per programmare e risolvere problemi, producendo spesso risultati creativi. Puoi trovare molti programmatori di talento in questo evento che si tiene regolarmente in tutto il mondo
Passaggio 3. Segui un corso di programmazione
Non è necessario studiare Ingegneria Informatica, ma prendere lezioni di programmazione aiuterà davvero il tuo processo di apprendimento. Non c'è aiuto più grande dell'aiuto di qualcuno che ha familiarità con un linguaggio di programmazione dentro e fuori. Puoi prendere lezioni di programmazione nei centri giovanili e nelle università vicine e alcune università ti consentono di seguire le loro lezioni senza essere uno studente.
Passaggio 4. Impara il C++
Una volta compreso il C, non fa mai male imparare il C++. C++ è una versione moderna di C che è più flessibile. Il C++ è stato progettato pensando alla gestione degli oggetti e la comprensione del C++ ti consentirà di creare potenti programmi per una varietà di sistemi operativi.
Suggerimenti
- Aggiungi sempre commenti al tuo programma. I commenti non solo aiutano le altre persone a vedere il tuo codice, ma ti aiutano anche a ricordare cosa hai scritto e perché hai scritto il codice. Forse sai cosa hai scritto adesso, ma dopo due o tre mesi non te lo ricorderai più.
- Termina sempre istruzioni come printf(), scanf(), getch() ecc. con un punto e virgola, ma non utilizzare il punto e virgola nelle istruzioni di controllo del ciclo come "if", "while" o "for".
- Quando riscontri errori di sintassi nella compilazione, fai una ricerca su Google se sei confuso. Molto probabilmente qualcun altro ha sperimentato la stessa cosa e ha pubblicato una soluzione.
- Il tuo codice sorgente C dovrebbe avere un'estensione *. C, così il compilatore può capire che il tuo file è un codice sorgente C.
- Ricorda che diligente è sempre intelligente. Più diligentemente pratichi la programmazione, più velocemente sarai in grado di programmare senza problemi. Inizia con programmi brevi e semplici finché non sei fluente e, una volta che sei sicuro, puoi lavorare su programmi più complessi.
- Cerca di imparare la struttura logica in quanto sarà molto utile durante la scrittura del codice.