Nell'ambito della formazione universitaria, è andato sempre più allargandosi il numero di corsi di base che adottano il C come linguaggio di programmazione. La scelta risulta sicuramente giustificata dall'ampio uso che dello stesso si fa in ambito industriale e accademico e dalla propedeuticità dello stesso in vista di un successivo passaggio alla programmazione in C++, ma lo studente che affronta per la prima volta l'attività di programmazione incontra spesso parecchie difficoltà nella risoluzione di problemi applicativi. Risultano particolarmente critiche: la formulazione dell'algoritmo risolutivo, la scelta delle strutture dati e l'uso appropriato delle - comode ma non immediate - funzioni di libreria per la gestione dell'input/output. Il presente volume raccoglie alcuni esercizi e temi d'esame (relativi al corso di Fondamenti di Informatica tenuto dal Prof. Licia Sbattella presso il Politecnico di Milano) ritenuti significativi nell'ambito: della definizione dell'algoritmo risolutivo, della scelta e gestione di tipi di dati e delle strutture di controllo, dell'uso dei file, della definizione e utilizzo di strutture dinamiche, della definizione e utilizzo di algoritmi di tipo ricorsivo. Ogni soluzione propone: una dettagliata spiegazione delle scelte operate (in termini di algoritmo, di strutture dati, di funzioni di libreria), lo pseudocodice relativo all'algoritmo implementato, il codice relativo all'implementazione, i risultati attesi a fronte di un determinato insieme di dati d'ingresso.