CodeGym /Corsi /C++ SELF /Introduzione alle variabili in C++

Introduzione alle variabili in C++

C++ SELF
Livello 1, Lezione 3
Disponibile

1. Variabili e scatole

Le variabili sono quegli oggetti speciali usati per lo stoccaggio dei dati. Qualsiasi tipo di dato. Quasi tutti i dati in C++ finiscono in una variabile in un modo o nell'altro. Il concetto di variabile assomiglia più di tutto a una scatola: una normale scatola.

Immaginiamo che abbiate scritto il numero 13 su un foglio e messo quel foglio nella scatola. Ora possiamo dire che «la scatola contiene il valore 13».

Ogni variabile in C++ ha tre proprietà importanti: tipo, nome e valore.

Il nome serve per distinguere una variabile dall'altra. È come l'etichetta sulla scatola.

Il tipo della variabile determina il tipo di valori/dati che possono essere memorizzati al suo interno. In una scatola per torte conserva una torta, in una scatola per scarpe mette le scarpe, ecc.

Il valore è un oggetto, dato o informazione che è memorizzata nella variabile.

Ogni oggetto nel linguaggio C++ ha il suo tipo. Per esempio, possono esistere questi tipi di dati: numero intero, numero con la virgola, testo, tipo Cat, tipo House, ecc.

Ogni variabile (scatola) ha anche il suo tipo. Una variabile può contenere solo valori dello stesso tipo a cui appartiene. Diverse scatole servono per conservare cose diverse: scatola di cioccolatini, scatola per una dozzina di uova, e così via. Tutto come nella vita reale.

2. Creare una variabile

In C++ per creare una variabile si usa una dichiarazione del tipo:

tipo nome;
Dichiarazione di una variabile

Dove tipo è il tipo della variabile (corrisponde al tipo dei valori che la variabile può contenere). E nome è il nome della variabile.

Esempi:

Creazione della variabile: prima il tipo, poi il nome. Descrizione
int a;
Creiamo la variabile chiamata a di tipo int.
std::string s;
Creiamo la variabile chiamata s di tipo std::string.
double c;
Creiamo la variabile chiamata c di tipo double.

I due tipi più usati sono gli interi (indicati con la parola int) e il testo (in C++ si usa usualmente std::string). Il tipo double è anche molto comune — rappresenta i numeri con la virgola (reali).

3. Assegnazione

Come detto prima, una variabile ha nome, tipo e valore. Abbiamo già visto nome e tipo; e il valore? Come si mette un valore nella variabile?

Per mettere un valore in una variabile esiste un'operazione speciale — l'operazione di assegnazione. Essa copia il valore da una fonte in una variabile di destinazione. Non sposta, ma appunto copia. Come fare una copia di un file sul disco. L'assegnazione si presenta così:

nome = valore;
Operazione di assegnazione

Dove nome è il nome della variabile e valore è il valore che sarà assegnato alla variabile. Come valore può esserci un valore concreto, il nome di un'altra variabile o anche un'espressione che usa variabili.

Esempi:

int main() {
    int i;         // Viene creata la variabile i
    int a, b;      // Vengono create le variabili a, b
    int x;         // Viene creata la variabile x

    i = 3;         // Alla variabile i viene assegnato il valore 3.

    a = 1;         // Alla variabile a viene assegnato il valore 1.
    b = a + 1;     // Alla variabile b viene assegnato il valore 2.

    x = 3;         // Alla variabile x viene assegnato il valore 3.
    x = x + 1;     // In questa riga il valore di x viene incrementato di 1, x ora vale 4.
}

Operatore uguale

Per l'operazione di assegnazione si usa il simbolo uguale =. Questo non è un confronto, non è uguaglianza. È precisamente la istruzione che copia il valore a destra del segno uguale nella variabile a sinistra. Per il confronto in C++ si usa il doppio uguale ==.

4. Nome della variabile: cosa è permesso e cosa no

