Come Imparare a Programmare Usando il Linguaggio C

In questo Articolo:PreparazioneUsare le VariabiliUsare Affermazioni CondizionaliImparare a Usare i LoopUsare le FunzioniContinuare a ImparareRiferimenti

C è uno dei linguaggi di programmazione più vecchi - è stato sviluppato negli anni 70 - ma è comunque molto potente grazie alla sua struttura di basso livello. Imparare C è un ottimo modo per prepararsi ai linguaggi più complessi e le nozioni che apprenderai ti saranno utili per quasi tutti i linguaggi di programmazione. Per imparare come iniziare a programmare in C, continua a leggere.

Parte 1
Preparazione

  1. 1
    Scarica e installa un compiler. Il codice C deve essere compilato da un programma che interpreta il codice in segnale che la macchina può comprendere. I compiler solitamente sono gratuiti, e ne sono disponibili diversi per i diversi sistemi operativi.
    • Su Windows, prova Microsoft Visual Studio Express o MinGW.
    • Per Mac, XCode è uno dei compiler C migliori.
    • Per Linux, gcc è una delle opzioni più usate.
  2. 2
    Impara le basi. C è uno dei linguaggi di programmazione più vecchi, e può essere molto potente. È stato progettato per i sistemi operativi Unix, ma è stato adattato ed espanso per quasi tutti i sistemi operativi. La versione moderna di C è C++.
    • C è fondamentalmente compreso da funzioni, e in queste funzioni potrai usare variabili, affermazioni condizionali e loops per conservare e manipolare i dati.
  3. 3
    Esamina dei codici di base. Osserva il programma (molto) semplice in seguito per avere un'idea di come funzionano alcuni aspetti del linguaggio, e per prendere familiarità con il funzionamento dei programmi.
    #include <stdio.h>
    int main() 
    {
        printf("Ciao, Mondo!\n");
        getchar();
        return 0;
    }
    
    [1]
    • Il comando #include viene inserito prima dell'inizio del programma e carica le librerie che contengono le funzioni di cui hai bisogno. In questo esempio, stdio.h ci permette di usare le funzioni printf() e getchar().
    • Il comando int main() indica al compiler che il programma sta eseguendo la funzione chiamata "main" e che restituirà un numero intero quando ha finito. Tutti i programmi in C eseguono una funzione "main".
    • I simboli "{" e "}" indicano che tutto ciò che si trova al loro interno è parte di una funzione. In questo caso, denotano che tutto ciò che si trova all'interno è parte della funzione "main".
    • La funzione printf() mostra i contenuti della parentesi sullo schermo dell'utente. Le virgolette garantiscono che la stringa all'interno venga stampata in modo letterale. La sequenza \n indica al compiler di spostare il cursore alla riga seguente.
    • La ; denota la fine di una linea. La maggior parte delle righe di codice in C devono terminare con un punto e virgola.
    • Il comando getchar() indica al compiler di attendere la pressione di un pulsante da parte dell'utente prima di andare avanti. Questo è utile, perché molti compiler eseguono il programma e chiudono immediatamente la finestra. Il programma in questo caso non si chiuderà fino alla pressione di un tasto.
    • Il comando return 0 indica la fine della funzione. Nota come la funzione "main" sia una funzione int. Questo significa che dovrà restituire un intero al termine del programma. Uno "0" indica che il programma è stato eseguito correttamente; ogni altro numero significherà che il programma ha incontrato un errore.
  4. 4
    Prova a compilare il programma. Digita il codice in un editor di testo e salvalo come file "*.c". Compilalo con il tuo compiler, tipicamente facendo click sul pulsante Build o Run.
  5. 6
    Commenta sempre il tuo codice. I commenti sono parti del codice non compilate, che ti permettono di spiegare cosa sta accadendo. Questo è utile per ricordare a cosa serve il tuo codice, e per aiutare gli altri sviluppatori che potrebbero usare il tuo codice.
    • Per commentare in C inserisci /* all'inizio del commento e */ alla fine.
    • Commenta su tutte le parti del codice tranne quelle più semplici.
    • Puoi usare i commenti per rimuovere velocemente parti del codice senza cancellarle. Racchiudi semplicemente il codice da escludere con dei tag di commento e poi compila il programma. Se vuoi aggiungere nuovamente il codice, rimuovi i tag.

