Téléchargeur: Liam
Pays: United States
Temps de chargement: Sep 03, 2018
Prix: Gratuit
Évaluation: Basé sur 1 utilisateurs

S'il vous plaît, vérifiez que vous n'êtes pas un robot pour charger le reste des pages

tÉlÉcharger bellini guidi linguaggio c pdf

Linguaggio C - Guida alla programmazione
Alessandro Bellini, Andrea Guidi
Prezzo Euro 24,50
ISBN: 88 386 0816-4
giugno 1999
420 pagine
Il linguaggio C, creato nel 1972 presso i Bell Laboratories, è attualmente il linguaggio di programmazione più utilizzato nei
corsi universitari di introduzione all’informatica, grazie alla sua diffusione in ambito professionale, allo stretto legame con il
mondo UNIX e alla facilità con cui consente il passaggio ad altri linguaggi quali C++, Java e Perl. In questo libro si illustrano
dapprima in termini semplici e graduali, e con il continuo ausilio di esempi svolti, la sintassi e la semantica del linguaggio, per
poi affrontare in profondità argomenti più avanzati, quali ricorsioni, archivi e strutture dati(pile, code, alberi e grafi);il capitolo
conclusivo dedicato all’architettura Internet, introduce il programmatore C all’utilizzo del protocollo HTTP per la realizzazione di
pagine Web dinamiche.
Indice
1) Avvio
2) Istruzioni decisionali
3) Istruzioni iterative
4) Array
5) Ricerche, ordinamenti e fusioni
6) Stringhe
7) Funzioni
8) Il processore C
9) Puntatori
10) Ricorsioni
11) Tipi
12) Tipi derivati e classi di memoria
13) File
14) Strutture dati
15) Alberi e grafi
16) Programmare un Web Server
Appendici
Autori
Alessandro Bellini è laureato in Ingegneria elettronica all'Università di Firenze ed è Dottore di ricerca in Ingegneria informatica
e delle telecomunicazioni. E' stato professore incaricato di Ingegneria del Software all'Università di Siena e di linguaggi e
traduttori all'Università di Firenze. Attualmente svolge attività professionale per enti pubblici, privati e nell'ambito di progetti di
ricerca finanziati dall'Unione Europea.
E' autore di un testo sul linguaggio C edito da McGraw-Hill.
Andrea Guidi si è laureato in Scienze dell'informazione all'Università di Pisa ed è stato docente di Informatica presso
l'Università dell'Ecuador. Ha lavorato come Project manager e come responsabile formazione nell'area database per importanti
aziende del settore informatico. Attualmente è direttore commerciale di una società di commercializzazione software. E' autore
di diversi volumi pubblicati da McGraw-Hill
Prefazione
Guida al linguaggio C, ha riscosso negli anni un vasto e duraturo successo in ambito Universitario; questa nuova
edizione aggiorna il testo, approfondisce ulteriormente i temi trattati e lo arricchisce di nuovi argomenti, ormai divenuti
urgenti, tra i quali l’uso dei protocolli di Internet.
L’obiettivo del testo resta quello di fornire una guida completa alla programmazione in linguaggio C, i concetti sono
dapprima presentati con esemplificazioni e poi gradualmente sviluppati ed approfonditi. Per garantire un approccio
morbido all'apprendimento del linguaggio, è stata posta grande attenzione all'ordine di presentazione degli argomenti.
Sin dall'inizio il lettore può scrivere e provare sull'elaboratore programmi completi. L'esperienza insegna che uno dei
modi migliori per apprendere un linguaggio è quello di introdurre pochi concetti alla volta e su quelli concentrarsi e
svilupparli con esempi. La scomposizione dei programmi in funzioni segue i dettami di modularità, coesione ed
accoppiamento richiesti dalla progettazione e programmazione strutturata; non si è voluto, comunque, inibire l'uso delle
variabili globali usate con parsimonia e cautela.
I primi problemi da risolvere sono concettualmente semplici; il loro scopo è quello di prendere confidenza con i
costrutti sintattici del linguaggio. I capitoli dall’uno al nove costituiscono le basi del C; inizialmente vi vengono
introdotti: istruzioni, tipi dati, variabili e costanti, operatori, espressioni, strutture decisionali e iterative, istruzioni
composte e annidate, librerie di funzioni. Successivamente vengono presentati gli array, le stringhe e vengono analizzati
tutti i principali programmi di ricerca, ordinamento e fusione. Particolare cura viene infine impiegata nella trattazione
della programmazione modulare: funzioni, passaggio di parametri, visibilità delle variabili. Ai puntatori, notoriamente
ostici, è dedicato un intero ampio capitolo in cui vengono trattati con dovizia di esempi.
Nella seconda metà del testo si propongono allo studente temi e problemi più complessi che richiedono un’analisi
preliminare, per valutare soluzioni alternative. Il capitolo dieci, dedicato alla ricorsione, presemta numerosi interessanti
esempi di calcolo combinatorio (fattoriale, disposizioni, combinazioni), mentre i due capitoli successivi riprendono e
approfondiscono tipi dati, costanti, operatori ed espressioni. In particolare vi vengono trattate le operazioni bit a bit
tanto importanti per la programmazione di basso livello per la gestione di dispositivi hardware per cui il C è spesso
utilizzato. Nel capitolo tredici, che si occupa di archivi, viene data una nuova soluzione al problema della “gestione di
un’anagrafica”, già precedentemente affrontato nel capitolo sui tipi dati derivati, questa volta utilizzando i file. Nei
capitoli quattordici e quindici vengono trattate le strutture dati come pile, code, alberi e grafi, presentado differenti
implementazioni che coinvolgono array, liste lineari, liste multiple e soluzioni miste. Vengono presi in esame problemi
come la creazione, l'inserzione, l'eliminazione di elementi. In tal modo si raggiunge un duplice scopo. Da una parte
offrire un valido banco di prova per il programmatore C, spingendolo a sfruttare caratteristiche tipiche del linguaggio
come puntatori, strutture, funzioni di allocazione di aree memoria e complesse chiamate di funzioni. Dall'altro costruire
una introduzione completa alle strutture dati che spesso vengono studiate solo sul piano teorico nei corsi di informatica.
L’ultimo capitolo, dedicato all’architettura Internet, introduce il programmatore C all’utilizzo del protocollo HTTP per
la realizzazione di pagine Web statiche e dinamiche.
Alcuni temi ed esemplificazioni percorrono l’intero testo, per esempio del problema della “gestione di una sequenza”
viene data una prima soluzione nel capitolo sette con l’uso di funzioni, una seconda nel capitolo nove arricchita dalla
disponibilità dei puntatori, infine una terza nel capitolo quattordici utilizzando una lista lineare. Ogni capitolo è
concluso dalla presentazione di numerosi esercizi per la verifica del corretto apprendimento degli argomenti. Le
soluzioni degli esercizi sono accompagnate da rifessioni e dal confronto di più alternative. La versione del linguaggio a
cui si è fatto riferimento è quella dello standard internazionale ANSI.
Auguriamo di cuore buono studio/lavoro al lettore, che se lo desidera, può inviarci commenti e
consigli ai seguenti indirizzi di posta elettronica [email protected] e
[email protected]
1. Linguaggio C
Nel 1972 Dennis Ritchie progettava e realizzava la prima versione del linguaggio C presso i Bell Laboratories. Ritchie
aveva ripreso e sviluppato molti dei costrutti sintattici del linguaggio BCPL, di Martin Richards, e del linguaggio B, di
Ken Thompson, l'autore del sistema operativo UNIX. Successivamente gli stessi Ritchie e Thompson riscrissero in C il
codice di UNIX.
Il C si distingueva dai suoi predecessori per il fatto di implementare una vasta gamma di tipi di dati - carattere, interi,
numeri in virgola mobile, strutture - non originariamente previsti dagli altri due linguaggi. Da allora ad oggi non ha
subito profonde trasformazioni: la sua sintassi è stata estesa, soprattutto in conseguenza della programmazione orientata
agli oggetti (C++), ma nella sostanza e nello spirito il linguaggio è rimasto quello delle origini. Il C è un linguaggio di
alto livello che possiede un insieme ristretto di costrutti di controllo e di parole chiave, ed un ricco insieme di operatori.
Consente di programmare in modo modulare, per mezzo delle funzioni e delle macro, anche se non esiste una gerarchia
di funzioni come, ad esempio, in Pascal. Pur essendo un linguaggio ad alto livello permette operazioni di basso livello
tipiche del linguaggio macchina: si può, ad esempio, indirizzare la memoria in modo assoluto, funzionalità
fondamentale per lo sviluppo di applicazioni di basso livello. E’ un linguaggio apparentemente povero: non possiede
istruzioni di entrata/uscita, ne istruzioni per operazioni matematiche. Ogni funzione diversa dai costrutti di controllo o
dalle operazioni elementari sui tipi dati è affidata ad un insieme di librerie esterne. In questo modo, Ritchie riuscì a