Documente online.
Zona de administrare documente. Fisierele tale
Am uitat parola x Creaza cont nou
 HomeExploreaza
upload
Upload




Expresii

c


Expresii

O expresie este formata din operanzi, operatori si paranteze pentru prioritate, si are o valoare si un tip. Asocierea operatorilor se face de la stanga la dreapta, cu exceptia operatorilor unari si de atribuire, care se asociaza de la dreapta la stanga.



Operanzii pot fi: constante, constante simbolice, variabile simple sau structurate (tablouri, structuri, sau elemente ale acestora), functii sau apeluri de functii.

Operatori

Operatorii, in ordinea descrescatoare a prioritatii sunt urmatorii:

à       

à       

(unar)

(unar)

(unar)

& (unar)

(tip)

sizeof

à       

à       

à       

<<

>>

à       

<

<=

>=

>

à       

à       

&

à       

à       

à       

&&

à       

à       

(ternar)

à       

<<=

>>=

&=

à       

Operatorii aritmetici sunt urmatorii:

+ , * , / , % (mod), pentru adunare, scadere, inmultire, cat (impartire), rest.

Exemple:

int i, j ;

int cat = i / j; // 13 / 5 = 2

int rest = i % j; // 13%5 = 3

Operatorii relationali sunt urmatorii:

< , <= , > , >= , == , != , pentru < , £ , > , ³ = , ¹ rezultatul (valoarea expresiei relationale) fiind 1 pentru adevarat, iar 0 pentru fals.

Exemple:

int i=1; int j=2 ;

i<=j // == 1

i==j // == 0

Operatorii logici sunt:

! (Not) , && (And) , | | (Or).

Exemplu:

Xor = !x&&y || x&&!y // x Xor y = Not x And y Or x And Not y

Deoarece nu exista tipul boolean, valoarea fals este reprezentata prin 0, iar adevarat prin orice valoare diferita de 0.

Operatii pe biti se pot realiza utilizand urmatorii operatori:

~ (complementul fata de FFFF, schimba fiecare bit), << (deplasare la stanga), >> (deplasare la dreapta), & (And bit cu bit), ^ (Xor bit cu bit), | (Or bit cu bit



Exemplu:

// ASCII

#include <stdio.h>;

#include <conio.h>;

int Cifra(int c) // cifra hexa: 019ABF

int c;

void main (void)

while (c!=0x1B);

Operatia de atribuire se realizeaza astfel:

Var = Expresie // expresie de atribuire cu tipul Var

Exista posibilitatea realizarii de atribuiri multiple prin expresii de forma:

Varn = = Var2 = Var1 = Expresie

Mai exista o facilitate utilizand o operatie de atribuire de forma:

Var ¯= Expresie // unde ¯I

avand semnificatia:

Var = Var ¯ Expresie

Exemple:

v = e = 2.7181828; // v = (e = 2.7181828);

x += dx; y = dy; // x = x dx; y = y dy;

n <<= k; // n = n 2k

Operatorii de incrementare / decrementare sunt ' ' respectiv ' ' prin care se mareste, respectiv se micsoreaza, valoarea operandului cu unu.

Acestia pot fi utilizati:

à   in forma prefixata:

operand respectiv operand valoarea expresiei, dupa aplicarea lor

à   in forma postfixata:

operand respectiv operand // valoarea expresiei, inainte de aplicare

Exemple:

a = b; // b=b+1; a=b;

a = b // a=b; b=b

Operatorul de conversie explicita (expresie cast) realizeaza conversia unui operand intr-un tip precizat astfel:

(Tip) operand

Exemplu:

int a=12; int b=5;

float c=a/b; printf(' a Div b = %5.2f n', c);    // a Div b = 2.00

c=(float)a/b; printf(' a / b = %5.2f n', c); // a / b = 2.40

Conversiile implicite (realizate automat) se fac astfel:

a)     char int

b)    float double

c)     (double, (double,double)=double,

d)    (long, (long,long)=long,

e)     (unsigned, (unsigned,unsigned)=unsigned.

Operatorul pentru dimensiune (sizeof) determina lungimea in octeti a unei variabile simple sau structurate, precum si a unui tip de data

sizeof Data

Exemplu:

int a;

printf(' SizeOf int = %d n', sizeof(a)); // SizeOf int

printf(' SizeOf short = %d n', sizeof(short)); // SizeOf short

Operatorii conditionali sunt utilizati in constructii de forma:

Expresie Expresie Expresie

Valoarea expresiei rezultat este Expresie daca Expresie este nenula, altfel este Expresie

Exemplu:

Max = a>b a b;    // Daca a>b Atunci Max=a Altfel Max=b;

Operatorul virgula permite gruparea mai multor expresii intr-una singura, aceasta avand valoarea ultimei expresii:

Expresie Expresie Expresien

Exemplu:

float x ,y ,r, x, y;

printf(' Dati C(x ,y ,r) = '); scanf(' f f f',&x ,&y ,&r); // Cercul C

printf(' Dati P(x,y) = '); scanf(' f f', &x, &y ); // Punctul P

printf(' s',((x-=x y-=y x =x, y =y, x+y)==r r) ? P e pe C 'P nu e pe C





Document Info


Accesari: 818
Apreciat: hand-up

Comenteaza documentul:

Nu esti inregistrat
Trebuie sa fii utilizator inregistrat pentru a putea comenta


Creaza cont nou

A fost util?

Daca documentul a fost util si crezi ca merita
sa adaugi un link catre el la tine in site


in pagina web a site-ului tau.




eCoduri.com - coduri postale, contabile, CAEN sau bancare

Politica de confidentialitate | Termenii si conditii de utilizare




Copyright © Contact (SCRIGROUP Int. 2025 )