Lectia 6

Elemente de bază ale limbajului C++

Pentru a putea utiliza cu uşurinţă un limbaj de programare trebuie să cunoaştem următoarele doua aspecte:

1. sintaxa limbajului: reprezintă totalitatea regulilor de scriere în limbajul respectiv

2. semantica limbajului: reprezintă cunoaşterea construcţiilor sintactice corecte şi semnificaţia acestora

Aceste aspecte se studiază spre exemplu şi atunci cînd înveţi o limbă străină. Dacă înveţi doar cuvintele şi nu înveţi şi regulile gramaticale nu vei reuşi să te exprimi într-un mod coerent. Spre deosebire însă de un limbaj natural, în cazul nostru studiul unei limbi străine, dacă într-o exprimare folosim în mod gresit o expresie într-un context avem şanse destul de mari ca interlocutorul să ne înţeleagă, atunci când comunicăm cu un calculator, trebuie să repectăm cu exctitate regulile de comunicare. Calculatorul nu face presupuneri, nu ghiceşte ceea ce aţi fi dorit să-i spuneţi. Dacă nu vă exprimaţi corect într-un limbaj de programre nu veti obţine decât un şir considerabil de mesaje de eroare.

Setul de caractere

În limbajul C++ setul de caractere utilizat pentru scrierea programelor este setul de caractere al codului ASCII:

  • litere mari şi mici ale alfabetului englez

  • cifrele sistemului zecimal

    • semnele matematice şi de punctuaţie şi separatori: +,-,*,/,%,<,>,=,#,!,&,|,?,^,(,),[,],{,},;

Separatori şi comentarii

Separatorii au rolul de a delimita unităţile lexicale dintr-un program. Iată lista separatorilor admişi în limbajul C++:

  • (,) parantezele rotunde încadrează lista de parametrii a unei funcţii, sau precizează ordinea de efectuare a operaţiilor pentru evaluarea unei expresii.

  • { } acoladele încadrează instrucţiunile compuse, care se mai numesc şi blocuri.

  • [ ] parantezele drepte încadrează dimensiunile tablourilor

  • " " ghilimelele încadrează şirurile de caractere

  • ' ' apostrofii încadrează un singur caracter

  • ; fiecare instrucţiune se încheie cu caracterul ;

  • /* */ comentariile sunt încadrate de caracterele /* şi */ sau dacă dorim ca un singur rând din codul sursă sa fie comentat, sau în dreptul unei instrucţiuni să apara un comentariu folosim caracterele //.Comentariile sunt texte care vor fi ignorate în momentul execuţiei programelor, dar au rolul de a clarifica si a face un cod sursă mai clar pentru cel care citeşte acel cod.

Identificatori

Definiţie1: Identificatorii sunt acele constructii care au rolul de a denumi elemente ale programului si reprezintă nume de: constante, variabile, funcţii, etc.

Din punct de vedere sintactic un identificator este constituit dintr-o succesiune de litere mari sau mici ale alfabetului englez, cifrele sistemului zecimal si caracterul “_”, cu condiţia ca primul caracter să nu fie o cifră.

Spre exemplu:

Observaţii:

  1. un identificator poate avea orice lungime, dar sunt luate în considerare doar primele 31 de caractere

  2. În limbajul C++ se face diferenta dintre literele mari şi literele mici, din acest punct de vedere spunem că limbajul este case-sensitive(identificatorii max_1 şi Max_1 sunt diferiţi).

  3. este recomandat ca identificatorii folosiţi să fie sugestivi, pentru a nu apela la comentarii pentru a întelege scopul în care este folosit un identificator. Este util să construim identificatori prin compunerea mai multor cuvinte, şi recomandat este ca iniţiala fiecărui cuvânt să fie majusculă (Citire_Vector, Afisare_Matrice)

Cuvinte cheie (keywords)

Cuvintele cheie sunt identificatori speciali, rezervaţi limbajului C++, cu înţeles predefinit şi care pot fi utilizaţi numai în construcţiile sintactice în care sunt definiţi. În limbajul C++ toate cuvintele cheie se scriu doar cu litere mici, iar în programele din această carte cuvintele rezervate vor fi scrise îngroşat. Tabelul care cuprinde toate cele 32 de cuvinte cheie ale limbajului C++ este :

Structura generală a unui program C++

Un program C++ este alcătuit din funcţii şi variabile. Orice program C++ trebuie să conţină în mod obligatoriu o funcţie specială numitămain. Această este specială prin faptul că execuţia programului debutează întotdeauna la începutul acestei funcţii.

Structura unui program C++ are următoarea structură:

Unde:

Directivele preprocesor sunt fişiere librării memorate separat si care au extensia .h. Astfel:

· iostream este un fisier antet (header) care este utilizat pentru gestionarea intrările şi ieşirile implicite de date (datele de intrare se vor prelua împlicit de la tastatura, si datele de ieşire vor fi afişate în mod implicit pe monitorul). Librăria iostream face parte din biblioteca implicită a limbajului C++.

În funcţie de alte obţiuni ale utilizatorului se vor insera în codul sursă si alte fişiere antet cum ar fi:

· cmath – este un fişier care face din biblioteca standard a limbajului C, unde sunt definite funcţiile matematice (cum ar fi radical din x –sqrt(x), ridicare la putere pow(a,b), modulul unui număr abs(a),funcţiile trigonometrice, etc.

· fstream.h-este un fişier în care sunt definite funcţiile de bază pentru lucru cu fişiere text. Stream-urile implicite tastaura şi monitorul se vor schimba în fişiere text de intrare sau de iesire.

După includerea în program a fişierelor header urmează o secţiune rezervată definirii de tipuri de date şi variabile globale.

Definiţie 2: Definirile globale de variabile se fac la începutul programului si acestea vor fi cunoscute în toate funcţiile din program.

Definiţie 3: Definirile locale de variabile se fac în cadrul unei fucţii şi ele sunt cunoscute doar în funcţia în care au fost definite.

În cazul programelor simple, care conţin doar funcţia main() nu este necesar definirea globala a variabilelor.

Funcţiile utilizator :

  • definirea oricărei funcţii este constuită din antetul funcţiei si corpul funcţiei

  • antetul funcţiei conţine numele funcţiei, tipul rezultatului pe care funcţia îl calculează şi o listă de parametri prin care funcţia comunică cu exteriorul ei, încadrată între paranteze rotunde:

tip_rezultat nume_functie(lista de parametri)

  • nu fac obiectul materiei de clasa a IX-a, ele vor fi învăţate pe larg în clasa a X-a

Funcţia main() este o fucţie specială, mai este numită şi funcţia principală sau programul principal, prezenţa ei este obligatorie în orice program C++ deoarece execuţia oricărui program începe cu aceasta. Pentru început vom scrie doar programe constituite doar din funcţia main(). Cel mai simplu program C++, care desigur nu are nici un efect este: