17.04.2013 Views

Florian Moraru PROGRAMAREA CALCULATOARELOR în limbajul C

Florian Moraru PROGRAMAREA CALCULATOARELOR în limbajul C

Florian Moraru PROGRAMAREA CALCULATOARELOR în limbajul C

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Instructiunile nu pot fi scrise <strong>în</strong> C decât <strong>în</strong> cadrul definitiei unei functii.<br />

Directive preprocesor<br />

Un program C contine una sau mai multe linii initiale, care <strong>în</strong>cep toate cu<br />

caracterul ‘#’. Acestea sunt directive pentru preprocesorul C si sunt interpretate <strong>în</strong>ainte<br />

de a se analiza programul propriu-zis (compus din instructiuni si declaratii).<br />

Directivele fac parte din standardul <strong>limbajul</strong>ui C.<br />

Cele mai folosite directive sunt “#include” si “#define”.<br />

Directiva #include cere includerea <strong>în</strong> compilare a unor fisiere sursã C, care sunt de<br />

obicei fisiere “antet” (“header”), ce reunesc declaratii de functii standard. Fisierele de<br />

tip “.h” nu sunt biblioteci de functii si nu contin definitii de functii, dar grupeazã<br />

declaratii de functii, constante si tipuri de date.<br />

Pentru a permite compilatorului sã verifice utilizarea corectã a unei functii este<br />

necesar ca el sã afle declaratia functiei (sau definitia ei) <strong>în</strong>ainte de prima utilizare.<br />

Pentru o functie de bibiotecã definitia functiei este deja compilatã si nu se mai<br />

transmite programului compilator, deci trebuie comunicate doar informatiile despre<br />

tipul functiei, numãrul si tipul argumentelor printr-o declaratie (“prototip” al functiei).<br />

Fisierele antet contin declaratii de functii.<br />

Absenta declaratiei unei functii utilizate (datoritã absentei unei directive “include”)<br />

este semnalatã ca avertisment <strong>în</strong> programele C si ca eroare ce nu permite executia <strong>în</strong><br />

C++. Pentru anumite functii absenta declaratiei afecteazã rezultatul functiei<br />

(considerat implicit de tip int), dar pentru alte functii (de tip void sau int) rezultatul nu<br />

este afectat de absenta declaratiei.<br />

Orice program trebuie sã citeascã anumite date initiale variabile si sã scrie (pe<br />

ecran sau la imprimantã) rezultatele obtinute. In C nu existã instructiuni de citire si de<br />

scriere, dar existã mai multe functii standard destinate acestor operatii. Declaratiile<br />

functiilor standard de I/E sunt reunite <strong>în</strong> fisierul antet “stdio.h” (“Standard Input-<br />

Output “), care trebuie inclus <strong>în</strong> compilare:<br />

#include // sau #include <br />

Numele fisierelor antet pot fi scrise cu litere mici sau cu litere mari <strong>în</strong> sistemele<br />

MS-DOS si MS-Windows, deoarece nu sunt nume proprii <strong>limbajul</strong>ui C, ci sunt nume<br />

specifice sistemului de operare gazdã care are alte conventii.<br />

Parantezele unghiulare ‘‘ sunt delimitatori ai sirului de caractere ce<br />

reprezintã numele fisierului si aratã cã acest nume trebuie cãutat <strong>în</strong>tr-un anumit<br />

director (grup de fisiere).<br />

Fiecare directivã de compilare trebuie scrisã pe o linie separatã si nu trebuie<br />

terminatã cu caracterul ‘;’ spre deosebire de instructiuni si declaratii.<br />

De obicei toate directivele “include” si “define” se scriu la <strong>în</strong>ceputul unui fisier<br />

sursã, <strong>în</strong> afara functiilor, dar pot fi scrise si <strong>în</strong>tre functii dacã respectã regula generalã<br />

cã “definitia trebuie sã preceadã utilizarea”.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!