G. Amodeo, C. Gaibisso Programmazione di Calcolatori Lezione XI Gli operatori Programmazione di Calcolatori: gli operatori 1.

Slides:



Advertisements
Presentazioni simili
Puntatori Linguaggio C.
Advertisements

Introduzione al linguaggio C++
INFORMATICA Altre Istruzioni di I/O
Preincremento e PostIncremento in C++
Introduzione al linguaggio C
Puntatori in C e C++.
PUNTATORI Introduzione
Anno accademico Array e puntatori in C.
La ricorsione Simulazione. Il Main /* Programma che usa una funzione ricorsiva*/ #include #define MAX_N 8 main() int valore, dato; printf(Introduci n:
Indirizzi delle variabili A ogni variabile sono associati tre concetti fondamentali: il valore memorizzato; il tipo dati di appartenenza; lindirizzo. Il.
Caratteri e stringhe di caratteri
Prof.ssa Chiara Petrioli -- Fondamenti di programmazione 1, a.a. 2009/2010 Corso di Fondamenti di programmazione a.a.2009/2010 Prof.ssa Chiara Petrioli.
Corso di Fondamenti di programmazione a.a.2009/2010
Prof.ssa Chiara Petrioli -- Fondamenti di programmazione, a.a. 2009/2010 Corso di Fondamenti di programmazione a.a. 2009/2010 Prof.ssa Chiara Petrioli.
Prof.ssa Chiara Petrioli -- corso di programmazione 1, a.a. 2006/2007 Corso di Programmazione 1 a.a.2006/2007 Prof.ssa Chiara Petrioli Corso di Laurea.
Prof.ssa Chiara Petrioli -- corso di programmazione 1, a.a. 2006/2007 Corso di Programmazione 1 a.a.2007/2008 Prof.ssa Chiara Petrioli Corso di Laurea.
Prof.ssa Chiara Petrioli -- corso di programmazione 1, a.a. 2006/2007 Corso di Programmazione 1 a.a.2006/2007 Prof.ssa Chiara Petrioli Corso di Laurea.
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Puntatori Marco D. Santambrogio – Ver. aggiornata al 21 Marzo 2013.
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Stringhe e Puntatori Marco D. Santambrogio – Ver. aggiornata al 18 Marzo 2013.
Process synchronization
Laboratorio di Linguaggi lezione VI: puntatori 2/3 Marco Tarini Università dellInsubria Facoltà di Scienze Matematiche, Fisiche e Naturali di Varese Corso.
Laboratorio di Linguaggi lezione III Marco Tarini Università dellInsubria Facoltà di Scienze Matematiche, Fisiche e Naturali di Varese Corso di Laurea.
Laboratorio di Linguaggi P R I M O C O M P I T I N O Marco Tarini Università dellInsubria Facoltà di Scienze Matematiche, Fisiche e Naturali di Varese.
Laboratorio di Linguaggi lezione IV Marco Tarini Università dellInsubria Facoltà di Scienze Matematiche, Fisiche e Naturali di Varese Corso di Laurea in.
Lab. Calc. AA 2005/061 puntatori. Lab. Calc. AA 2005/062 Attributi di un oggetto nome o identificatore; tipo o classe; valore o valori; indirizzo;
Dichiarazioni e tipi predefiniti nel linguaggio C
Le funzioni.
Algoritmi e Programmazione Avanzata
Programmazione in Java Claudia Raibulet
G. Amodeo, C. Gaibisso Programmazione di Calcolatori Lezione VI Un primo programma Programmazione di Calcolatori: Un primo programma 1.
2000 Prentice Hall, Inc. All rights reserved. Capitolo 6 (Deitel) I vettori Sommario Introduzione Vettori Dichiarazione di vettori 6.4.
Programmazione di Calcolatori
Il linguaggio C Le funzioni C Language Il passaggio dei parametri
Programmazione di Calcolatori
G. Amodeo, C. Gaibisso Programmazione di Calcolatori Lezione XII Le funzioni Programmazione di Calcolatori: le funzioni 1.
Programmazione di Calcolatori
G. Amodeo, C. Gaibisso Programmazione di Calcolatori Lezione VII Il compilatore e le sue opzioni Programmazione di Calcolatori: il compilatore e le sue.
G. Amodeo, C. Gaibisso Programmazione di Calcolatori Lezione VIII Il modello di memoria Programmazione di Calcolatori: Il modello di memoria 1.
C. Gaibisso Programmazione di Calcolatori Lezione VIII Il modello di memoria Programmazione di Calcolatori: Il modello di memoria 1.
G. Amodeo, C. Gaibisso Programmazione di Calcolatori Lezione XXII I tipi di dato astratto Programmazione di Calcolatori: i tipi di dato astratto 1.
Prof.ssa Chiara Petrioli -- Fondamenti di programmazione, a.a. 2009/2010 Corso di Fondamenti di programmazione a.a. 2009/2010 Prof.ssa Chiara Petrioli.
Programmazione di Calcolatori
Puntatori e gestione dinamica della memoria
Programmazione di Calcolatori
G. Amodeo, C. Gaibisso Programmazione di Calcolatori Lezione X Ingresso/Uscita di Interi Programmazione di Calcolatori: Ingresso/Uscita 1.
Unità Didattica 3 Linguaggio C
Programmazione di Calcolatori
G. Amodeo, C. Gaibisso Programmazione di Calcolatori Lezione XVIII Le matrici Programmazione di Calcolatori: le matrici 1.
Passaggio di parametri per indirizzo
C. Gaibisso Programmazione di Calcolatori Lezione XIV I vettori Programmazione di Calcolatori: i vettori 1.
Programmazione di Calcolatori
14 marzo 2002 Avvisi:.
C. Gaibisso Programmazione di Calcolatori Lezione XVI Allocazione dinamica della memoria Programmazione di Calcolatori: allocazione dinamica della memoria.
1Piero Scotto - C14. Finalità del corso Programma Materiale Requisiti Spendibilità 2Piero Scotto - C14.
Complessità di un algoritmo
1 Esempi domande di esame. 2 Dato il seguente programma #include int main(){ int *p,j=9,i=5; p=&j; *p=i; printf("%d %d %d\n", i,j,*p); scanf("%d",p);/*
Il linguaggio C Puntatori e dintorni.
Prof.ssa Chiara Petrioli -- corso di programmazione 1, a.a. 2006/2007 Corso di Programmazione 1 a.a.2006/2007 Prof.ssa Chiara Petrioli Corso di Laurea.
Vettori, indirizzi e puntatori Finora abbiamo usato gli indirizzi nel chiamare  la funzione scanf()  le altre funzioni per riferimento Tuttavia la vera.
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Puntatori Marco D. Santambrogio – Ver. aggiornata al 11 Ottobre 2014.
Informatica B Allievi Elettrici - AA Fondamenti della programmazione in linguaggio C (II) Istruzioni e strutture di controllo.
Università di Torino – Facoltà di Scienze MFN Corso di Studi in Informatica Programmazione I - corso B a.a prof. Viviana Bono Blocco 7 – Array.
Fondamenti di Informatica 2 Ingegneria Informatica Docente: Giovanni Macchia a.a
1 Il linguaggio C Puntatori e dintorni. 2 Puntatori : idea di base In C è possibile conoscere e denotare l’indirizzo della cella di memoria in cui è memorizzata.
Operatori di incremento e decremento
Linguaggio C: Le basi Stefano Cagnoni e Monica Mordonini
1 Laboratorio di Programmazione di Sistema - C Susanna Pelagatti Ricevimento: Me ,
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Algoritmi e basi del C Marco D. Santambrogio – Ver. aggiornata al 24 Agosto 2015.
Linguaggio C: Funzioni e Puntatori Laboratorio di Programmazione Gruppo 1.
Programmazione e Laboratorio di Programmazione
Transcript della presentazione:

