La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

C++C &. Generalità sul linguaggio C Il C è un linguaggio di programmazione procedurale di alto livello. Progettato e realizzato da Dennis Ritchie e da.

Presentazioni simili


Presentazione sul tema: "C++C &. Generalità sul linguaggio C Il C è un linguaggio di programmazione procedurale di alto livello. Progettato e realizzato da Dennis Ritchie e da."— Transcript della presentazione:

1 C++C &

2 Generalità sul linguaggio C Il C è un linguaggio di programmazione procedurale di alto livello. Progettato e realizzato da Dennis Ritchie e da Brian W. Kernighan nel 1972, fu sviluppato presso gli AT&T Bell Laboratories con lo scopo di ottenere un linguaggio di alto livello per limplementazione dei sistemi operativi. Il linguaggio C nasce come evoluzione di altri linguaggi. Il linguaggio C nasce come evoluzione del linguaggio BCPL (Basic Combined Programming Language) e del suo successore, il linguaggio B. Benché strettamente legato a questultimo sistema, il C può essere utilizzato con i principali sistemi operativi oggi disponibili. Il C è un linguaggio compilato. Dalla metà degli anni Ottanta, lANSI C divenne la versione ufficiale del linguaggio. Nella metà degli anni Ottanta il comitato X3JI1 dellANSI (American National Standards Institute) sviluppò uno standard per il linguaggio C che aggiungeva importanti caratteristiche e ufficializzava molte caratteristiche presenti nei diversi compilatori realizzati successivamente alla pubblicazione di K&R. Dennis RitchieBrian W. Kernighan

3 Le principali caratteristiche del linguaggio C È un linguaggio general purpouse, ossia può essere impiegato per codificare progetti software di natura diversa, da quelli real time a quelli che operano su basi di dati, da quelli tecnico-scientifici sino alla realizzazione di moduli per il sistema operativo. È un linguaggio strutturato di tipo imperativo (o procedurale). I linguaggi C e C++ non sono linguaggi strutturati a blocchi poiché non consentono la dichiarazione di procedure e funzioni allinterno di altre procedure e funzioni. Nella versione ANSI, è facilmente portabile e perciò multipiattaforma; può infatti essere compilato su unampia gamma di computer. Il C riunisce in sé i migliori elementi dei linguaggi ad alto livello con la possibilità di controllo e la flessibilità del linguaggio Assembler.

4 Le principali caratteristiche del linguaggio C Produce programmi efficienti. Essendo nato per implementare sistemi operativi, il C evita anche, ove possibile, qualsiasi operazione che possa determinare un decadimento del livello di efficienza del programma eseguibile. Produce programmi di dimensioni ridotte. Ha infatti una sintassi che si presta alla concisione e alla scrittura di codice compatto. Consente limplementazione dei puntatori (fa ampio uso di puntatori per memoria, vettori, strutture e funzioni). Alcune delle lacune del C riguardano invece: Un metodo scadente per lidentificazione di errori (che generalmente ne esclude lutilizzo ai principianti). La facilità con cui si possono violare le regole del C. Spesso non è facile trovare gli errori quando si programma in C.

5 Inizialmente il linguaggio C++ venne chiamato C con classi. Intorno alla prima metà degli anni Ottanta fu sviluppata unestensione del linguaggio C chiamata inizialmente C con classi e, solo dopo qualche anno, ribattezzata C++. Il C++ mantiene il C come linguaggio base per non perdere gli indiscutibili vantaggi offerti da questultimo. Bjarne Stroustrup Il linguaggio C++

6 Il linguaggio C++ è un linguaggio autonomo indipendente dal C. Il C++ rappresenta un linguaggio autonomo indipendente dal C, venendosi a posizionare tra i linguaggi di medio livello. In particolare, lintroduzione di costrutti quali i template e le classi rende C++ un linguaggio multiparadigma (con particolare predilezione per il paradigma a oggetti e la programmazione generica). Il C e il C++ sono linguaggi per programmatori. Ciò che ha sempre differenziato il linguaggio C++ dagli altri linguaggi artificiali è il fatto di non essere stato sviluppato da gruppi di ricerca appositamente predisposti per creare un nuovo linguaggio di programmazione, ma creato dai programmatori con lobbiettivo di rendere più semplice lattività di codifica di programmi notevolmente lunghi e complessi.

