mercoledì 14 marzo 2012

Le Operazioni Aritmetiche in C

Entriamo nel vivo della programmazione, analizzando le operazioni che è possibile fare con il linguaggio C. Creare un programma in C ci serve per risolvere dei problemi che spesso, anzi sempre, si riconducono a problemi matematici.

E' quindi chiara la necessità di poter svolgere delle operazioni con il nostro linguaggio di programmazione, affinché possiamo creare dei programmi. Vediamo quindi le principali operazioni in C, dividendole in tre categorie: operazioni aritmetiche, operazioni logiche ed operazioni di confronto.

Fuori da queste categorie c'è l'operazione di assegnamento. Come dice stesso il nome, l'assegnamento è un'operazione che permette di assegnare un valore ad una variabile. In C, l'operatore di assegnamento è il simbolo uguale (=). Vediamo un esempio:

#include <stdio.h>
int main()
{
  int a;
  a=5;
  printf("Valore di a: %d", &a);
  return 0;
}



L'operazione evidenziata in arancione è un'operazione di assegnamento, dove assegniamo il valore 5 alla variabile a.

Operazioni Aritmetiche


Delle operazioni aritmetiche fanno parte le classiche operazioni elementari che tutti conosciamo: somma, sottrazione, moltiplicazione, divisione. Non solo, a questa categoria trovano anche posto operazioni di modulo, incremento e decremento che sono comunque operazioni semplici. Vediamole nel dettaglio:


  1. Addizione: l'operazione di addizione permette di assegnare ad una variabile la somma di due valori (o di due variabili). Quest'operazione si indica con il simbolo + fra i due valori da addizionare. Esempio:   a = b+c;
  2. Sottrazione:  l'operazione di sottrazione permette di assegnare ad una variabile la differenza di due valori (o di due variabili). Quest'operazione si indica con il simbolo - fra i due valori da sottrarre. Esempio:   a = b-c;
  3. Moltiplicazione:  l'operazione di moltiplicazione permette di assegnare ad una variabile il  prodotto di due valori (o di due variabili). Quest'operazione si indica con il simbolo * fra i due fattori. Esempio:   a = b*c;
  4. Divisione :  l'operazione di divisione permette di assegnare ad una variabile il  quoziente di due valori (o di due variabili). Quest'operazione si indica con il simbolo / fra i due fattori.
    Esempio:   a = b/c;
  5. Modulo:  l'operazione di modulo permette di assegnare ad una variabile il  resto della divisione fra due valori (o due variabili). Quest'operazione si indica con il simbolo % fra i due fattori. Esempio:   a = b%c;
  6. Incremento e decremento: il C permette delle operazioni veloci: fra queste ci sono le operazioni di incremento e di decremento. L'incremento aumenta di uno il valore della variabile, mentre il decremento diminuisce il valore di uno.
    Esempio: a++;                b--; 
C'è da fare una precisazione a riguardo della divisione. Il simbolo "/" permette di fare due tipi di divisione: la divisione intera e quella con resto. A questo punto sorge spontanea la domanda: come faccio a distinguere quale delle due operazioni voglio fare?
La risposta è banale: dipende dalla dichiarazione delle variabili. Di fatti, se vogliamo assegnare ad una variabile intera il quoziente di una divisione, verrà salvata solo la parte intera. Viceversa, si memorizzerà anche l'informazione sulla virgola. 
Esempio:

#include <stdio.h>
int main() {
   int a;
   float b;
  a=10/3;
  b=10.0/3.0;
  printf("%d\n", a);
  printf("%f\n", b);
  return 0;
}

Anzitutto per far si che il computer faccia la divisione con resto, dobbiamo dirgli che i due numeri sono reali. Dovremo, quindi, aggiungere la precisione di uno 0 (anziché scrivere 10, scriveremo 10.0 ecc). In output le due printf stamperanno valori diversi, pur avendo fatto la stessa operazione.

Output:     
3               
3.3333333

Vediamo un esempio con le altre operazioni:

#include <stdio.h>
int main()
{
   int a,b,c;
   a = 10 + 20;
   b = a - 10;
   c = b % 10;
   printf("I valori ottenuti sono: %d - %d - %d", a,b,c);
   return 0;
}

Cosa stampa in output?
I valori ottenuti sono: 30 - 20 - 0

Nel prossimo post vedremo le operazioni logiche.

Nessun commento:

Posta un commento