Академический Документы
Профессиональный Документы
Культура Документы
Docente:
Esercitatori:
C.D.L.:
A.A.:
Luogo:
URL:
Avviso: il materiale (testo, figure) mostrato in queste slide opera principalmente di Roberto Sebastiani, con contributi di
Alessandro Armando, Enrico Giunchiglia e Sabrina Recla. Le persone di cui sopra ne detengono i diritti di autore. Ogni uso
commerciale di queste slide senza lesplicita autorizzazione degli autori strettamente proibito dalle leggi sul copyright.
Nessuna copia di queste slide pu essere mostrata in pubblico senza essere preceduta da questo avviso.
c Roberto Sebastiani et al. ()
14 settembre 2015
1 / 22
Scrittura di un programma
14 settembre 2015
3 / 22
file oggetto
("prova.o")
COMPILATORE
librerie di sistema
("cmath")
LINKER
file eseguibile
("a.out")
COMPILATORE+LINKER
14 settembre 2015
4 / 22
COMPILATORE
file oggetto
("prova1.cc")
("prova1.o")
("prova2.cc")
("prova2.o")
LINKER
file eseguibile
("a.out")
....
("provaN.cc")
("provaN.o")
librerie di sistema
("cmath")
file sorgente tradotti nei rispettivi file oggetto uno alla volta
file oggetto collegato (linked) a librerie di sistema dal linker,
generano un file eseguibile (default a.out)
Es: g++ prova1.o prova2.o ...
provaN.o
provaN.cc
14 settembre 2015
5 / 22
ESEMPI
esempio
di com fatto un programma:
ESEMPI_BASE/esempio_fattoriale.cc
con
compilazione separata:
ESEMPI_BASE/fact.cc
ESEMPI_BASE/esempio_fattoriale2.cc
14 settembre 2015
6 / 22
Programmi elementari
// chiamata a libreria
int main ()
{
// funzione principale
return 0;
}
14 settembre 2015
8 / 22
Programmi elementari
14 settembre 2015
9 / 22
14 settembre 2015
11 / 22
commenti:
racchiusi fra /* e */ (come in C):
/* Questo commento e
su piu righe
*/
tra // e fine riga:
// Questo commento e su una sola riga
14 settembre 2015
12 / 22
Identificatori (Identifiers)
14 settembre 2015
13 / 22
14 settembre 2015
14 / 22
Le Espressioni Letterali
14 settembre 2015
15 / 22
14 settembre 2015
16 / 22
Sequenze di Escape
Nome
nuova riga
tabulazione orizzontale
tabulazione verticale
spazio indietro
ritorno carrello
avanzamento modulo
segnale acustico
barra invertita
apice
virgolette
Abbreviazione
NL(LF)
HT
VT
BS
CR
FF
BEL
\
"
Sequenza di Escape
\n
\t
\v
\b
\r
\f
\a
\\
\
\"
Esempio:
ESEMPI_BASE/escape.cc
c Roberto Sebastiani et al. ()
14 settembre 2015
17 / 22
14 settembre 2015
18 / 22
Rappresentazione di Numeri
un numero intero viene rappresentato da una sequenza di cifre,
che vengono interpretate
in base decimale (default)
in base ottale se inizia con uno zero
in base esadecimale se inizia con 0x (o 0X)
Nota:
In un numero reale, la virgola viene rappresentata secondo la
notazione anglosassone con un punto ..
Esempio
di rappresentazione di numeri in
C++:
ESEMPI_BASE/rappr_numeri.cc
c Roberto Sebastiani et al. ()
14 settembre 2015
19 / 22
Operatori
=
&=
>=
::
*
<
|=
&&
()
/
>
<<
||
[]
%
+=
>>
++
?:
^
-=
>>=
--
&
*=
<<=
,
|
/=
==
->*
~
%=
!=
->
14 settembre 2015
20 / 22
14 settembre 2015
21 / 22
I Separatori
14 settembre 2015
22 / 22