Istruzioni composte
È una sequenza qualsiasi di istruzioni racchiuse tra parentesi graffe. Sintatticamente, equivale a una singola istruzione.
Esempio:
{
double pg = 3.1415, c, r = 2.9;
c = 2 * pg * r;
int i = 0; i++;
}
Le dichiarazioni possono comparire in qualsiasi punto del blocco .
Operatori relazionali e logici
Operatore | Significato |
== | Uguale |
!= | Diverso |
> | Maggiore |
< | Minore |
>= | Maggiore o uguale |
<= | Minore o uguale |
&& | AND logico |
|| | OR logico |
! | NOT logico |
Istruzione condizionale if
Sintassi_1:
if (exp)
istruzione;
dove istruzione rappresenta un'unica istruzione o un'istruzione composta, e viene eseguita solo se exp è true.
Esempio :
if (b > 0)
a= b/a:
Sintassi_2:
if (exp)
istruzione1;
else
istruzione2;
Se exp è true viene eseguita istruzione1, altrimenti istruzione2.
Esempio :
if (b != 0)
a = a / b;
else
cout << "Divisione per zero":
Istruzione condizionale switch
Sintassi :
switch (exp) {
case cost1: istruzione1; break;
case cost2: istruzione2; break:
…
default: istruzione-default;
}
L'istruzione switch esegue l'istruzione il cui case
equivale al valore di exp.
Se nessun case corrisponde, viene eseguita l'istruzione del case default
(se esiste). exp è un'espressione intera mentre i
valori dei case devono essere costanti intere.
ATTENZIONE! Se dopo l'istruzione eseguita non
esiste l'istruzione break, vengono eseguite anche
le istruzioni successive.
Operatore ternario condizionale
Sintetizza la scrittura delle espressioni condizionali
Sintassi :
Op1 ? op2 : op3
Se op1 è true l'intera espressione vale op2, altrimenti vale op3.
Esempio :
Totale = importo * pezzi * (pezzi > 100 ? 0.8 : 1);
equivale a scrivere:
if(pezzi > 100) totale = importo * pezzi * 0.8:
else totale = importo * pezzi * 1;
Istruzione iterativa while
Ripete un'istruzione se il valore dell'espressione di controllo è vero.
Sintassi :
while(exp)
istruzione;
istruzione viene ripetuta fintanto che il valore
di exp rimane true.
Se inizialmente exp è false, istruzione non è eseguita
nemmeno una volta.
Esempio :
while(Anni > 0) {
Deposito *= (1 + Tasso / 100);
Anni--;
}
Istruzione iterativa do-while
Ripete un'istruzione fintanto che il valore dell'espressione di controllo rimane vero.
Sintassi :
do {
istruzione;
while(exp);
istruzione viene eseguita almeno una volta e viene ripetuta fintanto che exp riane true.
Esempio :
do {
cout<<"Scelta (1-5): ";
cin>>r;
} while(r<1 || r>5);
Istruzione iterativa for
Ripete un'istruzione per un numero determinato di volte.
Sintassi :
for(exp1; exp2; exp3) istruzione;
L'esecuzione dell'istruzione for implica:
1 la valutazione di exp1 (che di solito è un'assegnazione che inizializza una variabile, detta di controllo);
2 la valutazione dell'espressione exp2;
3 se exp2 è true, viene eseguita istruzione, dopodichè è valutata exp3 (che di solito è un incremento o un decremento della variabile di controllo) quindi riprende dal passo 2.
Esempio :
s=0;
for(int i = 1; i <= 10; i++) s += i;
Al termine di questo ciclo s conterrà la somma dei numeri da 1 a 10.
Operatore virgola
Consente di aggiungere altre istruzioni dove il C++ ammette l'uso d un'unica espressione.
Esempio :
x = (a = 0, b += 5, c++);
equivale a scrivere:
a = 0;
b += 5;
x = c++;
1 La valutazione dell'espressione avviene da
sinistra verso destra;
2 Il risultato è il valore dell'operando più
a destra.
Istruzione di salto break
L'istruzione break, oltre a terminare l'istruzione switch, serve anche per terminare immediatamente l'esecuzione di ciclo.
Istruzione di salto continue
L'istruzione continue termina il ciclo in esecuzione. Il ciclo successivo inizia con la valutazione dell'espressione condizionale (nel caso di un ciclo for, prima viene valutata exp3).
Istruzione di salto goto
Sintassi :
goto etichetta;
Trasferisce l'esecuzione del programma all'istruzione che segue etichetta: