Programmazione in C (2)

Stefano Petrarca
Conservatorio S. Cecilia - Roma

Programmazione: operatori aritmetici/logici e costanti

Operatori aritmetici del C/C++

Simbolo Significato Esempio
+ Somma a = a + b assegna alla variabile a la somma fra i contenuti (numerici) delle variabili a e b
- Differenza a = a - b assegna ad a la differenza fra a e b
* Moltiplicazione a = a * b assegna ad a il prodotto a e b
/ Divisione a = a / b assegna ad a il quoziente fra a e b
% Operatore modulo a = a % b assegna ad a il resto della divisione fra a e b
>> Operatore shift a destra a=a>>b assegna ad a il risultato della divisione intera fra a e 2b
<< Operatore shift a sinistra a = a<<b assegna ad a il risultato del prodotto fra a e 2b

>>

 

 

 

Operatori logici bitwise

 

Simbolo Significato Esempio
& AND Se la variabile a contiene 137 (10001010 in binario) allora a = a & 15 (1111 in binario) assegnerà ad a il valore 10 (1010 in binario)
| OR Se la variabile a contiene 65 (1000001 in binario) allora a = a | 32 (100000 in binario) assegnerà ad a il valore 97 (1100001 in binario)
^ XOR Se la variabile a contiene 65 (1000001 in binario) allora a = a ^ 33 (100001 in binario) assegnerà ad a il valore 96 (1100000 in binario)
~ NOT Se la variabile a contiene 65 (01000001 in binario) allora a = ~ a assegnerà ad a il valore 190 (10111110 in binario)

>>

 

 

 

 

 

Operatori relazionali

Simbolo Significato Esempio
== Uguale a if(a==b) x=0; la variabile x viene azzerata se a contiene lo stesso valore di b
> Maggiore di if(a>b) x=0; x viene azzerata se a contiene un valore maggiore di b
< Minore di if(a<b) x=0; x viene azzerata se a contiene un valore minore di b
>= Maggiore o uguale if(a>=b) x=0; x viene azzerata se a contiene un valore non minore di b
<= Minore o uguale if(a<=b) x=0; x viene azzerata se a contiene un valore non maggiore di b
! Not if(!a) x=0; x viene azzerata se a contiene un valore nullo (cioè falso)
!= Diverso if(a!=b) x=0; la variabile x viene azzerata se il contenuto di a è diverso da b
&& And if((a!=b)&&(a!=c)) x=0; la variabile x viene azzerata se il contenuto di a è diverso sia da b che da c
|| Or if((a==b)||(a==c)) x=0; la variabile x viene azzerata se il contenuto di a è uguale a b oppure se è uguale a c

>>

 

 

 

 

 

Programmazione: sottoprogrammi e funzioni

 

Un sottoprogramma è un gruppo di istruzioni eseguibile da un programma chiamante

Una funzione è un sottoprogramma che restituisce un valore al chiamante

In C / C++ esistono solo funzioni

Un esempio di funzione (anche se particolare) è main( ) e il suo programma chiamante è il sistema operativo

Un altro esempio di funzione è printf( ); tutte le funzioni come printf sono dette funzioni di libreria e sono fornite dal produttore del compilatore

Il chiamante può passare dei valori alla funzione; questi valori, detti argomenti, sono elencati nella parentesi che segue il nome della funzione; ad es., printf("%d",a);

>>

 

 

 

 

 

>>

 

 

Un esempio di funzione creata dal programmatore e suo uso:

Definizione della funzione Chiamata della funzione

 

 

 


Esercizi

- Creare una funzione C per l'elevamento a potenza dati base ed esponente

- Creare un programma chiamante per la funzione sviluppata precedentemente

- Creare una funzione per il calcolo del fattoriale di un numero e il suo programma chiamante

- Algoritmo e programma per la trasformazione di un numero decimale in binario

- Algoritmo e funzione per realizzare il bit-reverse di un numero (binario)

 


Pagina iniziale ________________ Matematica ________________ Programma ________________ Bibliografia