http://ocw.mit.edu Concetti di base: header file, funzione main(),set caratteri C++, token, operatori, espressioni etc. Flusso di controllo, cicli, costrutti di selezione Vettori, Stringhe, puntatori Classi e oggetti, allocazione della memoria Gestione file di dati E’ un estensione del linguaggio C; veloce, portabile a largamente usato. Scritto da Bjarne Stroustrup nel 1979 nei Bell Labs, chiamato ‘C With Classes’ . Caratteristiche di livello alto e basso. Linguaggio orientato agli oggetti: Incapsulamento, ereditarietà. modularità e polimorfismo •Il Preprocessore rimuove i commenti e gestisce li direttive di inclusione file, definizioni etc. •Il Compilatore traduce il sorgente nel codice assembly •L’assemblatore crea il codice oggetto , file obj. •Il Linker combina qualsiasi funziona riferenziata dalle librerie e crea il file eseguibile Contengono i prototipi delle funzioni delle librerie standard C++ iostream.h, stdio.h, math.h, stdlib.h, etc… •// : Commenti, non influenzano il comportamento del programma • #include <iostream> : dice al preprocessore di includere il file standard iostream • using namespace std; diciamo che usiamo gli elementi della libreria standard C++, dichiarate all’interno di ciò che è chiamato namespace, std in questo caso. • int main () : funzione main { :inizio • cout << "Hello World!"; stampa la stringa •return 0; fa finire il programma e restituisce 0 } :fine codice. L’esecuzione del programma inizia qui, la prima cosa che viene fatta. Il valore di ritorno deve essere intero main non può essere richiamata dall’interno del programma, solo il sistema può chiamare le funzione main int main() { } • 0123456789 • ABCDEFGHIJKLMNOPQRSTUVWXYZ • abcdefghij klmnopqrstuvwxyz • _ $ { } [ ] # ( ) < > % : ; . ? * + / ^ & | ~ ! = , \ " ‘ <SPACE> Un token è il più piccolo elemento di un programma C++ che è significativo per il compilatore. Categorie di token: identificatori, parole chiave, operatori, puntatori Tokens sono solitamente separati da spazi bianchi. Lista delle parole chiave C++. Siccome sono usate dal linguaggio, non sono disponibili all’uso dai programmatori. Non si possono definire classi, variabili o funzioni che hanno come nome queste parole chiave. Un operatore è un simbolo che fa eseguire al compilatore “un’azione”. Gli operatori agiscono sugli operandi, e in C++ tutti gli operandi sono espressioni. Tipi di operatori: Assegnamento Matematici Un operatore può essere unario o binario L’operatore di assegnamento (=) fa in modo che l’operando a sinistra dell’operatore abbia il suo valore cambiato in quello a destra dell’operatore. x=a+b ; //mette in x il risultato di a+b x=35 ; //mette in x 35 35=X ; // SBAGLIATO!!!!!!!!!!!!!!!!!!!!!! Addizione (+), sottrazione (-), moltiplicazione (*), divisione (/), resto(%). Es: x=21/5; //mette in x il valore 4 (21/5 div. intera) x=21 % 4 ; //mette in x 1, resto di 21/5 div. intera. Operatori binari, agiscono su due operatori: Es: a+b a%b Operatori “unari”, agiscono su un operatore Es: ! b //! Not logico. (& , ~ , * , + , ++ , – , –– ) Tipi di separatori: {} spesso usato per definizione di funzioni () usato spesso per condizioni. , usato ad esempio nella dich. di variabili. ; indica la FINE dell’istruzione. [] vettore. Nome Descrizione Dimensione Range int Intero 4 bytes Con segno: 2147483648 a 2147483647 Senza segno: 0 a 4294967295 short int (short) Intero corto 2 bytes Con segno: 32768 a 32767 Senza segno: 0 to 65535 long int (long) Long integer. 4 bytes Con segno: 2147483648 a 2147483647 Senza segno: 0 to 4294967295 char Carattere/intero piccolo 1 byte Con segno: -128 a 127; senza segno 0 a 255 Nome Descrizione Dimensione Range bool Booleano: assume solo due valori, true o false; 1 byte true (1) o false (0) float Numeri in virgola mobile 4 bytes +/ 3.4e +/ 38 (~7 cifre) double Numeri in virgola mobile in doppia precisione 8 bytes +/ 1.7e +/ 308 (~15 cifre) double Numeri in virgola mobile in doppia precisione 8 bytes +/ 1.7e +/ 308 (~15 digits) Inserire il tipo di dato PRIMA poi il nome della variabile. Es: char tasto; int area=0; //dichiarazione con inizializzazione floa lat1=0, lato2; // separare le variabili con , Consigli: Chiarezza e leggibilità: int a; // non ci dice niente sul uso della variabile a. int cateto; //Ok, sarà il cateto di un triangolo rett. Ricordarsi che il C++ è un linguaggio case sensitive, distingue tra maiuscolo e minuscolo. Es: char tasto,Tasto,tAsto,TASTO; // tutte diverse. Funzioni: Usare verbi come nome funzione. Es: LeggiNome();CalcolaArea(); Le costanti tutte maiuscole. Es: float PI = 3.141592653 Includere i file di libreria: #include <iostream> using namespace std; Dichiarare la funzione main int main() { Dichiarare le variabili int area; float area2; Stampiamo sullo schermo cout<<“Hello”; cout<<“I like C++ ”<<“more than Pascal.”; Ricevere un input (da tastiera) int numero; //Dichiarare la varibile PRIMA! cout<<“ Inserire un numero”; // Comunicare //all’utente cosa deve fare! cin>>numero; //Ricevere il valore digitato. Scriver il resto del codice e CHIUDERE le parentesi aperte!