7 Descrizione sintattica dei linguaggi di programmazione Un linguaggio di programmazione non è un linguaggio naturale. Lo studio di un linguaggio di programmazione, proprio come lo studio di un linguaggio naturale (italiano, inglese, ecc.) si basa sul rispetto e sullapplicazione di precise regole grammaticali. I linguaggi di programmazione fanno parte dei cosiddetti linguaggi formali, cioè a quellinsieme di regole che definisce la struttura di frasi formalmente corrette.

8 Formalismo utilizzato per descrivere la sintassi del linguaggio Le parole chiave del linguaggio saranno scritte in grassetto. Le parole scritte racchiuse tra le parentesi angolari rappresentano le categorie sintattiche, ossia elementi generali del linguaggio che, nei vari programmi, saranno sostituiti con opportune occorrenze. Ad esempio: I blocchi racchiusi tra parentesi quadre [ ] indicano lopzionalità, ossia tali blocchi possono anche non essere presenti. Ad esempio: = A = BA = C + 2 * DC = 0 int [= ] indica che subito dopo il nome della variabile è possibile inserire altri nomi separati da una virgola. I blocchi racchiusi tra parentesi graffe { } indicano la possibilità di ripetizione. Ad esempio: int {, } Il simbolo | ha il significato di OR. Ciò significa che allinterno di una lista di parole chiave separate da questo simbolo occorre sceglierne soltanto una. Ad esempio: int | float

9 Gli elementi di un programma C++ Struttura di un programma C++ Facoltativo OBBLIGATORIO Facoltativo Direttive al processore Dichiarazione di variabili globali e/o dei prototipi delle funzioni Funzione 2 Funzione 1 Programma principale (funzione main) Funzione N

10 Il programma principale (funzione main) La funzione main è la funzione principale di un programma codificato in C++ e come tale deve essere sempre presente. [ ] main ([ ]) { ; ……… ; }

11 Il programma principale (funzione main) Il gruppo di istruzioni racchiuse allinterno della coppia di parentesi graffe { } definisce il corpo del programma. Il più semplice programma in C++ che si può scrivere è il seguente: main ( ) { }

12 Il programma principale (funzione main) Listruzione return fa in modo che la funzione restituisca il valore (o lespressione) indicato. int main ( ) { return 0; } Con listruzione return la funzione restituisce il valore (o lespressione) indicato. Naturalmente tale valore deve essere dello stesso tipo della funzione.

13 Il programma principale (funzione main) void main ( ) { } Nel caso in cui non si voglia usare listruzione return occorre dichiarare esplicitamente che la funzione non restituisce alcun risultato. Per far questo occorre far precedere il nome main dalla parola chiave void:

14 Il programma principale (funzione main) È buona regola indentare le istruzioni al fine di garantire la leggibilità del programma. #include int main ( ) { cout << Ciao mondo!; return 0; } Un programma non indentato diventa difficile da leggere e da correggere. Lindentazione aiuta a seguire il flusso del controllo e, di conseguenza, a seguire la logica del programma. Sempre riferendoci allistruzione return, si può notare che ogni istruzione in C++ termina con un punto e virgola (;). Su una singola riga è possibile scrivere più istruzioni, ma è buona norma scriverne solo una al fine di migliorare la leggibilità del codice.

15 La preelaborazione del codice sorgente: le direttive al processore Programma sorgente e programma oggetto. Il linguaggio C++ è un linguaggio compilato. Come sappiamo, i compilatori sono programmi che accettano in ingresso un programma scritto in linguaggio di alto livello (detto programma sorgente) e lo traducono interamente in un programma in linguaggio macchina (detto programma oggetto): a traduzione ultimata, il programma potrà essere eseguito. A differenza di altri linguaggi, la compilazione in C++ prevede una prima fase di preelaborazione, detta precompilazione, svolta da un apposito modulo denominato preprocessore.

