Questo sito utilizza cookies, anche di terze parti, per mostrare pubblicità e servizi in linea con il tuo account. Leggi l'informativa sui cookies.
Username: Password: oppure
Recensione C Corso completo di programmazione Deitel & Deitel - Manuali

C Corso completo di programmazione Deitel & Deitel

A cura di:


  Un primo giudizio
Rispetto ad altri libri sul C, il Deitel & Deitel si distingue per la chiarezza espositiva e per la capacità di condurre il lettore dai fondamenti del linguaggio ali argomenti più avanzati. Un ottimo libro per chi si avvicina per la prima volta alla programmazione in C e al tempo stesso un punto di riferimento per chi padroneggia il linguaggio ma necessita talvolta di una risposta ai propri dubbi.



Immagine postata dall'utente
Copertina del libro C Corso completo di programmazione



  Introduzione
I manuali della coppia Deitel & Deitel si basano su una formula didattica collaudata ed efficace: una formula i cui ingredienti sono la completezza dei contenuti, la gradualità dellesposizione, il continuo riferimento a programmi completamente eseguibili e lattenzione alle problematiche reali che sorgono nellattività di sviluppo del software.
Questo testo introduce alla programmazione in C in modo graduale e attraverso esempi reali, completamente svolti ed eseguibili. Si tratta di un manuale dalla formula didattica collaudata ed efficace, messa a punto in decenni di insegnamento. Lobiettivo è quello di offrire un testo sul C destinato ai corsi universitari a livello introduttivo, per quegli studenti che non hanno alcuna esperienza nellambito della programmazione, pur fornendo, allo stesso tempo, la completezza teorica e pratica richiesta ai tradizionali corsi avanzati di C. La chiarezza e la meticolosità della spiegazione, la cura nella preparazione degli apparati didattici e l'attenzione agli aspetti pratici dell'attività di programmazione rendono questo libro uno strumento unico e insostituibile nella biblioteca di un programmatore.


  Gli autori
Questo libro è stato scritto da un padre, Harvey M. Deitel, e da suo figlio, Paul J. Deitel, i fondatori della Deitel & Associates, una delle più qualificate società di formazione in ambito informatico. Padre e figlio hanno programmato e insegnato la programmazione rispettivamente per 38 e 18 anni. I loro manuali dedicati alla programmazione in C, C++ e Java sono utilizzati in tutto il mondo in centinaia di università e scuole di formazione.


  La metodologia di insegnamento
Questo libro contiene unampia varietà di esempi, esercizi e progetti che prendono spunto da molte situazioni e che offrono agli studenti la possibilità di risolvere problemi reali. Il libro prende in esame i principi della progettazione del software, insistendo sullimportanza della chiarezza dei programmi ed evitando luso della terminologia complessa a favore di esempi chiari e diretti, il cui codice sia stato collaudato sulle piattaforme C più diffuse.
Il libro presenta una grande quantità di esempi basati sul codice. Ogni argomento viene presentato nellambito di un programma C completo e funzionante, seguito sempre da una o più finestre che mostrano loutput del programma in questione. Viene quindi usato il linguaggio per insegnare il linguaggio.
Il manuale offre unampia varietà di grafici, immagini, output di programmi, diagrammi di flusso e suggerimenti (forniti attraverso sezioni dai titoli intuitivi: Buona abitudine, Errore tipico, Collaudo e messa a punto, Obiettivo efficienza, Obiettivo portabilità, Ingegneria del software), che aiutano il lettore a comprendere concetti la cui complessità e la cui astrattezza rischiano talvolta di ostacolarne lapprendimento.
Ogni capitolo si conclude con un insieme di esercizi di vario tipo, che verificano lapprendimento dei concetti e dei termini più importanti e propongono la risoluzione di singole istruzioni, piccole porzioni di funzioni, funzioni e programmi completi fino ad arrivare alla costruzione di interi progetti (tra cui un semplice compilatore).


  Panoramica sul libro
I primi capitoli del libro sono volti a spiegare cosa sono i computer, come funzionano e come possono essere programmati; viene offerta una breve storia dello sviluppo dei linguaggi di programmazione, dai linguaggi macchina, ai linguaggi assembly, ai linguaggi di alto livello, per arrivare al linguaggio C. Particolare importanza è dedicata alla programmazione strutturata per la produzione di programmi facilmente comprensibili, collaudabili e modificabili da terzi; viene quindi introdotta la nozione di algoritmi e le strutture di sequenza, controllo e iterazione. Il libro spiega il processo top-down a raffinamenti successivi, una tecnica importante per produrre in modo rapido e corretto programmi strutturati; in questo modo, il lettore viene aiutato a sviluppare delle buone abitudini di programmazione che lo prepareranno ad affrontare esercizi di programmazione ben più complessi.
In ottemperanza alla filosofia divide et impera, alle funzioni è riservato un posto centrale nella trattazione del libro: vengono analizzate le funzioni della libreria standard da un lato e limplementazione delle proprie funzioni da parte del programmatore dallaltro; unadeguata trattazione è destinata alla ricorsione.
I capitoli centrali del libro si occupano della strutturazione dei dati: vengono ampiamente discusse le potenzialità e le modalità di utilizzo di vettori, puntatori, carattere e stringhe, strutture, unioni, elaborazione dei bit, enumerazioni, elaborazione di file e strutture dinamiche di dati (liste concatenate, pile, code, alberi).
Corredano lopera una discussione dettagliata di argomenti avanzati, tra cui le direttive del preprocessore e il redirezionamento delloutput. Tra le Appendici, trovano una collocazione la sintassi del linguaggio C, un elenco commentato di tutte le funzioni della libreria standard del C, una tabella completa delle priorità e dellassociatività degli operatori, linsieme dei codici dei caratteri ASCII e una discussione sui sistemi numerici binari, ottali, decimali ed esadecimali.


  Argomenti trattati

