• Non ci sono risultati.

Manualistica 2 Gli operatori

N/A
N/A
Protected

Academic year: 2022

Condividi "Manualistica 2 Gli operatori"

Copied!
27
0
0

Testo completo

(1)

Programmazione e Laboratorio di Programmazione

Manualistica 2

Gli operatori

(2)

Sintassi :

&nome_variabile

Valore:

indirizzo della variabile nome_variabile

Esempio:

int *x;

int y;

x = &y;

(3)

Operatore *

Sintassi :

*nome_puntatore

“Valore”:

il nome della variabile il cui indirizzo è memorizzato in nome_puntatore

Esempio:

y y

int *x, y;

y = 1;

x = &y;

*x = *x+1;

(4)

nome_variabile = espressione

Valore:

è il valore di espressione

Modifiche allo stato della memoria:

assegna alla variabile nome_variabile il valore di espressione

espressione

(5)

Operatore di assegnamento

Attenzione:

il tipo di nome_variabile e quello di

espressione “devono” coincidere

(6)

// sorgente: Lezione_XI\OpAss_1.c

// programma che mostra il comportamento // dell'operatore di assegnamento

#include <stdio.h>

int main ()

{ // definizione e inizializzazione delle variabili int x, y;

y=2;

// visualizza il valore di y assegnandolo // al tempo stesso a x

printf(“\nY: %d”, x=y);

// visualizza il valore di x printf(“\nX: %d”, x);

return(1);

(7)

Operatore di assegnamento

Compilazione:

Esecuzione:

(8)

*nome_puntatore = espressione

Valore:

è il valore di espressione

Modifiche allo stato della memoria:

assegna alla variabile il cui indirizzo è memorizzato in nome_puntatore il valore di espressione

espressione

(9)

Operatore di assegnamento

// sorgente: Lezione_XI\OpAss_2.c

// programma che mostra il comportamento // dell'operatore di assegnamento

#include <stdio.h>

int main ()

{ // definizione e inizializzazione delle variabili int x, y, *punx, *puny;

punx=&x; puny=&y;

*puny=2;

// visualizza il valore di y assegnandolo // al tempo stesso a x

printf(“\nY: %d”, *punx=*puny);

// visualizza il valore di x printf(“\nX: %d”, *punx);

return(1);

Esempio:

(10)

Esecuzione:

(11)

Operatore di auto-incremento prefisso

Sintassi:

++nome_variabile

Valore:

il valore di nome_variabile incrementato di 1

Modifiche allo stato della memoria:

incrementa di 1 il valore di

nome_variabile

(12)

Esempio:

B=++A;

2834 2835 2836 2837 2838 2839 2840 2841 2842 2843 2844 2855

x

3 A

x

x x x x

B

x

14 x

4

(13)

Operatore di auto-incremento postfisso

Sintassi:

nome_variabile++

Valore:

il valore di nome_variabile

Modifiche allo stato della memoria:

incrementa di 1 il valore di

nome_variabile

(14)

Esempio:

B=A++;

2834 2835 2836 2837 2838 2839 2840 2841 2842 2843 2844 2855

x

3 A

x

x x x x

B

x

13 x

4

(15)

Operatore di auto-decremento prefisso

Sintassi:

--nome_variabile

Valore:

il valore di nome_variabile decrementato di 1

Modifiche allo stato della memoria:

decrementa di 1 il valore di

nome_variabile

(16)

Esempio:

B=--A;

2834 2835 2836 2837 2838 2839 2840 2841 2842 2843 2844 2855

x

3 A

x

x x x x

B

x

12 x

2

(17)

Operatore di auto-decremento postfisso

Sintassi:

nome_variabile--

Valore:

il valore di nome_variabile

Modifiche allo stato della memoria:

decrementa di 1 il valore di

nome_variabile

(18)

Esempio:

B=A--;

2834 2835 2836 2837 2838 2839 2840 2841 2842 2843 2844 2855

x

3 A

x

x x x x

B

x

13 x

2

(19)

Operatori di auto-incremento e decremento

Esempio

1

3

2

2

1

(20)

Esecuzione:

(21)

Operatori di relazione

Sintassi:

a) espr_1 == espr_2 uguale b) espr_1 != espr_2 diverso c) espr_1 > espr_2 maggiore

d) espr_1 >= espr_2 maggiore o uguale e) espr_1 < espr_2 minore

f) espr_1 <= espr_2 minore o uguale

Valore:

1 se i valori di espr_1 e espr_2 si trovano nella relazione specificata

0 altrimenti

(22)

1

0

0

1

1

3

(23)

Operatori di relazione

Compilazione:

Esecuzione:

(24)

espr 1 || espr 2 “or”

Valore:

0 se espr 1 e espr 2 valgono entrambe 0 1 altrimenti

Sintassi:

espr 1 && espr 2 “and”

Valore:

1 se espr 1 e espr 2 sono entrambe ≠ 0

0 altrimenti

(25)

Operatori “logici”

Sintassi:

!espr “not”

Valore:

1 se espr vale 0

0 altrimenti

(26)

0

(27)

Operatori “logici”

Compilazione:

Esecuzione:

Riferimenti

Documenti correlati

Responsabile interno del trattamento dei dati è il responsabile del Contratto Dott. Responsabile esterno del trattamento dei dati è il Gestore del Sistema Telematico Acquisti

«valido con riferimento a tutti quanti gli organi supremi dello Stato, in virtù del quale, a tutela della loro indipendenza, deve essere consentito.. Nell’intento di favorirne

«valido con riferimento a tutti quanti gli organi supremi dello Stato, in virtù del quale, a tutela della loro indipendenza, deve essere consentito loro di disciplinare

La Corte, al momento, risulta essersi pronunciata in un solo caso (Sez. 22494\2005), dichiarando la manifesta infondatezza di una questione di legittimità costituzionale

5.1 Ogni azienda farmaceutica deve documentare e rendere pubblici ogni anno attraverso un apposito Modello che costituisce parte integrante del presente Codice (all.1), i

Proprietà e caratteristiche dei materiali e degli strumenti più comuni. Modalità di manipolazione in sicurezza dei materiali e degli strumenti più comuni. Procedimenti di

Per virtù o per necessità, il mondo della comunicazione d’impresa prende coscienza di un fatto molto semplice, ovvero che alla base esiste un rapporto, un dialogo, una

carico su linee già esistenti: ovvia- mente, come è stato accennato in principio, quando s i vogliono de- durre elementi circa le percorren- ze medie, l'andamento