logo

Literals en C

En C, els literals són els valors constants que s'assignen a les variables. Els literals representen valors fixos que no es poden modificar. Els literals contenen memòria però no tenen referències com a variables. En general, els dos termes, constants i literals s'utilitzen indistintament.
Per exemple, const int = 5;, és una expressió constant i el valor 5 s'anomena literal sencer constant.

Tipus de C literals

Hi ha 4 tipus de literals en C:

  • Literal enter
  • Literal flotant
  • Caràcter Literal
  • Corda Literal

C-literals



1. Literals enters

Literals enters s'utilitzen per representar i emmagatzemar només els valors enters. Els literals enters s'expressen en dos tipus, és a dir.

A) Prefixos: El prefix del literal sencer indica la base en què s'ha de llegir.
Per exemple:

0x10 = 16

Perquè el prefix 0x representa una base hexadecimal. Per tant, 10 en HexaDecimal és 16 en Decimal. D'aquí el valor 16.

Bàsicament es representen en 4 tipus:

a. Decimal-literal (base 10): A dígit decimal diferent de zero seguit de zero o més dígits decimals (0, 1, 2, 3, 4, 5, 6, 7, 8, 9).

Exemple:

mini barra d'eines excel
56, 78>

b. Octal-literal (base 8): a 0 seguit de zero o més dígits octals (0, 1, 2, 3, 4, 5, 6, 7).

Exemple:

045, 076, 06210>

c. Hex-literal (base 16): 0x o 0X seguit d'un o més dígits hexadecimals (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, a, A, b, B, c, C, d, D, e, E, f, F).

Exemple:

0x23A, 0Xb4C, 0xFEA>

d. Binari-literal (base 2): 0b o 0B seguit d'un o més dígits binaris (0, 1).

Exemple:

0b101, 0B111>

B) Sufixos: El prefix del literal sencer indica el tipus en què s'ha de llegir.

Per exemple:

12345678901234LL

indica un valor enter llarg llarg 12345678901234 a causa del sufix LL

Aquests es representen de moltes maneres segons els seus tipus de dades.

  • int: No es requereix cap sufix perquè la constant entera s'assigna per defecte com a tipus de dades int.
  • int sense signar: caràcter u o U al final d'una constant entera.
  • int llarg: caràcter l o L al final d'una constant entera.
  • int long sense sign: caràcter ul o UL al final d'una constant entera.
  • long long int: caràcter ll o LL al final d'una constant entera.
  • unsigned long long int: caràcter ull o ULL al final d'una constant entera.

Exemple:

C

enter a cadena java




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

>

>

Sortida

Integer Literal:10>

2. Literals de coma flotant

S'utilitzen per representar i emmagatzemar nombres reals. El nombre real té una part entera, una part real, una part fraccional i una part exponencial. Els literals de coma flotant es poden emmagatzemar en forma decimal o exponencial. Mentre es representen els decimals de coma flotant, cal tenir en compte dues coses per produir un literal vàlid:

  • En la forma decimal, s'ha d'incloure la part entera, o la part fraccional, o totes dues, en cas contrari, provocarà un error.
  • En la forma exponencial, s'ha d'incloure tant la part significativa com l'exponent, en cas contrari, provocarà un error.

A continuació es mostren algunes representacions literals de coma flotant:

Literals flotants vàlids:

10.125 1.215e-10L 10.5E-3>

Literals flotants no vàlids:

declaració java
123E 1250f 0.e879>

Exemple:

C




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

>

>

Sortida

Floating point literal: 4.14>

3. Literals de caràcter

Això fa referència al literal que s'utilitza per emmagatzemar un sol caràcter dins d'una cometa única. Per emmagatzemar diversos caràcters, cal utilitzar una matriu de caràcters. Si emmagatzemeu més d'un caràcter dins d'una sola cometa, es generarà un avís i només es mostrarà l'últim caràcter del literal. Dóna lloc a les dues representacions següents:

  • tipus de caràcters: S'utilitza per emmagatzemar literals de caràcters normals o literals de caràcters estrets.

Exemple:

char chr = 'G';>

Exemple:

C




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

>

organització i arquitectura informàtica

>

preity zinta

Sortida:

Character Literal: A>

Seqüències d'escapada : Hi ha diversos caràcters especials que es poden utilitzar per realitzar diverses operacions.

4. Literals de corda

Els literals de cadena són similars als literals de caràcters, excepte que poden emmagatzemar diversos caràcters i fan servir una cometa doble per emmagatzemar-los. També pot acollir els caràcters especials i les seqüències d'escapament esmentades a la taula anterior. Podem dividir una línia llarga en diverses línies utilitzant una cadena literal i podem separar-les amb l'ajuda d'espais en blanc.
Exemple:

char stringVal[] = 'techcodeview.com';>

Exemple:

C




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

>

>

Sortida:

Welcome To Geeks For Geeks>

Cal llegir:

  • Literals definits per l'usuari
  • Raw String Literal en C++
  • Literals octals en C
  • Literals compostos en C
  • Diferència de tipus de caràcters literals C++