G. Amodeo, C. Gaibisso Programmazione di Calcolatori Lezione XI Gli operatori Programmazione di Calcolatori: gli operatori 1

G. Amodeo, C. Gaibisso Operatore & Programmazione di Calcolatori: gli operatori2 Sintassi : &nome_variabile Valore: indirizzo della variabile nome_variabile Esempio: int *x; int y; x = &y;

G. Amodeo, C. Gaibisso Operatore * Programmazione di Calcolatori: gli operatori3 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;

G. Amodeo, C. Gaibisso Operatore di assegnamento Programmazione di Calcolatori: gli operatori4 Sintassi: nome_variabile = espressione Valore: è il valore di espressione Modifiche allo stato della memoria: assegna alla variabile nome_variabile il valore di espressione espressione

G. Amodeo, C. Gaibisso Operatore di assegnamento Programmazione di Calcolatori: gli operatori5 Attenzione: il tipo di nome_variabile e quello di espressione devono coincidere

G. Amodeo, C. Gaibisso Operatore di assegnamento Programmazione di Calcolatori: gli operatori6 Esempio: // sorgente: Lezione_XI\OpAss_1.c // programma che mostra il comportamento // dell'operatore di assegnamento #include 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); };

G. Amodeo, C. Gaibisso Operatore di assegnamento Programmazione di Calcolatori: le strutture di controllo7 Compilazione: Esecuzione:

