Tipuri,Variabile,Operatori si Expresii in C si C++

Curs
9.3/10 (4 voturi)
Domeniu: Calculatoare
Conține 1 fișier: doc
Pagini : 11 în total
Cuvinte : 3165
Mărime: 33.37KB (arhivat)
Cost: Gratis

Extras din document

II. Operatori si expresii.

Un operator este un simbol care arata ce operatii se executa asupra unor operanzi (termeni).

Un operand este o constanta, o variabila, un nume de functie sau o subexpresie a carei valoare este prelucrata direct de operator sau suporta în prealabil o conversie de tip.

Operatorii, dupa numarul de operanzi asupra carora se aplica pot fi: unari, binari si ternari.

În C exista 45 de operatori diferiti dispusi pe 15 niveluri de prioritate.

În functie de tipul operanzilor asupra carora se aplica, operatorii pot fi: aritmetici, relationali, binari, logici, etc.

Operatorii sunt împartiti în clase de precedenta (sau de prioritate). În fiecare clasa de precedenta este stabilita o regula de asociativitate, care indica ordinea de aplicare a operatorilor din clasa respectiva: de la stânga la dreapta sau de la dreapta la stânga.

O expresie este o combinatie de operanzi, separati între ei prin operatori; prin evaluarea unei expresii se obtine o valoare rezultat.Tipul valorii rezultat depinde de tipul operanzilor si a operatorilor folositi.

Evaluarea unei expresii poate avea efecte laterale, manifestate prin modificarea valorii unor variabile.

1. Conversii de tip.

Valorile pot fi convertite de la un tip la altul. Conversia poate fi implicita sau realizata în mod explicit de catre programator.

1.1. Conversii implicite de tip.

Conversiile implicite au loc atunci când este necesar ca operatorii si argumentele functiilor sa corespunda cu valorile asteptate pentru acestea.

Acestea pot fi sintetizate prin tabelul:

Tip Tip la care se converteste implicit

char int, short int, long int

int char (cu trunchiere)

short int (cu trunchiere)

long int (cu extensia semnului)

short int ca si int

long int ca si int

float double

int, short int, long int

double float

int, short int, long int

1.2. Conversii aritmetice.

Când un operator binar se aplica între doi operanzi de tip diferit, are loc o conversie implicita a tipului unuia dintre ei, si anume, operandul de tip “mai restrâns” este convertit la tipul “mai larg” al celuilalt operand. Astfel în expresia f + i, operandul int este convertit în float.

Operatorii aritmetici convertesc automat operanzii la un anumit tip, daca operanzii sunt de tip diferit. Se aplica urmatoarele reguli:

• operanzii char si short int se convertesc în int; operanzii float se convertesc în double.

• daca unul din operanzi este double restul operanzilor se convertesc în double iar rezultatul este tot double.

• daca unul din operanzi este long restul operanzilor se convertesc în long , iar rezultatul este tot long.

• daca unul din operanzi este unsigned restul operanzilor se convertesc în unsigned , iar rezultatul este tot unsigned.

• daca nu se aplica ultimele 3 reguli, atunci operanzii vor fi de tip int si rezultatul de asemeni de tip int.

double ¬float

­

long

­

unsigned

­

int ¬char, short

Astfel n = c - ‘0’ în care c reprezinta un caracter cifra calculeaza valoarea întreaga a acestui caracter.

Conversii implicite se produc si în cazul operatiei de atribuire, în sensul ca valoarea din partea dreapta este convertita la tipul variabilei acceptoare din stânga.

Astfel pentru declaratiile:

int i;

float f;

double d;

char c;

sunt permise atribuirile:

i=f; /* cu trunchierea partii fractionare */

f=i;

d=f;

f=d;

c=i;

i=c;

1.3. Conversiile de tip explicite (cast).

Conversiile explicite de tip (numite si cast) pot fi fortate în orice expresie folosind un operator unar (cast) într-o constructie de forma:

(tip) expresie

în care expresia este convertita la tipul numit.

