www.calshop.biz

Ultimi Inserimenti

WOL: accendere un PC da un'altro con il Wake-On-Lan
Chi ha una rete di PC, casalinga o aziendale che sia, ha sicuramente provato più di una volta la seccatura di dover alzarsi e andare in un'altra stanza ad accendere un PC per prelevare qualche file via rete. Quando questa esigenza/seccatura diventa frequente, si pagherebbe pur di aver un sistema per accendere i PC "a comando", standosene seduti.
Messaggi istantanei in LAN Windows con NET SEND
Ormai i programmi per la messaggistica istantanea tra PC in rete o in Internet sono moltissimi, basti citare il famosissimo ICQ, e hanno molte funzionalità, ora anche conferenze audio e video.
 Smiles
 Traduzioni
 Informazione
 

Hot Link

Balloon Hunter
Arco, frecce e palloncini
L'uomo Cannone
Calcola la forza e l'angolo di tiro e il gioco è fatto.
Gioca con i puzzle
Sobics è un delizioso puzzle game online, completamente
realizzato in Flash.
Game Maker 6
Creiamo i nostri videogiochi
Palline da girare
GateGears
Cheats & Tips
a cura di Fabrizio Miceli
Giochi in Flash Gratis
Tutta l'emozione del Gioco Online
Animazioni Gratis
Stupende animazioni gratis!

 

 

Manuali Gratis: 2005 - 2006  -

Manuali e GuideTrucchi per PCDisegni da colorare e da stampareGif AnimateFlash Games
Manuali e GuideTrucchi per PCDisegniGif AnimateFlash Games
Google
 
Web www.calshop.biz
Manuali e Guide Gratis on line @ calshop.biz ... the only one!

Corso C++: elementi lessicali


1 | 2 | 3 | 4

Ogni programma scritto in un qualsiasi linguaggio di programmazione prima di essere eseguito viene sottoposto ad un processo di compilazione o interpretazione (a seconda che si usi un compilatore o un interprete). Lo scopo di questo processo e` quello di tradurre il programma originale (codice sorgente) in uno semanticamente equivalente, ma eseguibile su una certa macchina. Il processo di compilazione e` suddiviso in piu` fasi, ciascuna delle quali volta all'acquisizione di opportune informazioni necessarie alla fase successiva.
La prima di queste fasi e` nota come analisi lessicale ed ha il compito di riconoscere gli elementi costitutivi del linguaggio sorgente, individuandone anche la categoria lessicale. Ogni linguaggio prevede un certo numero di categorie lessicali e in C++ possiamo distinguere in particolare le seguenti categorie:

  • Commenti;
  • Identificatori;
  • Parole riservate;
  • Costanti letterali;
  • Segni di punteggiatura e operatori;

Analiziamole piu` in dettaglio.



Commenti

 

I commenti, come in qualsiasi altro linguaggio, hanno valore soltanto per il programmatore e vengono ignorati dal compilatore. E` possibile inserirli nel proprio codice in due modi diversi:

  1. secondo lo stile C ovvero racchiudendoli tra i simboli /* e */
  2. facendoli precedere dal simbolo //

Nel primo caso e` considerato commento tutto quello che e` compreso tra /* e */, il commento quindi si puo` estendere anche su piu` righe o trovarsi in mezzo al codice:

 

 


void Func() {
   ...
   int a = 5;         /* questo e` un commento
                      diviso su piu` righe */
   a = 4            /* commento */   + 5;
   ...
  }


 

Nel secondo caso, proprio del C++, e` invece considerato commento tutto cio` che segue // fino alla fine della linea, ne consegue che non e` possibile inserirlo in mezzo al codice o dividerlo su piu` righe (a meno che anche l'altra riga non cominci con //):

 


void Func() {
  ...
  int a = 5;  // questo e` un commento valido
  a = 4       // Errore! il "+ 5;" e` commento  + 5;
              e non e` possibile dividerlo
              su piu` righe
  ...
}

Benche` esistano due distinti metodi per commentare il codice, non e` possibile avere commenti annidati, il primo simbolo tra // e /* determina il tipo di commento che l'analizzatore lessicale si aspetta. Bisogna anche ricordare di separare sempre i caratteri di inizio commento dall'operatore di divisione (simbolo /):
 


  a + c        //* commento */ su
                 una sola riga


