Documente Academic
Documente Profesional
Documente Cultură
Limbajul C
Limbajul C
II. Limbajul C
1.Notiuni de baza
Un program contine una sau mai multe functii. Dintre acestea una este
functia principala.
Fiecare functie are un nume. Numele functiei principale este main.
Programele se pastreaza într-un fisier sau în mai multe. Fisierele au extensia .c
pentru limbajul C si .cpp pentru limbajul C++. sursa
Un fisier care contine un program scris în C sau care contine numai o parte a
acestuia se va numi fisier de sursa.
obiect
compilare
executabil
linkeditare
Prin compilarea unui fisier rezulta un fisier obiect. Acesta are extensia .obj.
Fisierele obiect corespunzatoare unui program pot fi reunite într-un program
executabil prin editare de legaturi (linkeditare) ⇒ fisier executabil.
1.1. Nume
Exemplu:
void f ()
void f (void)
int g ()
g ()
double h (void)
main ()
1.5. Comentariu
Ex.:
/*
…
*/
//…
Ex.:
F:
I:
E:
…
1.6. Constante
34 Programarea calculatoarelor
1.6.1.Constante întregi
1. Constante flotante
2. Constante caracter
3. Sir de caractere
“Sir”
Ex.:
int i, j;
char c;
long double x; //80 biti
Ex.:
int vect [10]; //20 octete vect [0], …, vect [9]
char tab [100]; //100 octete
double dmat [10][50]; //10*50*8=4000 octeti
La elementele acestui tablou ne referim prin:
dmat [0][0], dmat [0][1], …, dmat [0][49]
dmat [1][0], dmat [1][1], …, dmat [1][49]
…
dmat [9][0], dmat [9][1], …, dmat [9][49]
Într-un program o functie poate avea o definitie si unul dau mai multe
apeluri.
Antetul functiei este:
tip nume (lista_decl_par_formali)
Ex.: int f(int x, double y)
O functie poate fi apelata folosind o constructie de forma:
nume (lista_par_actuali) (1)
Observatie: Parametrii actuali se corespund cu cei formali prin ordine
si tip.
La apel se atribuie parametrilor formali valorile parametrilor actuali, apoi
executia se continua cu prima instructiune a functiei apelate.
La revenirea din functie se ajunge în functia din care s-a facut apelul si executia
continua cu constructia urmatoare apelului.
O functie poate fi apelata simplu punând dupa apel caracterul ‘;’ sau utilizând
constructia (1) ca operand al unei expresii. Un astfel de apel este valabil numai
38 Programarea calculatoarelor
pentru functiile care returneaza o valoare la revenirea din ele. În acest caz
valoarea returnata de functie se foloseste la evaluarea expresiei din care s-a
facut apelul.
Ex.1:
int tab [100];
…
f((tab); //functia are antetul: void f(int x[100]) sau void f(int x[])
Ex.2:
double mat[4][10];
…
fct (mat); // void fct (double m[ ][10])
O functie poate fi apelata într-un punct al unui fisier sursa daca în prealabil a
fost definita în acel fisier sursa.
Apelurile nu pot fi precedate întotdeauna de definitia functiei apelate. În astfel
de cazuri definitia functiei înlocuita printr-un asa numit prototip al ei.
Definirea prototipului:
tip nume (lista tipurilor parametrilor formali);
Observatie: Se poate pune tot antetul urmat de ‘;’.
Ex.:
void c(int x, long y[ ], double z);
sau
void c(int, long[ ], double);
Ex.:
stdio.h //operatii I/E
string.h //operatii pe siruri de caractere
Limbajul C – Notiuni de baza 39
1.12. Preprocesare
1.12.1.Includeri de fisiere
Ex.:
#include <stdio.h>
#include “fis1.cpp”
#include “c:\\bc\\sursa\\fis2.c”
1.12.2.Substituiri de caractere
Ex.:
…
#define A 100
#define DIMAX (A*20)
char tab [DIMAX]; //tab [200];