Linguaggio C

Struttura Programma

Anatomia di un programma C: direttiva include, funzione main, istruzioni, commenti, indentazione e sequenze di escape con printf.

Primi Passi | Struttura Programma
Competenze previste
  • Riconoscere le parti di un programma C: direttive, funzione main, istruzioni.
  • Usare printf per stampare testo su più righe.
  • Applicare le sequenze di escape più comuni.
  • Documentare il codice con i commenti e ordinarlo con l'indentazione.

Anatomia di un programma C

File: struttura.c   |   Obiettivo: leggere un sorgente

Ogni programma C ha la stessa ossatura. Leggiamo un esempio completo, riga per riga:

#include <stdio.h>   /* libreria per input e output */

/* Programma di prova: mostra la struttura di base */
int main(void)
{
    // stampa due righe di testo
    printf("Riga 1\n");
    printf("Riga 2\n");
    printf("Colonna A\tColonna B\n");
    return 0;
}
ElementoFunzione
#include <stdio.h>Direttiva per il preprocessore: rende disponibili le funzioni di input/output standard (standard input output), come printf.
int main(void)La funzione principale: l'esecuzione parte sempre da qui. int indica che restituisce un numero intero; void che non riceve parametri.
{ ... }Le parentesi graffe delimitano il blocco di istruzioni della funzione.
printf(...)Funzione di libreria che stampa a video il testo tra virgolette.
;Il punto e virgola chiude ogni istruzione.
return 0;Termina main e comunica al sistema operativo che tutto è andato bene (0 = successo).

Eseguendolo si ottiene:

Riga 1
Riga 2
Colonna A	Colonna B
Idea chiave: un programma C ha una sola funzione main: è il punto di ingresso. Le istruzioni al suo interno vengono eseguite dall'alto verso il basso.

Commenti, maiuscole e indentazione

Regola: il compilatore ignora i commenti   |   Obiettivo: codice leggibile

TipoSintassiUso
Su una riga// testoDal simbolo // fino a fine riga.
Su più righe/* testo */Tutto ciò che sta tra /* e */.
  • Un buon commento spiega il perché di una scelta, non ripete ciò che il codice già dice.
  • Il C distingue maiuscole e minuscole (case sensitive): printf è corretto, Printf no.
  • Spazi e a capo non cambiano il significato del programma, ma l'indentazione (di solito 4 spazi dentro le graffe) lo rende leggibile.

Stampare testo con printf

Funzione: printf   |   Argomento: stringa tra virgolette

Il testo da stampare va racchiuso tra virgolette doppie. Per i caratteri speciali si usano le sequenze di escape, che iniziano con la barra rovesciata:

SequenzaEffetto
\nVa a capo (nuova riga).
\tInserisce una tabulazione.
\\Stampa una barra rovesciata.
\"Stampa le virgolette doppie.
Attenzione: printf non va a capo da sola: se dimentichi \n, il testo successivo resta sulla stessa riga. Nei sorgenti evita per ora le lettere accentate (scrivi Eta e non Età): alcune console le mostrano male.

Verifica dei concetti

Tipo: autovalutazione   |   Argomento: Struttura di un programma C

  1. Quale funzione è il punto di ingresso di ogni programma C?
  2. A che cosa serve #include <stdio.h>?
  3. Che cosa succede se si dimentica il punto e virgola alla fine di un'istruzione?
  4. Qual è la differenza tra \n e \t?
  5. In quali due modi si scrive un commento in C?
In Sintesi
  • Un programma C contiene la funzione main, da cui parte l'esecuzione.
  • #include rende disponibili le funzioni di una libreria.
  • Ogni istruzione termina con il punto e virgola e i blocchi sono racchiusi tra graffe.
  • printf stampa testo; le sequenze di escape come \n controllano la formattazione.
Cosa hai imparato
  • Hai riconosciuto le parti di un sorgente C.
  • Hai stampato testo su più righe con printf.
  • Hai usato commenti e indentazione.
  • Hai letto per la prima volta un messaggio di errore del compilatore.

Parole chiave

I termini principali introdotti in questa guida sono:

main #include stdio.h printf Istruzione Blocco Commento Sequenza di escape