Programmare in linguaggio C

Philippe Dax

Programmare in linguaggio C

Edizione a stampa

41,50

Pagine: 216

ISBN: 9788820426316

Edizione: 1a edizione 1987

Codice editore: 725.2

Disponibilità: Limitata

Il linguaggio C, la cui diffusione è iniziata negli Usa alla fine degli anni '70, tende a diventare uno standard per lo sviluppo del software: questo dipende dal fatto che C è uno degli assi centrali di Unix.

L'elemento più singolare di C consiste nel fatto che da un lato è un liguaggio strutturato, dall'altro è abbastanza vicino all'architettura degli elaboratori attuali, senza però averne sposato uno in particolare!

L'efficacia di C ha spinto molte società di elaboratori ad adottarlo per cui ora C è disponibile sotto diversi sistemi operativi (CP/M, MS-DOS, vms, ... ).

Questo libro presenta C in modo informale avvalendosi di numerosi esempi che servono via via a vivacizzare la trattazione e aiutano a cogliere meglio il senso e l'utilità degli argomenti che vengono introdotti.

Questo volume si rivolge soprattutto ad un pubblico che ha qualche nozione di programmazione in un linguaggio evoluto; non necessariamente il Pasca], infatti C ha un carattere sufficientemente generale da attirare la curiosità di coloro che conoscono il Fortran o il Basic o il Cobol . . . che troveranno in C molti elementi complementari al loro complesso di conoscenze.

Philippe Dax ha conseguito la laurea in ingegneria nel 1968 e successivamente si è specializzato in elettronica ed in automatica. Dal '70 è professore in Francia presso la Scuola nazionale superiore di telecomunicazioni e dall'84 collabora con la Unipro lavorando su Unix. Su tutte le problematiche connesse ad Unix ha scritto numerosi articoli e relazioni e, tra l'altro, è membro fondatore dell'associazione francese degli utenti Unix.

Prefazione
1. Introduzione
1. Storia
1.1. Origine di C
1.2. Evoluzione di C
2. Presentazione generale del linguaggio
2.1. I settori d'utilizzo di C
2.2. Confronto sommario con altri linguaggi
3. Aspetto generale di un programma
3.1. Le funzioni
3.2. I flussi
3.3. Il programma principale
4. Strumenti preliminari
4.1. Le funzioni: getchar e putehar
4.2. Fine riga, fine flusso
4.3. La funzione print
4.4. La funzione scan
2. Gli elementi base del linguaggio
1. I commenti
2. Gli identificatori
3. Le parole riservate
4. Le costanti
4.1. Numeri interi
4.2. Numeri reali
4.3. Caratteri
4.4. Stringhe di caratteri
4.5. Espressioni costanti
5. Gli operatori
6. I delimitatori
7. Nozioni di variabile
8. I tipi di base
8.1. Tipo char
8.2. Tipo int
8.3. Tipo float
8.4. Tipo short
8.5. Tipo long
8.6. Tipo unsigned
8.7. Tipo double
9. I tipi derivati
10. Le classi d'allocazione degli oggetti
11 Le variabili globali
12. Le variabili locali
12.1. Variabili statiche
12.2. Variabili automatiche
12.3. Variabili nei registri
13. Dichiarazione delle variabili
13.1. Lista delle variabili
13.2. Dimensione delle variabili
13.3. Inizializzazione delle variabili
3. Gli operatori
1. Generalità
2. Operatori aritmetici
3. Operatori di manipolazione di bits
4. Operatore d'assegnazione
5. Incremento e decremento
6. Operatori relazionali
6.1. Operatori di confronto
6.2. Operatori logici
6.3. Operatori condizionali
7. Operatori d'accesso agli oggetti
7. 1. Indirizzamento di un oggetto
7.2. Indirizzamento indiretto
7.3. Indirizzamento con indice
8. L'operatore sizeof
9. Conversione di tipo
9.1. Conversioni implicite
9.2. Conversioni esplicite
10. Precedenza d'operatori
11. Valutazione delle espressioni
12. Altri operatori
4. Le istruzioni
1 Generalità
2. istruzioni semplici
3. istruzioni di controllo
4. istruzioni composte
5. istruzioni condizionali
5.1. Istruzione if else
5.2. Istruzioni else if
6. Istruzioni condizionali multiple
7. istruzioni ripetitive
7.1. Istruzione while
7.2. Istruzione do while
7.3. Istruzione for
8. Istruzioni associate ai cieli
8.1. Istruzione break
8.2. Istruzione continue
8.3. Istruzione goto
8.4. Istruzione ;
9. istruzione di ritorno di funzione: return
10. Direttive di compilazione
10.1. Sostituzione simbolica: #define
10.2. Inclusione di flussi sorgenti: #include
10.3. Compilazione condizionale
10.4. Altre direttive
5. Gli altri oggetti manipolati da C
1. Le tabelle
1.1. Dichiarazione di una tabella
1.2. Inizializzazione di una tabella
1.3. Tabelle multidimensionali
2. I puntatori
2.1. Dichiarazione di un puntatore
2.2. Operazioni sui puntatori
2.3. Tabelle di puntatori
2.4. Argomenti dei comandi Shell
3. Le strutture
3.1. Descrizione di una struttura
3.2. Dichiarazione di una variabile di tipo struttura
3.3. Elementi di una struttura
3.4. Operazioni sulle strutture
3.5. Accesso agli elementi di una struttura
3.6. Inizializzazione delle strutture
3.7. Campi di bits
4. Le sovrapposizioni
5. Le liste
6. Le funzione
6.1. Passaggio degli argomenti
6.2. Tipi di funzioni
7. Composizione di tipi
8. Definizione di tipi sinonimi
6. L'ambiente di programmazione C
1. Le librerie
2. I comandi
3. La libreria standard libc
3.1. Il flusso stdio.h
3.2. Accesso ai flussi
3.3. Gli input/output
3.3.1. I/O carattere per carattere
3.3.2. I/O parola per parola
3.3.3. I/O di stringhe di caratteri
3.3.4. I/O binari bufferizzati
3.3.5. I/O con formato
3.3.6. Le funzioni di posizionamento
3.4. Manipolazione di stringhe
3.4.1. Concatenazione di stringhe
3.4.2. Confronto di stringhe
3.4.3. Copie di stringhe
3.4.4. Lunghezza d'una stringa
3.4.5. Ricerca d'un carattere
3.5. Conversione di stringhe numeriche
3.6. Tipi di carattere
3.7. Conversione di carattere
3.8. Allocazione in memoria
3.9. Funzioni diverse
4. La libreria matematica
5. Il compilatore C
6. Strumenti specifici di Unix
6. 1. Lint
6.2. Make
6.3. Cb
Appendici
A. Stile di programmazione
B. Analisi comparata: programma di calcolo dei numeri primi nei linguaggi: C, Pascal, Ada, Fortran, Basic, Cobol, Forth
C. Le primitive di Unix
D. Gli altri compilatori C
Bibliografia