Letterali in C

Letterali in C

In C, i letterali sono i valori costanti assegnati alle variabili. I valori letterali rappresentano valori fissi che non possono essere modificati. I valori letterali contengono memoria ma non hanno riferimenti come variabili. In genere, entrambi i termini, costanti e valori letterali vengono utilizzati in modo intercambiabile.
Ad esempio, const int = 5;, è un'espressione costante e il valore 5 viene indicato come un valore letterale intero costante.

Tipi di letterali C

Ci sono 4 tipi di letterali in C:

  • Letterale intero
  • Letterale float
  • Carattere letterale
  • Stringa letterale

C-letterali

1. Letterali interi

Letterali interi vengono utilizzati per rappresentare e memorizzare solo valori interi. I valori letterali interi sono espressi in due tipi, ad es.

A) Prefissi: Il prefisso del letterale intero indica la base in cui deve essere letto.
Per esempio:

0x10 = 16

Perché il prefisso 0x rappresenta una base esadecimale. Quindi 10 in esadecimale è 16 in decimale. Da qui il valore 16.

Sono sostanzialmente rappresentati in 4 tipologie:

UN. Letterale decimale (base 10): UN cifra decimale diversa da zero seguito da zero o più cifre decimali (0, 1, 2, 3, 4, 5, 6, 7, 8, 9).

Esempio:

56, 78 

B. Ottale letterale (base 8): UN 0 seguito da zero o più cifre ottali (0, 1, 2, 3, 4, 5, 6, 7).

Esempio:

045, 076, 06210 

C. Letterale esadecimale (base 16): 0x O 0X seguito da una o più cifre esadecimali (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, a, A, b, B, c, C, d, D, e, E, f, F).

Esempio:

0x23A, 0Xb4C, 0xFEA 

D. Letterale binario (base 2): 0b O 0B seguito da una o più cifre binarie (0, 1).

Esempio:

0b101, 0B111 

B) Suffissi: Il prefisso del letterale intero indica il tipo in cui deve essere letto.

Per esempio:

12345678901234LL

indica un valore intero lungo lungo 12345678901234 a causa del suffisso LL

Questi sono rappresentati in molti modi a seconda dei tipi di dati.

  • int: Non è richiesto alcun suffisso perché la costante intera è assegnata per impostazione predefinita come tipo di dati int.
  • intero senza segno: carattere u o U alla fine di una costante intera.
  • intero lungo: carattere l o L alla fine di una costante intera.
  • int lungo senza segno: carattere ul o UL alla fine di una costante intera.
  • lungo lungo int: carattere ll o LL alla fine di una costante intera.
  • unsigned lungo lungo int: carattere ull o ULL alla fine di una costante intera.

Esempio:

C




#include> int> main()> {> > // constant integer literal> > const> int> intVal = 10;> > printf> (> 'Integer Literal:%d '> , intVal);> > return> 0;> }>

Produzione

Integer Literal:10 

2. Letterali in virgola mobile

Questi sono usati per rappresentare e memorizzare i numeri reali. Il numero reale ha una parte intera, una parte reale, una parte frazionaria e una parte esponenziale. I valori letterali in virgola mobile possono essere memorizzati in formato decimale o esponenziale. Mentre si rappresentano i decimali in virgola mobile è necessario tenere a mente due cose per produrre un valore letterale valido:

  • Nella forma decimale è necessario includere la parte intera, o la parte frazionaria, o entrambe, altrimenti si genererà un errore.
  • Nella forma esponenziale è necessario includere sia la parte significante che quella esponente, altrimenti si genererà un errore.

Di seguito sono mostrate alcune rappresentazioni letterali in virgola mobile:

Letterali mobili validi:

10.125 1.215e-10L 10.5E-3 

Letterali mobili non validi:

123E 1250f 0.e879 

Esempio:

C




#include> int> main()> {> > // constant float literal> > const> float> floatVal = 4.14;> > printf> (> 'Floating point literal: %.2f '> ,> > floatVal);> > return> 0;> }>

Produzione

Floating point literal: 4.14 

3. Letterali dei caratteri

Si riferisce al valore letterale utilizzato per memorizzare un singolo carattere all'interno di una singola virgoletta. Per memorizzare più caratteri, è necessario utilizzare un array di caratteri. Memorizzare più di un carattere all'interno di una singola virgoletta genererà un avviso e visualizzerà solo l'ultimo carattere del letterale. Dà luogo alle seguenti due rappresentazioni:

  • tipo di carattere: Viene utilizzato per memorizzare valori letterali di caratteri normali o valori letterali di caratteri stretti.

Esempio:

char chr = 'G'; 

Esempio:

C




#include> int> main()> {> > // constant char literal> > const> char> charVal => 'A'> ;> > printf> (> 'Character Literal: %c '> ,> > charVal);> > return> 0;> }>

Produzione:

Character Literal: A 

Sequenze di fuga : Esistono vari caratteri speciali che è possibile utilizzare per eseguire varie operazioni.

4. Stringhe letterali

I valori letterali stringa sono simili ai valori letterali carattere, tranne per il fatto che possono memorizzare più caratteri e utilizzano virgolette doppie per memorizzare gli stessi. Può anche contenere i caratteri speciali e le sequenze di escape menzionate nella tabella sopra. Possiamo spezzare una lunga riga in più righe utilizzando una stringa letterale e separarle con l'aiuto di spazi bianchi.
Esempio:

char stringVal[] = 'techcodeview.com'; 

Esempio:

C




#include> int> main()> {> > const> char> str[]> > => 'Welcome To Geeks For Geeks'> ;> > printf> (> '%s'> , str);> > return> 0;> }>

Produzione:

Welcome To Geeks For Geeks 

Devi leggere:

  • Letterali definiti dall'utente
  • Letterale stringa grezza in C++
  • Letterali ottali in C
  • Letterali composti in C
  • Differenza di tipo dei caratteri letterali C++