Tutto cio` che segue "a + c" viene interpretato come un commento iniziato da //, e` necessario inserire uno spazio tra / e /*.



Identificatori

Gli identificatori sono simboli definiti dal programmatore per riferirsi a cinque diverse categorie di oggetti:

  • Variabili;
  • Costanti simboliche;
  • Etichette;
  • Tipi definiti dal programmatore;
  • Funzioni;

Le variabili sono contenitori di valori di un qualche tipo; ogni variabile puo` contenere un singolo valore che puo` cambiare nel tempo, il tipo di questo valore viene comunque stabilito una volta per tutte e non puo` cambiare.
Le costanti simboliche servono ad identificare valori che non cambiano nel tempo, non possono essere considerate dei contenitori, ma solo un nome per un valore.
Una etichetta e` un nome il cui compito e` quello di identificare una istruzione del programma e sono utilizzate dall'istruzione di salto incondizionato goto.
Un tipo invece, come vedremo meglio in seguito, identifica un insieme di valori e di operazioni definite su questi valori; ogni linguaggio (o quasi) fornisce un certo numero di tipi primitivi (cui e` associato un identificatore predefinito) e dei meccanismi per permettere la costruzione di nuovi tipi (a cui il programmatore deve poter associare un nome) a partire da questi.
Infine, funzione e` il termine che il C++ utilizza per indicare i sottoprogrammi.
In effetti potremmo considerare una sesta categoria di identificatori, gli identificatori di macro; una macro e` sostanzialmente un alias per un frammento di codice. Le macro comunque, come vedremo in seguito, non sono trattate dal compilatore ma da un precompilatore che si occupa di eseguire alcune elaborazioni sul codice sorgente prima che questo venga effettivamente sottoposto a compilazione.
Parleremo comunque con maggior dettaglio di variabili, costanti, etichette, tipi, funzioni e macro in seguito.
Un identificatore deve iniziare con una lettera o con carattere di underscore (_) che possono essere seguiti da un numero qualsiasi di lettere, cifre o underscore; viene fatta distinzione tra lettere maiuscole e lettere minuscole. Tutti gli identificatori presenti in un programma devono essere diversi tra loro, indipendentemente dalla categoria cui appartengono.
Benche` il linguaggio non preveda un limite alla lunghezza massima di un identificatore, e` praticamente impossibile non imporre un limite al numero di caratteri considerati significativi, per cui ogni compilatore distingue gli identificatori in base a un certo numero di caratteri iniziali tralasciando i restanti; il numero di caratteri considerati significativi varia comunque da sistema a sistema.



Parole riservate

Ogni linguaggio si riserva delle parole chiave (keywords) il cui significato e` prestabilito e che non possono essere utilizzate dal programmatore come identificatori. Il C++ non fa eccezione:

 

asm auto bool break
case catch char class
const continue const_cast default
delete do double dynamic_cast
else enum explicit extern
false float for friend
goto if inline int
long mutable namespace new
operator private protected public
register reinterpret_cast return short
signed sizeof static static_cast
struct switch template this
trow true try typedef
typeid typename union unsigned
using virtual void volatile
wchar_t while
 

 


 

Sono inoltre considerate parole chiave tutte quelle che iniziano con un doppio underscore __; esse sono riservate per le implementazioni del linguaggio e per le librerie standard, e il loro uso da parte del programmatore dovrebbe essere evitato in quanto non sono portabili.



Costanti letterali

 

All'interno delle espressioni e` possibile inserire direttamente dei valori, questi valori sono detti costanti letterali. La generica costante letterale puo` essere un carattere racchiuso tra apice singolo, una stringa racchiusa tra doppi apici, un intero o un numero in virgola mobile.

 


    'a'          // Costante di tipo carattere
    "a"          // Stringa di un carattere
    "abc"        // Ancora una stringa


Un intero puo` essere:

  • Una sequenza di cifre decimali, eventualmente con segno;
  • Uno 0 (zero) seguito da un intero in ottale (base 8);
  • 0x o 0X seguito da un intero in esadecimale (base 16);

Nella rappresentazione in esadecimale, oltre alle cifre decimali, e` consentito l'uso delle lettere da "A" a "F" e da "a" a "f".
Si noti che un segno puo` essere espresso solo in base 10, negli altri casi esso e` sempre +:

 


    +45          // Costante intera in base 10,
    055          // in base 8
    0x2D         // ed in base 16


 

La base in cui viene scritta la costante determina il modo in cui essa viene memorizzata. Il compilatore scegliera` il tipo (Vedi tipi di dato) da utilizzare sulla base delle seguenti regole:

  • Base 10:
    il piu` piccolo atto a contenerla tra int, long int e unsigned long int
  • Base 8 o 16:
    il piu` piccolo atto a contenerla tra int, unsigned int, long int e unsigned long int

Si puo` forzare il tipo da utilizzare aggiungendo alla costante un suffisso costituito da u o U, e/o l o L: la lettera U seleziona i tipi unsigned e la L i tipi long; se solo una tra le due lettere viene specificata, viene scelto il piu` piccolo di quelli atti a contenere il valore e selezionati dal programmatore:

 


    20           // intero in base 10
    024          // 20 in base 8
    0x14         // 20 in base 16
    0x20ul       // forza unsigned long
    0x20l        // forza long
    0x20u        // forza unsigned


Un valore in virgola mobile e` costituito da:

  • Intero decimale, opzionalmente con segno;
  • Punto decimale
  • Frazione decimale;
  • e o E e un intero decimale con segno;

L'uso della lettera E indica il ricorso alla notazione scientifica.
E` possibile omettere uno tra l'intero decimale e la frazione decimale, ma non entrambi. E` possibile omettere uno tra il punto decimale e la lettera E (o e) e l'intero decimale con segno, ma non entrambi.
Il tipo scelto per rappresentare una costante in virgola mobile e` double, se non diversamente specificato utilizzando i suffissi F o f per float, o L o l per long double. Esempi:

 


    .0          // 0 in virgola mobile
    110E+4      // 110 * 10000 (10 elevato a 4)
    .14e-2      // 0.0014
    -3.5e+3     // -3500.0
    3.5f        // forza float
    3.4L        // forza long double





 

Segni di punteggiatura e operatori

Alcuni simboli sono utilizzati dal C++ per separare i vari elementi sintattici o lessicali di un programma o come operatori per costruire e manipolare espressioni:

 


   [ ]  ( )  { }  +  -  *  %  !  ^  &   
   =  ~  |  \  ;  '  :  "  <  >  ?  ,  .   


Anche le seguenti combinazioni di simboli sono operatori:

 


   ++  --  ->  .*  ->*  <<  >>  <=  >=  ==  !=  &&   
   ||  +=  -=  *=  <<=  /=  %=  &=  ^=  |=  ::  >>= 

Pagina :
1 | 2 | 3 | 4

Restyling e Aggiornamenti della sezione manuali e guide a cura di: Fabrizio Miceli

Trucchi PC e Guide
Tips su sistemi operativi, registro di configurazione, sicurezza, internet, navigazione, word ed excel.
 
Guide e sulla configurazione, installazione ed utilizzo di, periferiche, sistemi operativi ecc...

   

Ultime novità! Ultime novità nel portale del tutto gratis e on line
@ calshop.biz ... the only one!


News

Il Forum di calshop

Link in evidenza

"Google Talk", la nuova chat che comunica senza tastiera
La nuova sfida di Google si chiama "Google Talk" un nuovissimo sistema che consentirà agli utenti di chattare con una serie di strumenti che vanno al di là della semplice tastiera. Particolarmente sviluppato sarà il supporto della voce per parlare con gli altri utenti collegati, grazie a  microfono e cuffie. Sia Microsoft che Yahoo offrono il supporto per la voce.

News in pillole:  • Maradona e Pelè • Il pericolo viene dalla posta • Chi sale e chi scende • Immagini in ordine • I tesori nascosti di Ebay • I più cliccati di agosto!  [[[ Virus Zotob: scatta l'allarme rosso ]]]

Installa Yahoo! Messenger with Voice:

Giochi Gratis | Software Gratis  |

Ultimi Manuali on line
Le chicche di calshop! Wake on lan
Le chicche di calshop! NET SEND
Le chicche di calshop! Mandaci il tuo manuale

In Evidenza

 

 
.

Copyright  © 1998-2005 Calshop.biz. Ideazione, Progettazione e Realizzazione a cura di Luigi Palamara e Bruna Italia Massara Contatti

Il Network: • NewsLab • Reggio Calabria • Area Grecanica • Roccaforte del Greco • Italia Umts • Tutto Gratis • Dune Buggy



Le chicche di calshop! Tutta la posta di Gmail sul PC. Il servizio webmail di Google può essere gestito anche con Outlook Express. Ecco le giuste Impostazioni.