1. identificatori;
2. constante (explicite) - numerice, caracter, șir;
3. operatori;
4. semne de punctuație.
În cadrul unui atom lexical nu se pot folosi spații albe (excepție fac
spațiile dintr-o constantă șir), putem însă folosi caracterul '_'.
Atomii lexicali
Atomii lexicali sunt separați prin separatori, care pot fi:
• spațiul
• caracterul de tabulare orizontală \t
• terminatorul de linie \n
• comentariul, secvență de caractere încadrate între /* şi */ sau
caracterele // și sfârșit de linie.
Atât tipul cât şi valoarea unei constante se definesc prin caracterele care
compun constanta respectivă.
Exemple Interpretare
12345 întreg zecimal reprezentat în binar pe 16 biți
-12345 întreg zecimal reprezentat în binar pe 16 biţi
12345L întreg zecimal reprezentat în binar pe 32 biţi
2.Constantele
b) Constantă întreagă octală
O constantă întreagă octală este un şir de cifre octale (cifre cuprinse între 0
şi 7) precedat de un 0(zero) nesemnificativ.
Exemple Interpretare
012345 întreg octal reprezentat în binar pe 16 biţi (o cifră octală pe 3 biţi)
Exemple Interpretare
0x12abc întreg hexazecimal reprezentat în binar pe 16 biţi (o cifră pe 4 biţi)
2.Constantele
d) Constantă flotantă
O constantă flotantă este un număr rațional care se compune din
următoarele elemente:
- un semn (+ sau -) care poate lipsi pentru numerele pozitive;
- o parte întreagă care poate fi şi vidă;
- o parte fracționară care poate fi şi vidă;
- un exponent care poate fi şi vid.
Prezența părții fracționare este suficientă pentru ca numărul respectiv să
reprezinte o constantă flotantă.
Absența părții fracționare implică prezența părții întregi şi a exponentului.
Exemple
3.14; 0.314e1; 3.1415926; -2.71828; 2. ; +271828E-5
2.Constantele
e) Constantă caracter
O constantă caracter reprezintă un caracter şi are ca valoare codul ASCII al
caracterului respectiv.
O constantă caracter grafic se poate scrie incluzând caracterul respectiv
între caractere apostrof ‘ ’.
Exemple
“123”; “Limbajul C”; “sir de caractere”; “sir\””; “”(șirul vid).
3.Operatori
Limbajul C folosește un set bogat de operatori, care sunt simboluri ale
operațiilor specificate în cadrul expresiilor.
Operatori
aritmetici + - * / %
de atribuire =
de atribuire += -= *= /= %=
augmentată (exemplu: x+=5 este echivalent cu x=x+5)
relaționali == != > < >= <=
logici ! (negație) && (și) || (sau) ^ (sau exclusiv)
incrementare/ ++ -- (pre- sau post-incrementare/decrementare)
decrementare (exemplu: y=x++ sau y=--x)
evaluare ?:
condițională (exemplu: expr0 ? expr1 : expr2)
Etc.
Convenție în limbajul C:
Valoarea 0 este interpretată ca fals şi orice valoare diferită de zero ca adevărat.
3.Operatori – prioritatea lor:
( ) [ ] . ->
- (unar) +(unar) *(unar) &(unar) ! ~ ++ -- (tip) sizeof
* / %
+ -
<< >>
< <= >= >
= = !=
&
^
|
&&
||
? : (ternar)
= op= op poate fi: *(binar) / % +(binar) –(binar) << >> & ^ |
,
4.Semne de punctuație
Exemple