Parte 2
Usare le Variabili

  1. 1
    Comprendi la funzione delle variabili. Le variabili ti permettono di archiviare dati, ottenuti da computazioni del programma o con input dell'utente. Le variabili devono essere definite prima di poterle usare, ed esistono diversi tipi da cui scegliere.
    • Alcuni delle variabili più comuni includono int, char, e float. Ognuna serve ad archiviare un tipo di dati diverso.
  2. 2
    Impara a dichiarare le variabili. Le variabili devono essere stabilite, o "dichiarate", prima che possano essere usate dal programma. Puoi dichiarare una variabile inserendo il tipo di dati seguito dal nome della variabile. Le seguenti ad esempio sono tutte dichiarazioni valide di variabili:
    float x;
    char name;
    int a, b, c, d;
    
    • Nota che puoi dichiarare più variabili sulla stessa riga, purché siano dello stesso tipo. Separa semplicemente i nomi delle variabili con delle virgole.
    • Come molte righe di C, ogni riga di dichiarazione delle variabili deve terminare con un punto e virgola.
  3. 3
    Impara quando dichiarare le variabili. Devi dichiarare le variabili all'inizio di ogni blocco di codice (le parti incluse tra le parentesi {}). Se dichiari una variabile più avanti nel blocco, il programma non funzionerà correttamente.
  4. 5
    Usa le variabili per archiviare gli input dell'utente. Adesso che conosci le basi del funzionamento delle variabili, puoi scrivere un semplice programma che archivi gli input dell'utente. Userai un'altra funzione nel programma, chiamata scanf. Questa funziona ricerca gli input forniti per valori specifici.
    #include <stdio.h>
    
    int main()
    {
      int x;
    
      printf( "Inserisci un numero: " );
      scanf( "%d", &x );
      printf( "Hai inserito %d", x );
      getchar();
      return 0;
    }
    
    • La stringa "%d" indica a scanf to look for integers in the user input.
    • La & prima della variabile x indica a scanf dove trovare la variabile per modificarla e archivia l'intero nella variabile.
    • Il comando printf finale restituisce all'utente l'intero inserito.
  5. 6
    Manipola le tue variabili. Puoi usare delle espressioni matematiche per manipolare i dati che hai archiviato nelle tue variabili. La distinzione più importante da ricordare per le espressioni matematiche è che un singolo = assegna un valore alla variabile, mentre == confronta i valori da entrambi i lati per verificare che siano uguali.
    x = 3 * 4; /* assegna a "x" 3 * 4, o 12 */
    x = x + 3; /* aggiunge 3 al valore originale di "x", e assegna il nuovo valore come variabile */
    x == 15; /* controlla che "x" sia uguale a 15 */
    x < 10; /* controlla se il valore di "x" è minore di 10 */
    

