Documente Academic
Documente Profesional
Documente Cultură
a)Tipuri intregi:
unsigned char – caracter fara semn, ocupa 1 octet (8 biti), valori 0....255;
char – caracter, ocupa, 1 octet valori -128..127;
unsigned int – intreg fara semn, ocupa 4 octeti, valori 0....4294967295
short int – intreg scurt, 2 octeti, valori -32768.....32767
int – intreg, 4 octeti, valori -2147483648.....2147483647
unsigned long – intreg lung fara semn, 4 octeti , valori 0.....4294967295
long – intreg lung cu semn, 4 octeti, valori -2147483648.....2147483647
long long intreg lung cu semn, 8 octeti, valori: -nr cu 19 cifre.....+nr cu 19 cifre
unsigned long long intreg lung fara semn, 8 octeti , valori 0..... nr cu 19 cifre( ~264)
b) Tipuri reale
float - ocupa 32 biti (4 octeti), valori 3.4x10-38 si 3.4x1038;
double – ocupa 64 biti(8 octeti), 1.7x10-308 si 1.7x10308;
long double – ocupa 12 octeti
c) Tipul logic
bool - ocupa 1 octet ( ex: bool a; a=true; cout<<a; va afisa 1)
CONSTANTE
-intregi -zecimale: exemplu: 23
-octale exemplu: 012
-hexazecimale exemplu: 0x1A2
-caracter exemple: ’A’ , ‘a’ , ‘5’
-reale exemple: -42.3 , .2 , 0.3, 2.3E-5 (inseamna 2.3*10 la puterea -5)
-sir de caractere : “ana are mere”
-secvente escape: ‘\a’ bel; ‘\n’ newline ( endl); ‘\t’ tab orizontal; ‘\v‘ tab vertical etc.
Definirea constantelor:
const (tip) nume_v=valoare;
Ex: const (float) pi=3.14;
EXPRESII
Expresia este o succesiune de operatori si operanzi (constante, variabile, functii) legati intre ei,
dupa reguli specifice limbajului in scopul efectuarii unor operatii(calcule, atribuiri).
Operatori aritmetici:
+ adunare
- scadere
* inmultire
/ impartire
% restul impartirii intregi
Obs: % se aplica doar numerelor intregi!
Operatori relationari:
< mai mic
<= mai mic sau egal
> mai mare
>= mai mare sau egal
Operatori de egalitate:
== egalitate
! = inegalitate
Operatori incrementare/decrementare:
Operatori logici:
! Negare logica
&&,and Si logic
||,or Sau logic
a b !a a&&b a||b
0 0 1 0 0
1 0 0 0 1
0 1 1 0 1
1 1 0 1 1
a=0, a are valoarea logica 0; a=1, a are valoarea logica 1; a= -3 a are valoarea logica 1
Obs: orice variabila diferita de zero are valoarea logica 1.
B1 B2 B1&B2 B1 | B2 B1 ^ B2
0 0 0 0 0
1 0 0 1 1
0 1 0 1 1
1 1 1 1 0
B1=0 bitul are valoarea 0; B1=1 bitul are valoarea 1
Operatori de atribuire (= , * = , / =, % = , + =, - = ) :
v = expresie (se evalueaza expresia si se atribuie variabilei v valoarea obtinuta)
v=v1=v2=…...=vn =expresie (atribuiri multiple)
v op = expresie v= v op expresie (ex: a+ = 3; a = a + 3;)
Operatorul conditional: exp1? exp2 : exp3;
(daca exp1 este adevarata, va rezulta exp2, altfel va rezulta exp3)
se evalueaza exp1;
daca produce o valoare diferita de 0 , se evalueaza exp2 si este ignorata exp3;
altfel, se evalueaza exp3 si este ignorata exp2.
Ex:- modulul unui numar: y=x>=0 ? x : -x; (daca x>=0 este adevarat, y = x, altfel y= -x)
- sau maxim: max=a>b?a:b; (daca a>b e adevarat, max=a, daca nu, max=b)
Daca vrem ca unul sau mai multi operanzi sa intre in calcul convertiti cum dorim, inaintea
operandului se trece intre paranteze tipul sau.
Ex : int a=3, b=6; float c; char d='a';
c=(float) a/b; ( c=0.5 )
c=a/b; ( c=0 )
c=4.56; cout<<(int)c; (afiseaza 4)
cout<<d; (afiseaza a)
cout<<(int)d; (afiseaza 97 care este codul ASCII al lui 'a')
Obs: variabila respectiva nu va fi convertita definitiv, ci doar in cadrul operatiei este folosita
convertita la noul tip de data.