----------------------------

                           The C programming's book

                                 Lessons #03

                          ----------------------------


	                          LE VARIABILI
	 			  ------------

	Per chi non lo sapesse nei linguaggi di programmazione le variabili
	sono dei veri e propri contenitori in cui è possibile inserire dei
	dati appunto variabili.
	Le operazioni da fare con le variabili sono essenzialmente due:una
	è la dichiarazione e l'altra è l'assegnazione. Ma vediamo in prati-
	ca la sintassi da utilizzare per effettuare queste due operazioni:
	type nome_variabile;  /*SINTASSI DELLA FASE DICHIARATIVA*/
	Dove type è il tipo della  variabile che andiamo  ad analizzare e
	nome_variabile è il nome della variabile (che può essere un  nome
	qualsiasi basta che non abbia spazi). I tipi di variabile si dis-
	tinguono in base al tipo di dato a loro riservato: esistono alcune
	variabili che possono contenere caratteri altre numeri ecc...
	Qui sotto è riportata la tabella contenente i tipi di variabili:
	
	Ecco qualche esempio sulla dichiarazione di variabili:

	   int ciao;        
	   float puzzi;          
	   char ciao mamma;        /*Errore: gli spazi non sono ammessi*/  
	   char ciao_mamma;      
	   unsigned int var1,var2; /*Dichiarazione di due variabili */
	   long base,area,altezza; /*Dichiarazione di tre variabili */

	Dove type è il tipo della  variabile che andiamo  ad analizzare e
	Ora passiamo alla fase di assegnazione. La fase di assegnazione è
	realizzabile in modi diversi. Il primo modo consiste nel dare dei
	valori nel momento stesso  della dichiarazione come  nell'esempio
	che segue:

	   int variabile1 = 10;

	Come vedete si inizializza una variabile con il metodo visto sopra
	e dopo si scrive "=" seguito dal valore. Ed ecco così che in  una
	variabile di tipo intero viene inserito il valore 10. L'altro modo
	è quello di dare un valore dopo così:

	   char variabile2;  /* Dichiaro la variabile */
	   variabile2 = 'A'  /* Do il valore alla variabile */

	Ecco altri esempi:

	   long var = 100;      
	   unsigned var2 = 0;  
	   var3 = 5;           
	   var4 = var3 + var2; 

	Ma tutto ciò deve anche avere una sua applicazione se no non serve  
	a un bel niente! L'applicazione più semplice realizzabile tramite
	variabili è la seguente: un programma che stampi a schermo il valo-
	re di una variabile precedentemente dichiarata. 
	Il valore di una variabile si stamp sul monitor grazie all'istru-
	zione printf (ve la ricordate?). Ecco qui il sorgente del programma
	commentato:

	  
	   #include   

	   int main() 
	   {
        	/*inizializziamo una variabile di tipo unsigned integer*/                  
		unsigned int a;
        	/*fissiamo un valore alla variabile (5)*/
		a = 5;
        	/*stampiamo a schermo il valore della variabile
		printf("\nIl contenuto della variabile a è %d",a);
	   } 
	Ma tutto ciò deve anche avere una sua applicazione se no non serve
	Dentro il printf abbiamo utilizzato i segni %d.Vuol dire  dammi il 
	valore della variabile subito dopo le virgolette  e la virgola (in 
	questo caso numero). Potevamo anche dire direttamente di darci  il 
	numero 9, senza tenere conto della variabile. Il segno  %  avverte  
	che dopo di lui ci sarà il carattere che definisce il formato della
	variabile, d (decimale) definisce il formato, in particolare indica 
	che si tratta di un intero del quale si desidera la visualizzazione 
	nel sistema decimale.
	Ma tutto ciò deve anche avere una sua applicazione se no non serve  	
	perchè il nostro programma possa attrarre dobbiamo necessariamente
	offrire un minimo di  interazione  con l'utente o tutto  risulterà 
	piatto e poco accattivante. Per dare quel pizzico di inetrattività
	è possibile utilizzare scanf. Scanf permette di chiedere all'utente
	di inserire il valore di una variabile. La sintassi è:

	   scanf("%d",&nomevariabile);

	Se hai dubbi sul "%d" rileggi sopra. Mi raccomando va sempre antece-
	duto il simbolo & al nome della variabile. E' inoltre buona norma
	antecedere un printf allo scanf:

	   printf("\nInserisci il valore della variabile:\n");
	   scanf("%d",nomevariabile);

        Questo perchè l'utente sappia costa sta inserendo.
	Ma vediamo il solito esempio di applicazione per chiarirci le idee:

	/*Programma per il calcolo dell'area di un rettangolo*/

	#include 
	int main() {      
        
		int base,area,altezza;
 
		printf("Inserisci il valore della base\n");      
		scanf("%d",&base);
       	 	printf("\nInserisci il valore dell'altezza\n");
     		scanf("%d",&altezza);
     	   	area = base * altezza;
        	printf("\nL'area del rettangolo è %d\n",area);      
	}  

	Non mi sembra che ci sia bisogno di spiegare niente. Con  questo
	semplice listato si conclude questa terza lezione sul C. 
	AGGIORNAMENTO!   Ho tralasciato  una  cosa molto  importante: la 
	tabella dei tipi di variabile in C! Se no come fate? :D
	Eccovela:

	Questa è la tabella dei tipi:
	TIPO	             	VALORI AMMESSI	               	
	character	      	da -128 a 127		
	unsigned character	da 0 a 255		
	short integer	      	da -32768 a 32767		
	unsigned short integer  da 0 a 65535		
	integer	         	da -32768 a 32767		
	unsigned integer	da 0 a 65535		
	long integer		da -2147483648 a 2147483647		
	unsigned long integer	da 0 a 4294967295		
	floating point		da 3.4*10-38 a 3.4*1038	7 cifre	
	double precision	da 1.7*10-308 a 1.7*10308		
	long double precision	da 3.4*10-4932 a 1.1*104932

	Questa è la tabella dei dichiaratori per ogni tipo:
	TIPO	              DICHIARATORI VALIDI	
	character	      char	
	unsigned character    unsigned char	
	short integer	      short int, short	
	unsigned short        integer unsigned short int, unsigned short	
	integer	int	
	unsigned integer      unsigned int, unsigned	
	long integer	      long int, long	
	unsigned long integer unsigned long int, unsigned long	
	floating point	      float	
	double precision      floating point double	
	long double precision floating point long double	
	void type	      void	

	Ora è veramente tutto.
		



                                Written by Shady


                             robcasanovi@virgilio.it





    Source: geocities.com/it/songbook2003

               ( geocities.com/it)