Parte 3
Usare Affermazioni Condizionali

  1. 1
    Comprendi le basi delle affermazioni condizionali. Queste affermazioni sono il cuore di molti programmi. Sono affermazioni che possono essere vere (TRUE) o false (FALSE) e indicano al programma come agire secondo il risultato. L'affermazione più semplice è if.
    • TRUE e FALSE funzionano in modo diverso da quello che puoi immaginarti su C. Le affermazioni TRUE terminano sempre uguagliando a un numero diverso da zero. Quando esegui un confronto, se il risultato è TRUE, la funzione restituirà il valore "1". Se il risultato è FALSE, la funzione restituirà uno "0". Comprendere questo concetto ti aiuterà a capire come vengono processate le affermazioni IF.
  2. 2
    Impara gli operatori condizionali di base. Le affermazioni condizionali si basano sull'utilizzo di operatori matematici che confrontano i valori. L'elenco seguente contiene gli operatori condizionali più usati.
    >   /* maggiore di */
    <   /* minore di */
    >=  /* maggiore uguale */
    <=  /* minore uguale */
    ==  /* uguale a */
    !=  /* diverso da */
    


    10 > 5 TRUE
    6 < 15 TRUE
    8 >= 8 TRUE
    4 <= 8 TRUE
    3 == 3 TRUE
    4 != 5 TRUE
    
  3. 3
    Scrivi una semplice affermazione IF. Puoi usare le affermazioni IF per determinare cosa dovrebbe fare il programma dopo la valutazione dell'affermazione. Puoi combinarle con altre affermazioni condizionali in seguito per creare potenti opzioni multiple, ma per adesso scrivine una semplice per abituarti.
    #include <stdio.h>
    
    int main()
    {
      if ( 3 < 5 )
        printf( "3 è minore di 5");
        getchar();
    }
    
  4. 4
    Usa le affermazioni ELSE/ELSE IF per espandere le tue condizioni. Puoi espandere le affermazioni IF usando ELSE e ELSE IF per gestire i diversi risultati. Le affermazioni ELSE vengono eseguite se l'affermazione IF è FALSE. Le affermazioni ELSE IF ti permettono di includere più affermazioni IF in un unico blocco di codice per gestire i vari casi. Leggi il programma di esempio in seguito per vedere la loro interazione.
    #include <stdio.h>
    
    int main()
    {
      int age;
    
      printf( "Inserisci la tua età attuale per favore: " );
      scanf( "%d", $età );
      if ( età <= 12 ) {
        printf( "Sei solo un bambino!\n" );
      }
      else if ( età < 20 ) {
        printf( "Essere un adolescente è il massimo!\n" );
      }
      else if ( età < 40 ) {
        printf( "Sei ancora giovane di spirito!\n" );
      }
      else {
        printf( "Con l'età si diventa più saggi.\n" );
      }
      return 0;
    }
    
    [2]
    • Il programma riceve l'input dell'utente e lo analizza con l'affermazione IF. Se il numero soddisfa la prima affermazione, il programma restituirà il primo printf. Se non soddisfa la prima affermazione, verranno considerate tutte le affermazioni ELSE IF fino a trovare quella soddisfatta. Se nessuna delle affermazioni è soddisfatta, sarà eseguita l'affermazione ELSE alla fine del blocco.

