Sintassi di base
Le regole di base del C++
Sezione intitolata “Le regole di base del C++”Ogni linguaggio ha le proprie regole. In C++ il punto e virgola chiude la maggior parte delle istruzioni; se manca, il compilatore segnala un errore.
Queste regole sono la base per leggere e scrivere il resto del codice.
Chiudere le istruzioni con il punto e virgola
Sezione intitolata “Chiudere le istruzioni con il punto e virgola”Molte istruzioni in C++ terminano con un punto e virgola (;). Segnala al compilatore dove finisce un’istruzione. Le direttive come #include e le intestazioni dei blocchi non seguono questa regola.
int x = 10; // istruzione 1, termina con ;cout << "Ciao!"; // istruzione 2, termina con ;x = x + 1; // istruzione 3, termina con ;Dimenticare il punto e virgola è l’errore più comune per chi inizia. Il compilatore te lo segnala subito.
Le parentesi graffe: i blocchi
Sezione intitolata “Le parentesi graffe: i blocchi”Le parentesi graffe { e } delimitano un blocco di codice, cioè un gruppo di istruzioni che stanno insieme.
Un blocco raggruppa istruzioni che appartengono alla stessa funzione, condizione o ripetizione.
int main() { // tutto qui dentro è il "blocco" del main int x = 5; cout << x;}Ogni { apre un blocco, ogni } lo chiude. Devono sempre essere in coppia.
Maiuscole e minuscole: fanno differenza
Sezione intitolata “Maiuscole e minuscole: fanno differenza”Il C++ distingue tra lettere maiuscole e minuscole. cout, Cout e COUT sono tre cose completamente diverse (solo cout è quello giusto).
int eta = 16;int Eta = 20; // questa è un'altra variabile, diversa dalla prima!
cout << eta; // stampa 16cout << Eta; // stampa 20Per evitare confusione, usa una convenzione coerente per maiuscole e minuscole.
L’indentazione: non obbligatoria, ma fondamentale
Sezione intitolata “L’indentazione: non obbligatoria, ma fondamentale”In C++, gli spazi a inizio riga (l’indentazione) non cambiano il comportamento del programma. Questo funziona:
int main(){int x=5;cout<<x;return 0;}Ma è illeggibile. Scrivi sempre il codice così:
int main() { int x = 5; if (x > 0) { cout << "positivo"; } return 0;}In questa guida usiamo 4 spazi per ogni livello di indentazione. Evita di alternare spazi e tab nello stesso file: una formattazione coerente rende il codice più facile da leggere.
I nomi delle variabili (identificatori)
Sezione intitolata “I nomi delle variabili (identificatori)”Un identificatore è il nome che dai a una variabile, a una funzione o a un altro elemento del programma. È l’etichetta con cui potrai ritrovarlo nel codice.
Regole per i nomi:
- Deve iniziare con una lettera (
a-z,A-Z) o un underscore_ - Può contenere lettere, numeri e underscore
- Non può contenere spazi o simboli speciali (
@,!,-, ecc.) - Non può essere una parola riservata del linguaggio (come
int,if,return)
// Nomi validiint eta;double altezza_media;string nomeUtente;int x1;
// Nomi non validiint 2variabile; // ERRORE: inizia con un numeroint nome utente; // ERRORE: contiene uno spazioint int; // ERRORE: è una parola riservataLe parole riservate
Sezione intitolata “Le parole riservate”Le parole riservate sono parole che hanno già un significato speciale in C++. Non puoi usarle come nomi di variabili:
int, float, double, char, bool, voidif, else, while, for, do, switch, case, break, continuereturn, class, struct, public, private, new, deleteLe convenzioni di stile
Sezione intitolata “Le convenzioni di stile”In C++ esistono tre modi principali per scrivere i nomi:
camelCase: la prima parola è minuscola, le successive iniziano con la maiuscola. Usato per le variabili:
int numeroStudenti;string nomeUtente;snake_case: tutto minuscolo, parole separate da underscore. Anch’esso usato per le variabili:
int numero_studenti;string nome_utente;PascalCase: ogni parola inizia con la maiuscola. Usato per i nomi delle classi:
class NomeClasse;struct DatiStudente;Scegli uno stile e usalo in modo coerente in tutto il progetto.
I tipi di istruzione
Sezione intitolata “I tipi di istruzione”In C++ ci sono diversi tipi di istruzioni. Ecco le principali:
// Dichiarazione di variabile: riserva uno spazio in memoriaint x;
// Assegnazione: mette un valore nella variabilex = 10;
// Dichiarazione con inizializzazione: le due cose insiemeint y = 20;
// Chiamata a funzione: esegue un'azionecout << "Ciao";
// Istruzione condizionale: prende una decisioneif (x > 0) { cout << "positivo";}
// Istruzione di ritorno: termina la funzionereturn 0;Esempio completo
Sezione intitolata “Esempio completo”#include <iostream>using namespace std;
int main() { // Dichiariamo e inizializziamo tre variabili int numero = 42; double pi = 3.14159; string messaggio = "Il numero magico è: ";
// Stampiamo il messaggio e il valore di numero cout << messaggio << numero << endl;
// Stampiamo il valore di pi cout << "Pi greco: " << pi << endl;
// Calcoliamo il doppio di numero e lo stampiamo int doppio = numero * 2; cout << "Il doppio è: " << doppio << endl;
return 0;}Output:
Il numero magico è: 42Pi greco: 3.14159Il doppio è: 84