Prefazione
  • Lo scopo di questo libro
  • La metodologia di insegnamento
  • L'apprendimento attraverso il codice
  • L'accesso al World Wide Web
  • Obiettivi
  • Il codice e gli esempi
  • Figure e immagini
  • Consigli e suggerimenti
  • Esercizi di autovalutazione
  • Esercizi
  • Indice analitico
Panoramica sul libroCapitolo 1: Nozioni sulla elaborazione elettronica
  • Che cosa è un computer?
  • L'organizzazione del computer
  • L'elaborazione batch, la multiprogrammazione e il timesharing
  • L'elaborazione personale, distribuita e client/server
  • I linguaggi macchina, assembly e di alto livello
  • La storia del C
  • La libreria standard del C
  • Gli altri linguaggi di alto livello
  • La programmazione strutturata
  • Le basi dell'ambiente C
  • Note generali sul C e su questo libro
  • Il Concurrent C
  • La programmazione orientata agli oggetti e il C++
Capitolo 2: Introduzione alla programmazione in C
  • Un semplice programma C: visualizzare una riga di testo
  • Un altro semplice programma C: sommare due interi
  • Nozioni sulla memoria
  • L'aritmetica del C
  • Prendere delle decisioni: gli operatori di uguaglianza e relazionali
Capitolo 3: Lo sviluppo di programmi strutturati
  • Gli algoritmi
  • Lo pseudocodice
  • Le strutture di controllo
  • La struttura di selezione If
  • La struttura di selezione If/Else
  • La struttura di iterazione while
  • Formulazione degli algoritmi: studio di un caso 1 (iterazione controllata da un contatore)
  • Formulazione degli algoritmi con processo top-down per raffinamenti successivi: studio di un caso 2 (iterazione controllata da un valore sentinella)
  • Formulazione degli algoritmi con processo top-down per raffinamenti successivi: studio di un caso 3 (strutture di controllo nidificate)
  • Gli operatori di assegnamento
  • Gli operatori di incremento e di decremento
Capitolo 4: Il controllo del programma
  • Introduzione
  • Gli elementi della iterazione
  • Iterazione controllata da un contatore
  • La struttura di iterazione for
  • La struttura for: note e osservazioni
  • Esempi di utilizzo della struttura for
  • La struttura di selezione multipla switch
  • La struttura di iterazione do/while
  • Le istruzioni break e continue
  • Gli operatori logici
  • Confondere gli operatori di uguaglianza (==) e di assegnamento (=)
  • Riassunto della programmazione strutturata
Capitolo 5: Le funzioni
  • I moduli di programma in C
  • Le funzioni della libreria matematica
  • Le funzioni
  • Le definizioni di funzione
  • I prototipi di funzione
  • I file di intestazione
  • Invocare le funzioni: chiamata per valore e per riferimento
  • Generazione di numeri casuali
  • Esempio: un gioco d'azzardo
  • Le classi di memoria
  • Le regole di visibilità
  • La ricorsione
  • Esempio di utilizzo della ricorsione: la serie di Fibonacci
  • Ricorsione e iterazione
Capitolo 6: I vettori
  • I vettori
  • La dichiarazione dei vettori
  • Esempi di utilizzo dei vettori
  • Passare i vettori alle funzioni
  • L'ordinamento dei vettori
  • Studio di un caso: calcolare la media, la mediana e la moda usando i vettori
  • La ricerca nei vettori
  • I vettori multidimensionali
Capitolo 7: I puntatori
  • Dichiarazione e inizializzazione dei puntatori
  • Gli operatori sui puntatori
  • La chiamata per riferimento delle funzioni
  • Utilizzare il qualificatore const con i puntatori
  • L'ordinamento a bolle utilizzando una chiamata per riferimento
  • Le espressioni con i puntatori e l'aritmetica dei puntatori
  • La relazione tra i puntatori e i vettori
  • I vettori di puntatori
  • Studio di un caso: simulazione di un mescolatore e distributore di carte
  • I puntatori a funzioni