Parte 4
Imparare a Usare i Loop

  1. 1
    Comprendi il funzionamento dei loop. I loop sono uno degli aspetti più importanti della programmazione, perché ti permettono di ripetere blocchi di codice fino al raggiungimento di condizioni specifiche. Questo semplifica molto l'implementazione delle azioni ripetute, e ti permette di non dover riscrivere nuove affermazioni condizionali ogni volta che vuoi far accadere qualcosa.
    • Esistono tre tipi principali di loop: FOR, WHILE, e DO...WHILE.
  2. 2
    Usa un loop FOR. Si tratta del tipo di loop più comune e utile. Continuerà ad eseguire la funzione finché non saranno soddisfatte le condizioni del loop FOR. I loop FOR richiedono tre condizioni: l'inizializzazione della variabile, la condizione da soddisfare, e il metodo di aggiornamento della variabile. Se non hai bisogno di queste condizioni, dovrai comunque lasciare uno spazio vuoto con un punto e virgola, o il loop sarà eseguito senza sosta.[3]
    #include <stdio.h>
    
    int main()
    {
      int y;
    
      for ( y = 0; y < 15; y++;){
        printf( "%d\n", y );
      }
      getchar();
    }
    
    • Nel programma precedente, y è impostato su 0, e il loop continua finché il valore di y non è minore di 15. Ogni volta che il valore di y viene stampato, viene aggiunto 1 al valore di y e il loop viene ripetuto. Quando y = 15, il loop si fermerà.
  3. 3
    Usa un loop WHILE. I loop WHILE sono più semplici dei loop FOR. Hanno solo una condizione, e il loop viene eseguito finché quella condizione è vera. Non hai bisogno di inizializzare o aggiornare la variabile, anche se puoi farlo nel corpo principale del loop.
    #include <stdio.h>
    
    int main()
    {
      int y;
    
      while ( y <= 15 ){
        printf( "%d\n", y );
        y++;
      }
      getchar();
    }
    
    • Il comando y++ aggiunge 1 alla variabile y ogni volta che il loop viene eseguito. Quando y raggiunge 16 (ricorda, il loop viene eseguito finché y non è minore uguale a 15), il loop si ferma.
  4. 4
    Usa un loop DO... WHILE. Questo loop è molto utile per i loop che vuoi assicurarti che vengano eseguiti almeno una volta. Nei loop FOR e WHILE, la condizione viene verificata all'inizio del loop, e questo significa che potrebbe non essere soddisfatta e terminare subito il loop. I loop DO... WHILE controllano le condizioni alla fine del loop, garantendo che il loop sia eseguito almeno una volta.
    #include <stdio.h>
    
    int main()
    {
      int y;
    
      y = 5;
      do {
        printf("Questo loop è in esecuzione!\n");
      } while ( y != 5 );
      getchar();
    }
    
    • Questo loop mostrerà il messaggio anche se la condizione è FALSE. La variabile y è impostata su 5 e il loop WHILE ha come condizione che y sia diverso da 5, perciò il loop avrà termine. Il messaggio era già stato stampato, perché la condizione non è stata verificata prima della fine.
    • Il loop WHILE in una serie DO... WHILE deve terminare con un punto e virgola. Questo è l'unico caso in cui un loop viene chiuso da un punto e virgola.

Parte 5
Usare le Funzioni

  1. 1
    Comprendi le basi delle funzioni. Le funzioni sono blocchi di codice che possono essere chiamati in altre parti del programma. Semplificano molto la ripetizione di codice, e aiutano nella lettura e nella modifica del programma. Le funzioni possono includere tutte le tecniche descritte in precedenza, e anche altre funzioni.
    • La riga main() all'inizio di tutti gli esempi precedenti è una funzione, così come getchar()
    • Le funzioni sono fondamentali per creare un codice efficiente e facile da leggere. Usa bene le funzioni per creare un programma chiaro e ben scritto.
  2. 2
    Inizia con una descrizione. Il modo migliore per creare le funzioni è iniziare con una descrizione di ciò che vuoi ottenere prima di cominciare a scrivere del codice. La sintassi di base delle funzioni è "tipo_ritorno nome ( argomento1, argomento2, ecc.);". Ad esempio, per creare una funzione che sommi due numeri:
    int somma ( int x, int y );
    
    • Questo creerà una funzione che somma due interi (x and Template:kbdr) e poi restituisce la somma come intero.
  3. 3
    Aggiungi la funzione a un programma. Puoi usare la descrizione per creare un programma che prenda due interi inseriti dall'utente e li sommi. Il programma definirà il funzionamento della funzione "somma" e la userà per manipolare i numeri inseriti.
    #include <stdio.h>
    
    int somma ( int x, int y );
    
    int main()
    {
      int x;
      int y;
    
      printf( "Digita due numeri da sommare: " );
      scanf( "%d", &x );
      scanf( "%d", &y );
      printf( "La somma dei numeri è %d\n" somma( x, y ) );
      getchar();
    }
    
    int somma ( int x, int y )
    {
      return x + y;
    }
    
    • Nota che la descrizione si trova ancora all'inizio del programma. Questo servirà a comunicare al compiler cosa attendersi quando la funzione sarà chiamata e quale sarà il risultato. Questo è necessario solo se non vuoi definire la funzione più avanti nel programma. Potresti definire somma() prima della funzione main() e il risultato sarebbe lo stesso anche senza la descrizione.
    • La vera funzionalità della funzione viene definita alla fine del programma. La funzione main() raccoglie gli interi inseriti dall'utente e poi li comunica alla funzione somma() perché siano manipolati. La funzione somma() restituirà i risultati alla funzione main()
    • Adesso che la funzione somma() è stata definita, può essere chiamata in qualunque punto del programma.