16 La preelaborazione del codice sorgente: le direttive al processore Programma sorgente e programma oggetto. Le dichiarative di precompilazione sono istruzioni di dichiarazione per il processore. Le istruzioni di dichiarazione per il preprocessore vengono chiamate dichiarative di precompilazione o direttive al preprocessore e iniziano con il carattere # seguito dalla parola chiave include o define e dalla dichiarazione della direttiva. La direttiva #include consente di inserire nel file sorgente la libreria standard indicata dopo la diirettiva stessa.

17 La preelaborazione del codice sorgente: le direttive al processore Programma sorgente e programma oggetto. Le dichiarative di precompilazione sono istruzioni di dichiarazione per il processore. Una libreria è un insieme organizzato di programmi utilizzati frequentemente nelle applicazioni e memorizzati su un dispositivo di memoria di massa. La direttiva va racchiusa allinterno di parentesi angolari o di doppi apici. Ad esempio, le direttive: #include #include iostream.h indicano al compilatore di includere e compilare insieme al programma il file iostream.h che contiene i prototipi delle funzioni standard di input/output (I/O) del C++, richiamabili poi da un qualsiasi punto del programma.

18 La preelaborazione del codice sorgente: le direttive al processore Programma sorgente e programma oggetto. Le dichiarative di precompilazione sono istruzioni di dichiarazione per il processore. #include #include iostream.h Lestensione.h del file sta a indicare che i file in questione sono file di intestazione o file di header. Le dichiarazioni di inclusione #include non terminano con il punto e virgola.

19 Le funzioni per la gestione dellinput/output La funzione cout ci consente di scrivere sul monitor. Ad esempio, listruzione: visualizza sul monitor la stringa Ciao a tutti. cout | { | }; cout è abbreviazione di console output. Il simbolo << è detto operatore di output. cout << Ciao a tutti; Ad esempio, listruzione: visualizza sul monitor il valore 12. cout << 2+3+7; La sintassi è la seguente:

20 Le funzioni per la gestione dellinput/output La funzione cin ci consente di leggere i dati provenienti dalla tastiera. Ad esempio, listruzione: consente di accogliere allinterno della variabile Numero il valore digitato dalla tastiera. cin >> {>> }; cin è abbreviazione di console input. Il simbolo >> è detto operatore di input. cin >> Numero; La sintassi è la seguente:

21 Realizziamo il nostro primo programma in C++ #include int main ( ) { cout << Ciao mondo!; return 0; }

22 Dal codice sorgente al codice eseguibile 1. Scrittura del programma sorgente e memorizzazione dello stesso allinterno di un file con lestensione.c,.cpp,.cp. 2.Compilazione del programma sorgente e ottenimento del programma oggetto memorizzato in un file caratterizzato dallestensione.obj. Il compilatore, durante la fase di traduzione del codice sorgente in codice oggetto, verifica la correttezza formale del codice sorgente e segnala la presenza di errori che impediscono la creazione del file oggetto (con un messaggio error), oppure invia un warning quando rivela errori che consentono comunque di creare il file oggetto; i warning sono avvertimenti di situazioni anomale che potrebbero creare problemi in fase di esecuzione. 3. Linking del programma oggetto con le librerie standard del linguaggio dichiarate nel codice sorgente a opera di un particolare programma chiamato linker. Il risultato sarà il programma eseguibile memorizzato in un file caratterizzato dallestensione.exe. I passi da eseguire per creare un file eseguibile sono i seguenti:


Scaricare ppt "C++C &. Generalità sul linguaggio C Il C è un linguaggio di programmazione procedurale di alto livello. Progettato e realizzato da Dennis Ritchie e da."

Presentazioni simili


Annunci Google