Costanti / valori letterali C ++

Le costanti si riferiscono a valori fissi che il programma non può alterare e vengono chiamate literals.

Le costanti possono essere di qualsiasi tipo di dati di base e possono essere suddivise in numeri interi, numeri in virgola mobile, caratteri, stringhe e valori booleani.

Anche in questo caso, le costanti vengono trattate come variabili regolari tranne per il fatto che i loro valori non possono essere modificati dopo la loro definizione.

Letterali interi

Un valore letterale intero può essere una costante decimale, ottale o esadecimale. Un prefisso specifica la base o la radice: 0x o 0X per esadecimale, 0 per ottale e niente per decimale.

Un valore letterale intero può anche avere un suffisso che è una combinazione di U e L, rispettivamente per unsigned e long. Il suffisso può essere maiuscolo o minuscolo e può essere in qualsiasi ordine.

Ecco alcuni esempi di valori letterali interi:

212         // Legal
215u        // Legal
0xFeeL      // Legal
078         // Illegal: 8 is not an octal digit
032UU       // Illegal: cannot repeat a suffix

Di seguito sono riportati altri esempi di vari tipi di valori letterali interi:

85         // decimal
0213       // octal
0x4b       // hexadecimal
30         // int
30u        // unsigned int
30l        // long
30ul       // unsigned long

Valori letterali a virgola mobile

Un valore letterale a virgola mobile ha una parte intera, una virgola decimale, una parte frazionaria e una parte esponente. È possibile rappresentare valori letterali a virgola mobile in forma decimale o esponenziale.

Mentre si rappresenta utilizzando la forma decimale, è necessario includere il punto decimale, l'esponente o entrambi e mentre si rappresenta utilizzando la forma esponenziale, è necessario includere la parte intera, la parte frazionaria o entrambe. L'esponente con segno è introdotto da e o E.

Ecco alcuni esempi di valori letterali a virgola mobile:

3.14159       // Legal
314159E-5L    // Legal
510E          // Illegal: incomplete exponent
210f          // Illegal: no decimal or exponent
.e55          // Illegal: missing integer or fraction

Valori letterali booleani

Esistono due valori letterali booleani e fanno parte delle parole chiave C ++ standard:

  • Un valore di true che rappresenta il vero.

  • Un valore di false che rappresenta falso.

Non dovresti considerare il valore di true uguale a 1 e il valore di false uguale a 0.

Letterali carattere

I caratteri letterali sono racchiusi tra virgolette singole. Se il letterale inizia con L (solo maiuscolo), è un carattere letterale ampio (ad esempio, L'x ') e deve essere memorizzato inwchar_ttipo di variabile. Altrimenti, è un carattere letterale stretto (ad esempio, "x") e può essere memorizzato in una semplice variabile dichar genere.

Un carattere letterale può essere un carattere semplice (ad es. "X"), una sequenza di escape (ad es. "\ T") o un carattere universale (ad es. "\ U02C0").

Ci sono alcuni caratteri in C ++ quando sono preceduti da una barra rovesciata avranno un significato speciale e sono usati per rappresentare come una nuova riga (\ n) o una tabulazione (\ t). Qui hai un elenco di alcuni di questi codici di sequenza di escape:

Sequenza di fuga Senso
\\ \ personaggio
\ ' ' personaggio
\ " " personaggio
\? ? personaggio
\un Allerta o campanello
\ b Backspace
\ f Avanzamento modulo
\ n Nuova linea
\ r Ritorno in carrozza
\ t Tabulazione orizzontale
\ v Scheda verticale
\ ooo Numero ottale da una a tre cifre
\ xhh. . . Numero esadecimale di una o più cifre

Di seguito è riportato l'esempio per mostrare alcuni caratteri della sequenza di escape:

#include <iostream>
using namespace std;

int main() {
   cout << "Hello\tWorld\n\n";
   return 0;
}

Quando il codice precedente viene compilato ed eseguito, produce il seguente risultato:

Hello   World

Valori letterali stringa

I valori letterali stringa sono racchiusi tra virgolette doppie. Una stringa contiene caratteri simili ai letterali carattere: caratteri normali, sequenze di escape e caratteri universali.

È possibile suddividere una lunga riga in più righe utilizzando stringhe letterali e separarle utilizzando spazi bianchi.

Di seguito sono riportati alcuni esempi di stringhe letterali. Tutte e tre le forme sono stringhe identiche.

"hello, dear"

"hello, \

dear"

"hello, " "d" "ear"

Definizione di costanti

Ci sono due semplici modi in C ++ per definire le costanti:

  • Utilizzando #define preprocessore.

  • Utilizzando const parola chiave.

Il preprocessore #define

Di seguito è riportato il modulo per utilizzare il preprocessore #define per definire una costante -

#define identifier value

L'esempio seguente lo spiega in dettaglio:

#include <iostream>
using namespace std;

#define LENGTH 10   
#define WIDTH  5
#define NEWLINE '\n'

int main() {
   int area;  
   
   area = LENGTH * WIDTH;
   cout << area;
   cout << NEWLINE;
   return 0;
}

Quando il codice precedente viene compilato ed eseguito, produce il seguente risultato:

50

La parola chiave const

Puoi usare const prefisso per dichiarare le costanti con un tipo specifico come segue:

const type variable = value;

L'esempio seguente lo spiega in dettaglio:

#include <iostream>
using namespace std;

int main() {
   const int  LENGTH = 10;
   const int  WIDTH  = 5;
   const char NEWLINE = '\n';
   int area;  
   
   area = LENGTH * WIDTH;
   cout << area;
   cout << NEWLINE;
   return 0;
}

Quando il codice precedente viene compilato ed eseguito, produce il seguente risultato:

50

Notare che è una buona pratica di programmazione definire le costanti in MAIUSCOLO.