Operatorul cast are aceeasi precedenta cu a unui operator unar.

Astfel functia sqrt() din biblioteca <math.h> cere un argument double, deci va fi apelata cu un cast: sqrt((double) n).

Apelurile cu argumente de alt tip vor fi convertite în mod automat la tipul double: x=sqrt(2) va converti constanta 2 în 2.0.

2. Operatorii aritmetici.

Operatorii aritmetici binari sunt: +, -, *, / si % (modul = restul impartirii întregi).

Prioritatea operatorilor aritmetici este:

+, - unari

*, /, % binari

+, - binari

Regula de asociativitate este de la stânga la dreapta (la prioritati egale operatorii sunt evaluati de la stânga la dreapta).

Operatori multiplicativi

operator descriere tip operanzi tip rezultat precedenta

* înmultire aritmetic int,unsigned,long,double 3

/ împartire aritmetic int,unsigned,long,double 3

% restul împartirii întregi întreg int,unsigned,long 3

Operatori aditivi

operator descriere tip operanzi tip rezultat precedenta

+ adunare aritmetici

pointer si întreg int,unsigned,long,double

pointer 4

- scadere aritmetici

pointer si întreg

doi pointeri int,unsigned,long,double

pointer

int 4

Preview document

Tipuri,Variabile,Operatori si Expresii in C si C++ - Pagina 1
Tipuri,Variabile,Operatori si Expresii in C si C++ - Pagina 2
Tipuri,Variabile,Operatori si Expresii in C si C++ - Pagina 3
Tipuri,Variabile,Operatori si Expresii in C si C++ - Pagina 4
Tipuri,Variabile,Operatori si Expresii in C si C++ - Pagina 5
Tipuri,Variabile,Operatori si Expresii in C si C++ - Pagina 6
Tipuri,Variabile,Operatori si Expresii in C si C++ - Pagina 7
Tipuri,Variabile,Operatori si Expresii in C si C++ - Pagina 8
Tipuri,Variabile,Operatori si Expresii in C si C++ - Pagina 9
Tipuri,Variabile,Operatori si Expresii in C si C++ - Pagina 10
Tipuri,Variabile,Operatori si Expresii in C si C++ - Pagina 11

Conținut arhivă zip

  • Tipuri,variabile,operatori si expresii in C si C++.DOC

Alții au mai descărcat și

Virusi si Antivirusi

Denumirea de virus a fost folosita în literatura de specialitate pentru prima data în anul 1983, de catre expertul american Fred Coen, de la...

Pragramarea Calculatoarelor

1. Enumerati unitatile functionale ale unui sistem de calcul. -unitate de intrare -memorie interna -unitate centrala -memorie externa -unitate...

Fituica C++

(1) Limbaj de programare: O unealta cu care se dau comenzi calculatorului. El ne asigura un set de concepte necesare rezolvarii problemei. C++ este...

Virusii Calculatoarelor

Evitarea virusilor Daca mesajele nesolicitate sunt suparatoare, virusii sunt daunatori. Corespondenta nesolicitata înseamna pierdere de timp si de...

Proiectarea Retelelor de Calculatoare

Proiectarea retelelor de calculatoare (curs 1) Toate retele de calculatoare indifferent de marimea lor sunt create ptr. ca utilizatorii lor sa...

Îndrumar de Lucrări Practice pentru Proiectare Asistată de Calculator

Îndrumar de lucrãri practice pentru Proiectare asistatã de calculator L1. Notiuni fundamentale asupra sistemului de operare WINDOWS 95. 1....

Bazele Proiectarii Asistate de Calculator

2.1. Procesul de proiectare. Proiectarea este una din activităţile de bază a inginerului, elementul de legătură dintre investigaţiile stiinţifice...

Protectia si Securitatea Sistemelor Informationale

IMPLEMENTAREA SISTEMELOR este procesul de instalare a echipamentelor şi softului în vederea finalizării sistemului şi dării lui în funcţiune....

Ai nevoie de altceva?