Ecco alcuni fatti utili da sapere quando si creano variabili:

  • Il nome della variabile può essere qualsiasi (per esempio, temperature, score, userAge).
  • Ma ci sono limiti — non può iniziare con una cifra, e non può coincidere con parole riservate di C++ (ad esempio, non si può chiamare una variabile int o if).
  • Non può contenere caratteri speciali, eccetto _.
  • Nei nomi fa differenza la differenza tra minuscole e maiuscole (Age e age sono variabili diverse).
  • Di solito si usa lo stile camelCase: la prima lettera minuscola, poi ogni parola con la maiuscola (userAge, maxScore).

Esempi di nomi consentiti:

#include <string>

int main() {
    int x123 = 1;
    std::string koteyka;
    double PI = 3.14;
    std::string MAIN_PATH = "c:/";
}

Esempi di nomi non consentiti:

int 1first = 1;              // il nome non può iniziare con una cifra
int number# = 25;            // il simbolo # non può essere usato nel nome
std::string name" = "John";  // virgolette non sono consentite nel nome
double pi+e = 5.123';        // il nome non può contenere +

Il resto lo scoprirete nelle lezioni future. E ora una domanda di logica: in quanti passaggi si può catturare un gatto in una scatola?

5. Gatti e scatole

img

Come catturare un gatto:

  1. Prendete una scatola vuota.
  2. Aspettate.

Schermata 🙂

Beh, forse si possono infilare nella scatola quanti gatti si vuole, ma in una variabile si può mettere solo un valore. Da questo dipenderanno gli esercizi alla fine della lezione.

6. Breve storia del C++

Per capire alcune caratteristiche di C++ è utile tornare un po' indietro — al linguaggio C.

Il linguaggio C è nato all'inizio degli anni '70 ai Bell Labs. Fu creato da Dennis Ritchie. Era un linguaggio compatto, veloce e molto pratico, che permetteva di scrivere programmi di sistema e perfino sistemi operativi. Offriva al programmatore molto controllo sulla memoria e sul funzionamento del programma. Per questo motivo C divenne la base per moltissime tecnologie.

All'inizio degli anni '80 Bjarne Stroustrup decise di estendere C e di aggiungervi nuove funzionalità, in particolare il supporto alle classi. Inizialmente il linguaggio si chiamava «C with Classes», e più tardi prese il nome C++. L'idea era semplice: mantenere l'efficienza di C, ma rendere il linguaggio più comodo per scrivere programmi grandi e complessi.

Da allora C++ si è evoluto per quasi 50 anni. Viene aggiornato regolarmente e ogni nuova versione dello standard aggiunge funzionalità. Oggi esistono gli standard C++11, C++14, C++17, C++20, C++23 — e il lavoro sulle versioni successive è già in corso. Di conseguenza il linguaggio è diventato molto potente e poliedrico.

Tuttavia in C++ si possono spesso trovare più modi per ottenere lo stesso risultato. Per esempio, anche l'inizializzazione di una variabile può avvenire in modi diversi:

int a = 5;
int b(5);
int c{5};

Tutte e tre le varianti sono corrette — sono semplicemente apparse in periodi diversi dell'evoluzione del linguaggio. Storia simile vale anche per le stringhe: esistono diverse forme di creazione, diversi modi di concatenare, formattare e convertire i valori. È il risultato di una lunga evoluzione del linguaggio.

È importante capire: C++ non è stato riscritto ogni 10 anni. È stato esteso con cura, mantenendo la compatibilità con il codice precedente. Per questo motivo ha accumulato così tante possibilità.

Ma questo non significa che dobbiamo studiare tutto subito. Useremo gli standard più moderni e attuali — C++20 e C++23. Scriveremo codice nello stile moderno, sceglieremo costrutti più sicuri e chiari e affronteremo il linguaggio passo dopo passo senza sovraccaricarci con dettagli storici.

1
Compito
C++ SELF, livello 1, lezione 3
Bloccato
Saluto rapido
Saluto rapido
1
Compito
C++ SELF, livello 1, lezione 3
Bloccato
Tre righe
Tre righe
1
Compito
C++ SELF, livello 1, lezione 3
Bloccato
Menu della console
Menu della console
1
Compito
C++ SELF, livello 1, lezione 3
Bloccato
Biglietto da visita ASCII
Biglietto da visita ASCII
Commenti
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION