Constante
Constanta este o data al carei continut ramane neschimbat.
Tipurile de constante ale limbajului C sunt:
a) Constante intregi
b) Constante caracter
c) Constante octale
d) Constante hexazecimale
e) Constante reale
f) Constantesir de caractere
g) Constante enumerative
Constante intregi
Constanta intreaga este un sir de cifre zecim 343c28d ale precedate de semn
si urmate de precizie.
Semnul si precizia sunt optionale.
Exemplul 2.6.1.1.
15 , + 25, -70, -70L, 701 uL
Daca constanta nu poate fi reprezentata pe 2 octeti atunci ea va fi
reprezentata pe 4 octeti si va fi de tip long.
Valoarea 52727 de exemplu nu poate fi reprezentata pe 2 octeti
(valoarea maxima este 32767) ci pe 4 octeti.
Constantele pe 4 octeti sunt constante long iar valoarea lor numerica este urmata de L( l ).
Constantele care nu au semn pot fi urmate de simbolul u sau U (unsigned). Ele se pot reprezenta de asemenea pe 4 octeti daca au specificatorul ul sau UL.
Constante caracter
O constanta carcter este un caracter (litera , cifra, alte semne) intre
apostroafe.
Valoarea unei constante caracter este un octet cu semn sau fara
semn. De exemplu constanta 'A' are valoarea 65 in zecimal.
Se mai pot introduce coduri de control a unor dispozitive prin
urmatoarea secventa '\ car'
Aceste secvente poarta numele de secvente escape.
Se mai poate folosi aceeasi sintaxa pentru introducerea unor
configuratii de biti '\000' unde 0 este o cifra octala sau ' xhh' unde h este o cifra hexazecimala.
In programe se poate defini o constanta folosind comanda define. Exemplul 2.6.2.1.
#define '\014' - codul ASCII pentru form-feed
#define '\015' - codul ASCII pentru CR(enter)
#define '\033' - codul ASCII pentru ESC.
In anexa 2 veti gasi setul de secvente ESCAPE.
Constante octale
Constante octale sunt siruri de cifre octale precedate de
0(zero). Cifrele din sir sunt cifre de la 0 la 7.
Exemplul 2.6.3.1.
a=017357
Constante hexazecimale
Constantele hezaxecimale sunt siruri de cifre hexazecimale precedate de 0X sau 0x. Cifrele pot avea valorile
0,1,2,3,4,5,6,7,8,9,0,A,B,C,D,E,F
Exemplul 2.6.4.1.
b=0x5F;
Constante reale
Constante reale sunt cuvinte ce reprezinta numere cu punct zecimal.
Numarul de zecimale este finit.
Aceste constante pot avea urmatoarele forme:
n cu punct zecimal
<semn> <cifre> . <cifre>
Exemplul 2.6.5.1.
+150.74, -72.75
n cu exponent
<semn> <cifre > . < cifre > <semn> . <cifre>
Exemplul 2.6.5.2.
0.1553E3 sau 7.5E-5
Constante sir de caractere
Constantele sir de caractere sunt succesiuni de caractere intre
ghilimele.
Compilatorul va adauga la sfarsitul sirului caracterul
'\0' (zero binar).
Rezulta ca sirul de caractere poate fi considerat vector cu atâtea componente câte caractere are sirul plus un caracter care reprezinta caracterul '\0'.
Constante enumerative
O constanta enumerativa este o lista cu valoare intreaga. Elementele
listei pot avea nume simbolice lor li se atribuie numere de ordine incepand cu valoarea 0.
Exemplul 2.6.7.1.
enum graphics_modes
;
deci sintaxa declaratiei este :
enum <nume lista>
Exemplul 2.6.7.2.
enum graphics_colors
Numerelor din lista li se asociaza numerele 0, 1, 2, ....
Pentru graphics_colors avem:
BLACK 0 , BLUE 1 , GREEN 2 , CYAN
Se pot atribui valori numelor din lista.
Exemplul 2.6.7.3.
enum graphic_errors
;
Expresii constante
O expresie constanta este o expresie care are ca operanzi numai
expresii constante . Aceste expresii se evalueaza in faza de compilare a programului.
Constante simbolice
O constanta simbolica este un indentificator caruia i se atribuie o
valoare . Valoarea constantei va ramane nemodificata in tot programul.
Constantele simbolice se pot defini cu ajutorul directivei #define.
#define nume - constanta valoare
In concluzie constantelor li se atribuie un nume iar in interiorul
programului vor fi folosite cu numele lor din definitie.
Exemplul 2.6.9.1.
#define null '\0'
#define begin
|