- Facchinetti, Larizza, Rubini - Programmare in C
- Loosemore - The GNU C library reference manual
- https://pythontutor.com/
- http://en.wikipedia.org/wiki/C_(programming_language)
- http://en.wikipedia.org/wiki/C_syntax
- http://en.wikibooks.org/wiki/C_Programming
[M1] Introduzione al linguaggio C
- Identificatori
- Variabili
- Espressioni
- Parole chiave
[M2] Preprocessore
- #define
- #include
- #if
- #ifdef
[M3] Istruzioni e strutture di controllo
- Costrutto condizionale if-else
- Costrutto di selezione switch-case
- Costrutti iterativi for, while, do-while
- Istruzioni break, continue
[M4] Tipi di dati
- Organizzazione della memoria
- Tipi interi ed in virgola mobile
- Puntatori
- Array
- Stringhe
- Conversione di tipo (casting implicito, esplicito)
- Funzioni (matematiche, numeri pseudo-casuali, stringhe, I/O console)
- Operatori
[M5] Funzioni
- Dichiarazione, definizione, chiamata a funzione
- Variabili locali, globali e static
- Passaggio di parametri (per valore, per riferimento)
- Ricorsione
[M6] Tipi di dati derivati
- Array multi-dimensionali
- Strutture dati
- Enumerazioni
- typedef
[M7] Puntatori
- Puntatori a void
- Puntatori e array
- Aritmetica dei puntatori
- Allocazione dinamica della memoria
[M8] File
- File binari e file di testo
- Apertura, chiusura, posizione corrente
- Lettura e scrittura (con e senza formattazione)
- Flussi standard (stdin, stdout, stderr)