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!