Linguaggio di programmazione C in ambiente UNIX/Linux
| C base | C avanzato | Prerequisiti: conoscenze base di informatica, saper usare il PC. Obiettivi: conoscere gli elementi principali del linguaggio C, capire le tecniche fondamentali della programmazione strutturata (procedurale), imparare a scrivere semplici programmi in C. C base: 20 ore 1. Tipi di dato scalari (variabili e costanti), cast (conversione del tipo) implicito ed esplicito, operatore di casting; operatori aritmetici, relazionali (di confronto), logici, di incremento e di decremento; operatori di assegnazione composti; operatori & (indirizzo di) e sizeof (dimensione di); operatore condizionale (ternario). Precedenza ed associatività degli operatori in C.
2. Struttura di un programma in C; nozioni su direttive per il preprocessore, header files, libreria run time ANSI; flussi (streams) in C , operazioni di input/output, acqusizione dei dati da tastiera.
3. Istruzioni di selezione condizionale if e if-else, struttura di scelta multipla switch, cicli (loops).
4. Puntatori (pointers) a variabili semplici, dichiarazione ed inizializzazione di un puntatore, puntatore nullo, operatore di accesso indiretto alla memoria.
5. Array numerici ad una o più dimensioni, puntatori ed array.
6. Array del tipo char (stringhe); puntatori a char; array di puntatori.
7. Funzioni, prototipi delle funzioni, passaggio degli argomenti per valore e per puntatore (per riferimento), ricorsione. Passaggio degli arrays a funzioni.
8. Classi di memorizzazione, durata di memorizzazione e visibilità (scope) delle variabili; variabili esterne (extern), globali e statici (static).
Corso avanzato: 30 ore Prerequisiti: conoscenze base del linguaggio C (è preferibile di aver seguito il corso C base). Obiettivi: programmare in C.
1. Operatori bitwise ed il loro utilizzo: masking, setting, exchange, ecc.
2. Puntatori a funzioni; array di puntatori a funzioni.
3. Funzione main, passaggio dei parametri posizionali dalla linea di comando ad un programma in C.
5. Strutture (struct): definizione e dichiarazione, utilizzo della parola chiave typedef, inizializzazione ed assegnazione delle strutture; strutture ed operatore sizeof; puntatori a strutture, array di strutture, accesso diretto ai campi (operatore punto - dot), operatore di accesso indiretto ai campi -> (freccia a destra), strutture annidate; passaggio delle strutture a funzioni.
6. Tipo di dato enumerativo enum.
7. Files: tipi di files, modalità di accesso ai files, apertura e chiusura dei files, scrittura e lettura dei files.
8. Nozioni sulla gestione dei progetti in C: creare le librerie e i header files; compilare e linkare un programma composto da più moduli; utilizzare le direttive per il preprocessore.