Programmazione in Linguaggio C Durata 5gg
INTRODUZIONE
La potenza del linguaggio C, la sua flessibilità, l'ampia diffusione raggiunta e, quindi, la disponibilità
di completi ambienti di sviluppo e di librerie di funzioni, ne fanno lo strumento ideale per lo
sviluppo di applicazioni in tutti i più diffusi ambienti operativi (Ms-Dos, Windows, Unix/Linux,
OS/2).
Obiettivo del corso è far apprendere la sintassi del linguaggio e, soprattutto, far acquisire elementi di
stile di programmazione in C, avvalendosi di esercitazioni pratiche di complessità crescente.
OBBIETTIVI
Durante il corso l'utente verrà sollecitato a sviluppare capacità tali da riuscire programmare nel
linguaggio che sta alla base di Ms-Dos, Windows, Unix/Linux, OS/2.
PREREQUISITI
Conoscenza dei fondamenti di programmazione e possibilmente di un altro linguaggio di
programmazione.
STRUTTURA DEL CORSO
introduzione al C
Caratteristiche Essenziali del Linguaggio
Filosofia del linguaggio C
Elementi del Programma C
Tipi di dati
Dichiarazioni e identificatori
Attributi
Costanti e variabili
Valori, puntatori e indirizzi
Dati scalari
Dati aggregati
Tipo void e tipi definibili
Interpretazione delle dichiarazioni
Risoluzione dei tipi
Il cast
Visibilità delle variabili
Classi
Espressioni e operatori
Espressioni primarie
Operatori logici e relazionali
Programmazione in Linguaggio C
Controlli di flusso
Istruzioni condizionali
I clicli
Istruzioni di interruzione
Le funzioni
Struttura della funzione
Definizione della funzione
La funzione main
Allocazione dinamica della memoria
La ricorsione
Array e puntatori. Aritmetica dei puntatori
Funzioni di orologio
Funzioni di I/O da console
Funzioni per la manipolazione delle stringhe
Funzioni matematiche
Funzioni per il controllo dei processi
Arrays
Array singoli e multidimensionali
Stringhe
Puntatori
Cos'e' un puntatore
Puntatori e funzioni
Puntatori e array
Array di puntatori
Array multidimensionali e puntatori
Inizializzazione statica degli array di puntatori
Puntatori e strutture
Le "trappole" piu' comuni dei puntatori
Assegnazione anticipata illegale
Assegnazione indiretta illegale
Allocazione dinamica della memoria
Malloc
Linked Lists
Errori comuni in C
Operatori di confronto e di assegnazione
Particolarità della sintassi delle funzioni
Indici di array
Array di caratteri e puntatori
Case-sensitive
Programmazione in Linguaggio C
Streams
Streams predefinite
Redirezione
Funzioni comuni di I/O
Formattazione di I/O
Printf
Scanf
Files
Lettura e scrittura su files
Sprintf ed Sscanf
Input dalla linea di comando
I/O di basso livello
Il preprocessore C e le sue direttive
#define
#undef
#include
#if - Inclusione condizionale
Frammentazione e riutilizzabilità del codice
File header
Variabili esterne e funzioni
Scopo delle variabili esterne
L'utility Make
Programmazione di Make
Creazione di un makefile
Macro di Make
Esecuzione di Make
Opzioni comuni del compilatore C
Opzioni di compilazione
Funzioni della libreria standard C
Manipolazione dei buffer
Classificazione dei caratteri e conversione
Conversione dei dati
Manipolazione delle directory
Manipolazione dei file
Input e Output
Allocazione di memoria
Controllo dei processi
Ricerca e ordinamento
Manipolazione di stringhe
Time
Programmazione in Linguaggio C
Ottimizzazione
Liberare le risorse
Ottimizzare il trasferimento dei dati e il passaggio di parametri
Norme e consigli per l'uso corretto e sicuro della memoria
Programmazione in Linguaggio C