/learn-c

Basic course introducing procedural programming and the C language. Recommended to learners without previous experience.

Primary LanguageC

Learn C

Software

Libri

  • Facchinetti, Larizza, Rubini - Programmare in C
  • Loosemore - The GNU C library reference manual

Tutorial, Esercizi Online

Moduli

[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)