Parte 6
Continuare a Imparare

  1. 1
    Trova dei libri sulla programmazione in C. Questo articolo insegna i concetti di base, ma si limita a grattare la superficie della programmazione in C e tutte le nozioni ad essa associata. Un buon manuale di riferimento ti aiuterà a risolvere i problemi e ti risparmierà molti grattacapi.
  2. 2
    Entra a far parte di una comunità. Esistono molte comunità, online o reali, dedicate alla programmazione e a tutti i linguaggi esistenti. Trova dei programmatori di C come te con i quali scambiare idee e codici, e imparerai moltissimo da loro.
    • Partecipa a delle maratone di programmazione (hack-a-thon) Sono eventi dove gruppi e persone devono inventare programmi e soluzioni entro un tempo limite, e stimolano molto la creatività. Puoi incontrare molti bravi programmatori in questo modo, e troverai delle hack-a-thon in tutti i paesi del mondo.
  3. 3
    Segui dei corsi. Non dovrai tornare a scuola e prendere una laurea in Informatica, ma seguire alcuni corsi può aiutarti moltissimo a imparare. Nulla batte l'aiuto diretto delle persone esperte nell'uso del linguaggio. Potrai spesso trovare dei corsi nelle università, e in alcuni casi potrai partecipare senza iscriverti.
  4. 4
    Considera di imparare il linguaggio C++. Quando hai imparato a conoscere il C, non ti farà male iniziare a considerare il C++. Si tratta della versione moderna di C, che permette molta più flessibilità. C++ è pensato per gestire gli oggetti, e conoscere questo linguaggio ti permette di creare programmi potenti per quasi tutti i sistemi operativi.

Consigli

  • Aggiungi sempre i commenti ai tuoi programmi. Questo servirà non solo ad aiutare chi avrà a che fare con il tuo codice sorgente, ma aiuterà anche te a ricordare cosa stai scrivendo e perché. Potresti sapere cosa fare al momento in cui scrivi il codice, ma dopo due o tre mesi, ricordare non sarà così facile.
  • Quando trovi un errore di sintassi durante la compilazione, se non riesci ad andare avanti, fai una ricerca su Google (o un altro motore di ricerca) con l'errore che hai ricevuto. Probabilmente qualcuno ha già avuto il tuo stesso problema ed ha pubblicato una soluzione.
  • Il tuo codice sorgente deve avere l'estensione *.c, in maniera che il tuo compiler possa capire che si tratta di un file sorgente C.

Informazioni sull'Articolo

wikiHow è una "wiki"; questo significa che molti dei nostri articoli sono il risultato della collaborazione di più autori. Per creare questo articolo, 37 persone, alcune in forma anonima, hanno collaborato apportando nel tempo delle modifiche per migliorarlo.

Categorie: Programmazione

In altre lingue:

English: Learn to Program in C, Español: aprender a programar en C, Русский: научиться программировать на C, Português: Programar em C, Français: programmer en langage C, Deutsch: Mit C programmieren lernen, 中文: 学习C语言编程, Bahasa Indonesia: Belajar Memrogram dengan C, Nederlands: Programmeren in C, Čeština: Jak se naučit programovat v C, العربية: تعلم البرمجة بلغة السي C, हिन्दी: C प्रोग्राम बनाना सीखें, ไทย: หัดเขียนโปรแกรมด้วยภาษา C, Tiếng Việt: Học Lập trình C, 한국어: C언어 프로그래밍 공부법

Questa pagina è stata letta 31 461 volte.
Hai trovato utile questo articolo?