Limbaj_c

//**Date in limbajul C++**//
 * Limbajul c++**

Un program realizeaza o prelucrare de informatie. Termenul de prelucrare trebuie sa fie considerat într-un sens foarte general (de exemplu prelucrarea se poate referi la un text si consta în afisarea lui). În program datele apar fie sub forma unor **constante** (valori cunoscute anticipat, care nu se modific?), fie sub forma de **variabile**. Constantele si variabilele sunt obiectele informationale de baza manipulate într-un program. Fiecare **categorie de date** este c**aracterizata de atributele:** De primele trei tipuri de atribute ne vom ocupa în continuare, urmând ca de atributul clasa de memorare sa ne ocupam mai tarziu. Intregi: In completare exista un numar de calificatori, care se pot aplica tipurilor de baza char, int, float sau double: short, long, **signed** si **unsigned**. Astfel, se obtin tipurile derivate de date. **Short** si **long** se refera la marimea diferita a intregilor, iar datele de tip unsigned int sunt intotdeauna pozitive. S-a intentionat ca short si long sa furnizeze diferite lungimi de intregi, int reflectand marimea cea mai "naturala" pentru un anumit calculator. Fiecare compilator este liber sa interpreteze short si long in mod adecvat propriului hardware; in nici un caz, insa, short nu este mai lung decat long. Toti acesti calificatori pot aplicati tipului int. Calificatorii signed (cel implicit) si unsigned se aplica tipului char. Calificatorul long se aplica tipului double. Daca intr-o declaratie se omite tipul de baza, implicit, acesta va fi int.Tabelul urmator prezinta lungimea zonei de memorie ocupata de fiecare tip de data. // 1. TIPURILE INTREGI // Obs: a) In C++ nu exista tipul boolean. In acest caz, orice valoare diferita de 0 este considerata ca fiind TRUE si orice valoare 0 este considerata ca fiind FALSE. b) Tipul caracter este asimilat tipurilor intregi. Memorarea unui caracter se face folosind codul ASCII al acestuia. In operatiile referitoare la caractere ne putem referi atat la caracter cat si la codul sau ASCII (conversia se face automat, in functie de context). //__De ex:__// char a='c',b=99; cout<** sunt definite constantele simbolice (cum ar fi: MAXINT, MAXSHORT, MAXLONG, MINDOUBLE, MINFLOAT, etc.) care au ca valoare limitele inferioara si superioara ale intervalului de valori pentru tipurile de date enumerate. (de exemplu MAXINT reprezinta valoarea intregului maxim care se poate memora, etc. )
 * Nume;
 * Valoare;
 * Tip;
 * Clasa de memorare.
 * Numele unei date ** Numele unei date este un identificator si, ca urmare, trebuie sa respecte regulile specifice identificatorilor. De asemenea, numarul de caractere care intra în compunerea unui identificator este nelimitat, însa, implicit, numai primele 32 de caractere sunt luate în considerare. Aceasta înseamna ca doi identificatori care au primele 32 de caractere identice, diferentiindu-se prin caracterul 33, vor fi considerati identici.
 * Tipul unei date ** Tipul unei date consta într-o **multime de valori** pentru care s-a adoptat un anumit **mod de reprezentare** în memoria calculatorului si o **multime de operatori** care pot fi aplicati acestor valori. Tipul unei date determina l**ungimea zonei de memorie** ocupata de acea data. În general, lungimea zonei de memorare este dependenta de calculatorul pe care s-a implementat compilatorul.
 * Tipurile de baza sunt: ** intregi si reale
 * **char** un singur octet (1 byte=8 biti), capabil sa contina codul unui caracter din setul local de caractere;
 * **int** numar intreg, reflecta in mod tipic marimea naturala din calculatorul utilizat;
 * **float** numar real, in virgula mobila, simpla precizie;
 * **double** numar real, in virgula mobila, dubla precizie.
 * NUME TIP ||  DIMENSIUNE IN BITI  ||  DOMENIU  ||
 * unsigned char || 8  ||  0..255  ||
 * **char** || 8  ||  -128..127  ||
 * unsigned int || 16  ||  0..65535  ||
 * short int || 16  ||  -32768..32767  ||
 * **int** || 16  ||  -32768..32767  ||
 * unsigned long || 32  ||  0..4294967295  ||
 * **long** || 32  ||  -2147483648..2147483647  ||
 * NUME TIP ||  DIMENSIUNE IN BITI  ||  MAXIMA (in valoare absoluta)  ||
 * float || 32  ||  3.4*pow(10,38)  ||
 * double || 64  ||  1.7*pow(10.308)  ||
 * long double || 80  ||  1.1*pow(10,4932)  ||

**TIPURILE DE OPERATORI SI PRIORITATEA LOR** +   -  ||  operatori unari  || -not (!) Ex: !0=1, !1=0 -Ex: -10, +23, || - operatorul / face impartirea intreaga daca cei doi operanzi ai sai sunt intregi si reala, daca macar un operand este real || != ||  operatori de egalitate  || ___ ,,__ _ ||
 * PRIORITATE ||  OPERATORI  ||  TIP OPERATOR  ||  OBSERVATII  ||
 * 1 ||    || ||   ||
 * 2 ||  !
 * 3 ||  * / %  ||   ||   ||  operatori multiplicativi  ||   || - operatorul % actioneaza numai asupra operanzilor intregi
 * 4 ||  + -  ||  operatori aditivi  || operatori binari pentru adunare si scadere ||
 * 5 ||  < <= > >=  ||  operatori relationali  || rezultatul unei operatii logice poate fi 1 (TRUE) sau 0 (FALSE) ||
 * 6 ||  = =
 * 7 ||  &&  ||  SI logic  || 0&&1=0, 1&&1=1, 0&&0=0 ||
 * 8 || ||   ||  SAU logic  || 0 || 1=1, 0 || 0=0, 1 || 1=1 ||

Clasificarea operatorilor:


 * 1) Operatori aritmetici:
 * **Nr. crt ** ||  **operator**  ||   **semnificatie**   ||
 * 1 || - || Minus (unar) ||
 * 2 || + || Plus (unar) ||
 * 3 || + || Plus (binar) ||
 * 4 || - || Minus (binar) ||
 * 5 || * || Inmultire (binar) ||
 * 6 || / || Impartire (binar) ||
 * 7 || % || Restul impartirii intregi (binar) ||

2. Operatori relationali :
 * **Nr. crt ** ||  **operator**  ||   **semnificatie**   ||
 * 1 || < || Mai mic (binar) ||
 * 2 || <= || Mai mic sau egal (binar) ||
 * 3 || > || Mai mare ||
 * 4 || >= || Mai mare sau egal (binar) ||

3. Operatori de egalitate:
 * **Nr. crt ** ||  **operator**  ||   **semnificatie**   ||
 * 1. || = = || De egalitate (binar) ||
 * 2. || != || Diferit de (binar) ||

4.Operatori logici:
 * **Nr. crt ** ||  **operator**  ||   **semnificatie**   ||
 * 1. || ** ! ** || Negare logica (binar) ||
 * 2. || ** && ** || Si logic (binar) ||
 * 3. ||  ||   || Sau logic (binar) ||

5.Operatorul ** = ** de atribuire (binar) : variabila=expresie sau:

1. Se citesc de la tastura 2 numere intregi a si b. Sa se afiseze suma acestora.