G. Amodeo, C. Gaibisso Operatore di assegnamento Programmazione di Calcolatori: gli operatori8 Sintassi: *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

G. Amodeo, C. Gaibisso Operatore di assegnamento Programmazione di Calcolatori: gli operatori9 // sorgente: Lezione_XI\OpAss_2.c // programma che mostra il comportamento // dell'operatore di assegnamento #include 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:

G. Amodeo, C. Gaibisso Operatore di assegnamento Programmazione di Calcolatori: le strutture di controllo10 Compilazione: Esecuzione:

G. Amodeo, C. Gaibisso Aritmetica dei puntatori Programmazione di Calcolatori: gli operatori11 nome_puntatore + espr_intera nome_puntatore - espr_intera valore di nome_puntatore + (valore di espr_intera * numero di locazioni allocate per il tipo della variabile riferita) valore di nome_puntatore - (valore di espr_intera * numero di locazioni allocate per il tipo della variabile riferita)

G. Amodeo, C. Gaibisso Aritmetica dei puntatori Programmazione di Calcolatori: gli operatori12 Esempio: int *B, *C; x A 3 x x x x B x C x x 2839 B = &A; C = B+2; 2847

G. Amodeo, C. Gaibisso Operatore di auto-incremento prefisso Programmazione di Calcolatori: gli operatori13 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

G. Amodeo, C. Gaibisso Operatore di auto-incremento prefisso Programmazione di Calcolatori: gli operatori14 Esempio: B=++A; x A 3 x x x x x B x x 1 4 4

G. Amodeo, C. Gaibisso Operatore di auto-incremento postfisso Programmazione di Calcolatori: gli operatori15 Sintassi: nome_variabile++ Valore: il valore di nome_variabile Modifiche allo stato della memoria: incrementa di 1 il valore di nome_variabile

G. Amodeo, C. Gaibisso Operatore di auto-incremento postfisso Programmazione di Calcolatori: gli operatori16 Esempio: B=A++; x A 3 x x x x x B x x 1 3 4

G. Amodeo, C. Gaibisso Operatore di auto-decremento prefisso Programmazione di Calcolatori: gli operatori17 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

G. Amodeo, C. Gaibisso Operatore di auto-decremento prefisso Programmazione di Calcolatori: gli operatori18 Esempio: B=--A; x A 3 x x x x x B x x 1 2 2

G. Amodeo, C. Gaibisso Operatore di auto-decremento postfisso Programmazione di Calcolatori: gli operatori19 Sintassi: nome_variabile-- Valore: il valore di nome_variabile Modifiche allo stato della memoria: decrementa di 1 il valore di nome_variabile

G. Amodeo, C. Gaibisso Operatore di auto-decremento postfisso Programmazione di Calcolatori: gli operatori20 Esempio: B=A--; x A 3 x x x x x B x x 1 3 2

G. Amodeo, C. Gaibisso Operatori di auto-incremento e decremento Esempio 21Programmazione di Calcolatori: gli operatori

G. Amodeo, C. Gaibisso Operatori di auto-incremento e decremento 22Programmazione di Calcolatori: gli operatori Compilazione: Esecuzione:

G. Amodeo, C. Gaibisso Operatori di relazione Programmazione di Calcolatori: gli operatori23 Sintassi: a)espr_1 == espr_2uguale b)espr_1 != espr_2diverso c)espr_1 > espr_2maggiore d)espr_1 >= espr_2maggiore o uguale e)espr_1 < espr_2minore f)espr_1 <= espr_2minore o uguale Valore: 1se il valore delle espressioni si trovano nella relazione specificata 0altrimenti

G. Amodeo, C. Gaibisso Operatori di relazione Esempio 24Programmazione di Calcolatori: gli operatori

G. Amodeo, C. Gaibisso Operatori di relazione 25Programmazione di Calcolatori: gli operatori Compilazione: Esecuzione:

G. Amodeo, C. Gaibisso Operatori logici Programmazione di Calcolatori: gli operatori26 Sintassi: espr 1 || espr 2 or Valore: 0se espr 1 e espr 2 valgono entrambe 0 1altrimenti Sintassi: espr 1 && espr 2 and Valore: 1 se espr 1 e espr 2 sono entrambe 0 0altrimenti

G. Amodeo, C. Gaibisso Operatori logici Programmazione di Calcolatori: gli operatori27 Sintassi: !esprnot Valore: 1se espr vale 0 0altrimenti

G. Amodeo, C. Gaibisso Operatori logici Esempio 28Programmazione di Calcolatori: gli operatori 1 1 0

G. Amodeo, C. Gaibisso Operatori logici 29Programmazione di Calcolatori: gli operatori Compilazione: Esecuzione: