Appunti per Scuola e Università
humanisticheUmanistiche
Appunti e tesine di tutte le materie per gli studenti delle scuole medie riguardanti le materie umanistiche: dall'italiano alla storia riguardanti le materie umanistiche: dall'italiano alla storia 
sceintificheScientifiche
Appunti, analisi, compresione per le scuole medie suddivisi per materie scientifiche, per ognuna troverai appunti, dispense, esercitazioni, tesi e riassunti in download.
tecnicheTecniche
Gli appunti, le tesine e riassunti di tecnica amministrativa, ingegneria tecnico, costruzione. Tutti gli appunti di AppuntiMania.com gratis!
Appunti
informatica
CComputerDatabaseInternetJava
Linux unixReti


AppuntiMania.com » Informatica » Appunti di c » Gli operatori

Gli operatori




Visite: 1456Gradito:apreciate 5-stela [ Picolo appunti ]
Leggi anche appunti:

Problemi di mutua esclusione nel modello a memoria comune


Problemi di mutua esclusione nel modello a memoria comune VI) Scrivere una

I device driver


I device driver Sempre più difficile: dopo avere affrontato i TSR (pag. 169)

Impiego del costrutto monitor


Impiego del costrutto monitor             XII) Scrivere una applicazione
immagine di categoria

Scarica gratis Gli operatori

Gli operatori

Come tutti i linguaggi di programmazione, il C dispone di un insieme di operatori, cioè di simboli che rappresentano particolari operazioni sul valore di un dato (che viene comunemente detto operando).

Alcuni operatori C sono perfettamente equivalenti a quelli omologhi di altri linguaggi, altri sono peculiari; tuttavia, prima di esaminarne le principali caratteristiche, è bene chiarire il significato di due concetti: precedenza e associatività

Quando un operatore agisce su più operandi o in un'espressione sono definite più operazioni, tali concetti assumono notevole importanza, perché consentono di interpretare correttamente l'espressione stessa, stabilendo quali operazioni devono essere effettuate prima delle altre. Consideriamo, quale esempio, una somma:

a = b + c;

Nell'espressione sono presenti due operatori: l'uguale (operatore di assegnamento) ed il 'più' (operatore di somma). E' facile comprendere che l'espressione ha significato solo se viene dapprima calcolata la somma dei valori contenuti in b e c, e solo successivamente il risultato è assegnato ad a. Possiamo dire che la precedenza dell'operatore di assegnamento è minore di quella dell'operatore di somma.

Consideriamo ora una serie di assegnamenti:

a = b = c = d;

Il compilatore C la esegue assegnando il valore di d a c; poi il valore di c a b; infine, il valore di b ad a. Il risultato è che il valore di d è assegnato in cascata alle altre variabili; in pratica, che l'espressione è stata valutata da destra a sinistra, cioè che l'operatore di assegnamento gode di associatività da destra a sinistra.

In altre parole, la precedenza si riferisce all'ordine in cui il compilatore valuta gli operatori, mentre l'associatività concerne l'ordine in cui sono valutati operatori aventi la stessa precedenza (non è detto che l'ordine sia sempre da destra a sinistra).

Le parentesi tonde possono essere sempre utilizzate per definire parti di espressioni da valutare prima degli operatori che si trovano all'esterno delle parentesi. Inoltre, quando vi sono parentesi tonde annidate, vale la regola che la prima parentesi chiusa incontrata si accoppia con l'ultima aperta e che vengono sempre valutate per prime le operazioni più interne. Così, ad esempio, l'espressione

a = 5 * (a + b / (c - 2));

è valutata come segue: dapprima è calcolata la differenza tra c , poi viene effettuata la divisione di b per tale differenza. Il risultato è sommato ad a ed il valore ottenuto è moltiplicato per  . Il prodotto, infine, è assegnato ad a. In assenza delle parentesi il compilatore avrebbe agito in maniera differente, infatti:

a = 5 * a + b / c - 2;

è valutata sommando il prodotto di a e al quoziente di b diviso per c; al risultato è sottratto  ed il valore così ottenuto viene assegnato ad a

Vale la pena di presentare l'insieme degli operatori C, riassumendone in una tabella le regole di precedenza ed associatività; gli operatori sono elencati in ordine di precedenza decrescente.

Operatori C

Operatore

Descrizione

Associatività


chiamata di funzione

da sx a dx


indici di array



appartenenza a struttura


->

appartenenza a struttura refernziata da puntatore



NOT logico

da dx a sx


complemento a uno



meno unario (negazione)



autoincremento



autodecremento


&

indirizzo di



indirezione


(tipo)

cast (conversione di tipo)


sizeof()

dimensione di



moltiplicazione

da sx a dx


divisione



resto di divisione intera



addizione

da sx a dx


sottrazione


<<

scorrimento a sinistra di bit

da sx a dx

>>

scorrimento a destra di bit


<

minore di

da sx a dx

<=

minore o uguale a


>

maggiore di


>=

maggiore o uguale a



uguale a

da sx a dx


diverso da (NOT uguale a)


&

AND su bit

da sx a dx


XOR su bit

da sx a dx


OR su bit

da sx a dx

&&

AND logico

da sx a dx


OR logico

da sx a dx


espressione condizionale

da dx a sx

=, etc.

operatori di assegnamento (semplice e composti)

da dx a sx


virgola (separatore di espressioni)

da sx a dx

Come si vede, alcuni operatori possono assumere significati diversi. Il loro modo di agire sugli operandi è quindi talvolta desumibile senza ambiguità solo conoscendo il contesto di azione, cioè le specifiche espressioni in cui sono utilizzati. Di seguito è fornita una descrizione dettagliata degli operatori di cui ancora non si è detto in precedenza, elencati in ordine di precedenza decrescente, come da tabella, ma, al tempo stesso, raggruppati per analogia di significato. Circa l'operatore di chiamata a funzione si veda pag. 


Scarica gratis Gli operatori
Appunti su:



Scarica 100% gratis e , tesine, riassunti



Registrati ora

Password dimenticata?
  • Appunti superiori
  • In questa sezione troverai sunti esame, dispense, appunti universitari, esercitazioni e tesi, suddivisi per le principali facoltà.
  • Università
  • Appunti, dispense, esercitazioni, riassunti direttamente dalla tua aula Universitaria
  • all'Informatica
  • Introduzione all'Informatica, Information and Comunication Tecnology, componenti del computer, software, hardware ...