// ex2_1_1.cpp void main{ }Tale programma inizia e immediatamente dopo termina, senza ricevere nessun dato in ingresso e senza restituirne. Vediamo un primo significato del codice appena scritto.
Le parentesi graffe {} delimitano i blocchi, cioè delle porzioni di codice viventi una loro vita propria rispetto al resto del programma; possiamo allora modificare il nostro programma senza cambiare il suo significato in questa maniera:
//ex2_1_2.cpp void main{ { } { } }Si noti che l'intero programma principale è costituito da un blocco, il quale inizia con
void main
ed è detto corpo principale (main body). Vedremo successivamente cosa vuole esattamente significare questa espressione; per ora si tenga per buono che tutto e solo ciò che inseriamo nel corpo principale è parte del nostro programma. Il blocco principale contiene uno o più statement, che sono le frasi del nostro linguaggio, cioè le più piccole unità espressive di senso compiuto; un blocco è considerato a tutti gli effetti un solo statement, e può contenere a sua volta degli statement ovvero dei blocchi. Ogni statement che non sia costituito da un blocco, i.e. che non sia delimitato da parentesi graffe, deve terminare con un punto e virgola (;).
Il C++ non tiene conto delle spaziature orizzontali (spazi e tabulazioni
2.1) né di quelle verticali (cioè i ritorni a capo, indicati in questo testo con return e corrispondenti all'immissione del tasto INVIO); un programma del tutto equivalente a ex2_1_2.cpp
è dunque il seguente:
// ex2_1_2.cpp void main( ) { { } { } }
che non è il massimo della chiarezza espressiva.
Proprio perché il linguaggio non possiede ristrettezze riguardo allo ``stile'' del codice, sta al programmatore cercare di scrivere programmi che, oltre ad essere sintatticamente e semanticamente corretti, siano anche accettabili dal punto di vista estetico, per facilitare la correzione degli errori e favorire la possibilità di modifica e aggiornamento del codice: se scriviamo un programma corretto ma illegibile, perché non abbiamo curato affatto l'aspetto del codice, ci ritroveremmo in grosse difficoltà nel caso decidessimo di apportare delle modifiche. Gli stili di programmazione in C++ sono moltissimi 2.2; tuttavia in questo testo l'autore ne utilizza fondamentalmente uno, lasciando la possibilità allo studente di mettersi alla prova cercando un suo stile personale, che si adatti al suo gusto ed alle sue esigenze, pur mantenendosi compatto e chiaro come quello utilizzato negli esempi. Si consiglia, almeno per i primi programmi, di imitare il più possibile dagli esempi, per acquisire una certa padronanza con uno stile uniforme.
La prima riga dei tre esempi fino ad ora presentati, ed anche di tutti quelli futuri, è un commento, cioè una riga che viene ignorata completamente dal compilatore; i commenti sono fondamentali in ogni programma per aiutare il programmatore a comprendere il funzionamento del codice ed è bene farne un uso abbondante ovunque si reputi necessaria una precisazione. Nel seguito di questo testo segnaleremo inoltre quei casi in cui un commento è praticamente obbligatorio al fine di evitare il disorientamento dell'utilizzatore del codice. In C++ esistono due sintassi alternative per i commenti:
//
): in questa maniera tutto ciò che viene scritto da tale punto in poi, fino alla nuova riga, è un commento;/*
e */
, anche su righe diverse.
// ex2_1_3.cpp void main() { // commento /* commento */ // commento /* con questa sintatti i commenti possono essere estesi su piu' righe */ // mentre con quest'altra // bisogna ripetere la doppia barra } /* commento */si faccia bene attenzione a ``chiudere'' il commento, se si utilizza la sintassi stile-C, cioè la seconda presentata.
Come ultimo avvertimento di introduzione al linguaggio, si noti bene che il C++ è case sensitive, cioè esso è sensibile alla differenze tra caratteri maiuscoli e minuscoli. Una buona parte dei primi errori di programmazione in C++ deriva proprio dall'inosservanza di tale regola. Ad esempio, il seguente programma non compila:
Void main() { }perché la parola chiave void è stata scritta con la prima lettere maiuscola.