Limbajul+C+-+constructii+de+baza+si+operatori

**Construcţii de bază**
 * Limbajul C**

In cadrul programelor C se foloseşte setul de caractere al codului ASCII.Acestea sunt codificate prin intregi din intervalul [1;127].Un astfel de intreg poate fi păstrat in binar pe 8 biţi(un octet).Mulţimea caracterelor poate fi impărţită in trei grupe:caractere negrafice(exceptand caracterul //DEL//,au codurile ASCII mai mici ca 32),spaţiu,caractere grafice(litere mari,litere mici şi caracterele speciale,şi au codurile ASCII mai mari ca 32). **Identificatori** Un identificator (nume) este o succesiune de litere şi,eventual,cifre,care incepe in mod obligatoriu cu o literă.Prin //litere//,in acest caz inţelegem literele mici şi mari ale alfabetului şi caracterul de subliniere(_).Literele mici se consideră distincte de cele mari(de exemplu, variabile ca //max//,//Max,MAX// se consideră diferite,spre deosebire de limbajul Pascal).Identificatorii sunt folosiţi pentru a denumi variabile,constante,tipuri de date,funcţii. **Cuvinte-cheie** Cuvintele-cheie(rezervate)sunt cuvinte care au un inţeles special pentru compilatorul C: sunt nume rezervate instrucţiunilor,tipurilor fundamentale şi sintaxei pentru definirea funcţiilor şi a tipurilor de date.In limbajul ANSI C există 32 cuvinte rezervate(//auto,break,do,if,for,goto,while// etc.),care se scriu intotdeauna cu litere mici. **Tipuri de date ** Prin tip de date se inţelege o mulţime peste care se definesc următoarele aspecte: -dimensiunea zonei de memorie asociată unui element; -timpul de viaţă asociat datei; -mulţimea operaţiilor prin care valorile tipului pot fi modificate sau prelucrate şi semnificaţia acestor operaţii; -operatorii utilizaţi şi restricţii asupra acestora. **Variabile** Prin variabilă se inţelege o dată a carei valoare se poate schimba pe parcirsul execuţiei programului.Unei variabile i se astribuie patru entităţi://nume//(cu ajutorul căruia va putea fi referită pe parcursul execuţiei programului), //valoare//(la un moment dat), //tip//(valorile pe care le poate avea variabila la momente diferite trebuie să aparţină aceluiaşi tip), //adresă//(in memorie).Corespondentele dintre numele şi tipul unei variabile se realizează printr-o declaraţie. **Expresii** O expresie este formată dintr-un operand sau mai mulţi operanzi legaţi prin operatori.Ea poate avea o valoare şi un tip şi pot fi folosite parantezele pentru a impune o anumită ordine a operaţiilor. **Operanzi** Un operand poate fi:o constantă,o constantă simbolică,numele unei variabile simple,numele unei structuri,numele unui tip,numele unei funcţii sau referirea la un element al unei structuri. **Operatori** Există trei tipuri de operatori.O expresie unară este formată dintr-un operator unar care precedă un operand sau cuvantul-cheie //sizeof// urmat de o expresie.O expresie poate fi,de asemenea,şi denumirea unei variabile sau o expresie //cast//(converise explicită).O expresie binară este compusă din doi operanzi asupra cărora se aplică un operator binar. **//__Operatori unari:__//**
 * - ~ ! negaţia pentru numere intregi,negaţia pe biţi,negaţia logică
 * * & indirectarea şi obţinerea adresei unei variabile
 * //sizeof// operatorul ce returnează dimensiunea unui tip
 * //+// operatorul plus unar
 * ++ operatorii unari de incrementare si decrementare

**//__Operatorii binari:__//**
 * * / % operatorii multiplicativi
 * + - operatorii aditivi
 * << >> operatorii de deplasare pe biţi
 * < > <= >= == != operatori relaţionali
 * & | ^ operatorii pe biţi
 * && || operatorii logici
 * , operatorul virgula de execuţie secvenţială