Capitolo 8: I caratteri e le stringhe
  • I concetti fondamentali delle stringhe e dei caratteri
  • La libreria per la gestione dei caratteri
  • Le funzioni per la conversione delle stringhe
  • Le funzioni della libreria per l'input/output standard
  • Le funzioni per la manipolazione delle stringhe incluse nella libreria per la gestione delle stringhe
  • Le funzioni di confronto incluse nella libreria per la gestione delle stringhe
  • Le funzioni di ricerca incluse nella libreria per la gestione delle stringhe
  • Le funzioni per la manipolazione della memoria incluse nella libreria per la gestione delle stringhe
  • Le altre funzioni della libreria per la gestione delle stringhe
Capitolo 9: La formattazione dell'input/output
  • Gli stream
  • Formattare l'output con printf
  • Visualizzare gli interi
  • Visualizzare i numeri in virgola mobile
  • Visualizzare le stringhe e i caratteri
  • Gli altri indicatori di conversione
  • Visualizzare con le dimensioni di campo e le precisioni
  • Utilizzare i flag nella stringa di controllo del formato
  • Visualizzare i letterali e le sequenze di escape
  • Formattare l'input con scanf
Capitolo 10: Le strutture, le unioni, la gestione dei bit e le enumerazioni
  • La definizione delle strutture
  • Inizializzare le strutture
  • Accedere ai membri delle strutture
  • Usare le strutture con le funzioni
  • Typedef
  • Esempio: simulazione di un mescolatore e distributore di carte ad alta efficienza
  • Le unioni
  • Gli operatori bitwise
  • I campi di bit
  • Le costanti di enumerazione
Capitolo 11: L'elaborazione dei file
  • La gerarchia dei dati
  • I file e gli stream
  • Creare un file ad accesso sequenziale
  • Leggere i dati da un file ad accesso sequenziale
  • I file ad accesso casuale
  • Creare un file ad accesso casuale
  • Scrivere i dati in modo casuale in un file ad accesso casuale
  • Leggere i dati in modo casuale da un file ad accesso casuale
  • Studio di un caso: un programma per l'elaborazione delle transazioni
Capitolo 12: Le strutture di dati
  • Le strutture ricorsive
  • Allocazione dinamica della memoria
  • Le liste concatenate
  • Le pile
  • Le code
  • Gli alberi
Capitolo 13: Il preprocessore
  • La direttiva del preprocessore #include
  • La direttiva del preprocessore #define: le costanti simboliche
  • La direttiva del preprocessore #define: le macro
  • La compilazione condizionale
  • Le direttive del preprocessore #error e #pragma
  • Gli operatori # e ##
  • I numeri di riga
  • Le costanti simboliche predefinite
  • Le asserzioni
Capitolo 14: Argomenti avanzati
  • Redirezionare l'input/output su sistemi UNIX e DOS
  • Gli elenchi variabili di argomenti
  • Usare gli argomenti della riga di comando
  • Note sulla compilazione di programmi formati da vari file sorgente
  • Chiusura dei programmi con Exit e Atexit
  • Il qualificatore di tipo Volatile
  • I suffissi per le costanti intere e in virgola mobile
  • Ancora sui file
  • La gestione dei segnali
  • Allocazione dinamica della memoria: le funzioni calloc e realloc
  • Il salto incondizionato: goto
Appendice A: La sintassi del C
  • Sommario della sintassi del linguaggio
  • Grammatica lessicale
  • Grammatica della struttura della frase
  • Direttive del preprocessore
Appendice B: La libreria standard
  • Errori <errno.h>
  • Definizioni comuni <stddef.h>
  • Diagnostica <assert.h>
  • Gestione dei caratteri <ctype.h>
  • Localizzazione <locale.h>
  • Matematica <math.h>
  • Salti non locali <setjmp.h>
  • Gestione dei segnali <signal.h>
  • Argomenti variabili <stdarg.h>
  • Input/Output <stdio.h>
  • Utilità generiche <stdlib.h>
  • Gestione delle stringhe <string.h>
  • Data e ora <time.h>
  • Limiti dell'implementazione
  • <limits.h>
  • <float.h>
Appendice C: Priorità e associatività degli operatori

Appendice D: L'insieme dei caratteri ASCII

Appendice E: I sistemi numerici
  • L'abbreviazione dei numeri binari in ottali ed esadecimali
  • La conversione dei numeri ottali ed esadecimali in binari
  • La conversione da binario, ottale o esadecimale in decimale
  • La conversione da decimale a binario, ottale o esadecimale
  • I numeri binari negativi: la notazione con complemento a due


  Dati tecnici
Titolo: C Corso completo di programmazione
Autore: Deitel & Deitel
Trad. it.: Trulli, M.
Edizione: Milano, APOGEO 2000
ISBN: 88-7303-669-4
U.R.L.: http://www.apogeonline.com

Prezzo di copertina: 33,05
Numero pagine: 573

Giudizio complessivo: 9/10