CyberArmy Academy | CyberArmy Services & Support | Open Source Institute | CyberArmy Intelligence & Security | CyberArmy Projects

[Library Index]

[View category: Translated Articles] [Discuss Article]

Limbajul de programare C

Article Rating: Average (# of votes: 3)
Author:      Redkar23
Submitted:      08-May-2008 10:54:23
 


Translated from Library > Programming > C ( Author : PrincesSoha )
Limbajul de programare C a fost scris de catre Dennis Ritchie de la Bell Laboratories. Primul compilator C rula pe un computer DEC PDP-11 dotat cu Unix, versiunile ulterioare de Unix fiind aproape complet scrise in C!

C este bazat pe limbajele BCPL si B, de la acestea provenind si numele. B a fost scris in 1971 de catre Ken Thompson pentru prima versiune de Unix, care rula pe computerul PDP-7. Majoritatea caracteristicilor prezente in limbajele BCPL si B se regasesc in C, totusi acesta din urma se diferentiaza printr-un aspect foarte important.

BCPL si B nu au tipuri de date. Singurul tip cunoscut de aceastea este Word( cuvant ). Acest tip este folosit direct sau indirect( prin intermediul unor operatori speciali ) pentru a stoca toate datele folosite intr-un program. Totusi, C are cateva tipuri de date implementate ( ex. char, int, float, double ) si nenumarate tipuri derivate (ex. tablouri, structuri, etc.).

In 1978, Ritchie si Brian Kernighan au publicat prima editie a cartii "Limbajul de programare C". Aceasta carte, cunoscuta programatorilor C sub numele de "K&R", a reprezentat pentru mult ani o referinta pentru acest limbaj. Versiunea de C care este descrisa este deseori numita "K&R C" ( a doua editie a cartii acopera ulteriorul standard ANSI C, descris mai jos ).

C este un limbaj "mediu", fiindca are doar cativa operatori care sunt folositi asupra colectiilor de date ca si tablouri, siruri de caractere si seturi. De asemenea, limbajul C nu poate comunica cu lumea exterioara - nu exista rutine de intrare sau iesire. Aceste operatii sunt oferite de catre o colectie de functii standard, care sunt accesibile prin intermediul compilatorului. Totusi, are acelasi nivel de control prezent in limbajele de nivel "inalt".

Dupa cum este mentionat si deasupra, primul compilator a fost scris pentru sistemul de operare Unix. Limbajul a fost ulterior folosit pentru a scrie multe alte utilitare pentru acest sistem. Urmatorul pas rational, a fost scrierea urmatoarei versiuni de Unix, in C. Acest fapt a creat o moda in development-ul sistemelor de operare. Fiind capabil sa scrii un sistem de operare intr-un limbaj de nivel "inalt" are beneficii evidente, detectarea, corectarea bug-urilor si intretinerea software-ului. Toate versiunile de Unix au fost scrise in C,incepand cu acea vreme iar majoritatea versiunilor de MS-DOS au fost de asemenea scrise in C.

Programatorii care scriu programe pentru sistem in C au intregul computer sub control. Nu exista nici o parte a memoriei computerului care nu poate fi accesata. toate functiile pentru manipularea bitilor sunt la dispozitia lor. Controlul asupra organizarea memoriei poate fi usor atins. Si totusi ei scriu in limbaje de nivel mai inalt, cu toate avantajele pe care le au, ca si verificarea tipului de date, bucle, branching, variabile, tablouri, etc. Adio Assembler, salut C!

De ce sa folosesti C ? C ( si versiunea acestuia OO, C++) e unul dintre cele mai folosite limbaje de programare de generatia a treia. Puterea si flexibilitatea acestuia ne asigura ca este inca cea mai buna alegere pentru aproape toate tipurile de aplicatii, mai ales in mediul de development al software-ului.

Multe aplicatii sunt scrise in C/C++, incluzand compilatoare pentru alte limbaje de programare. Multe sisteme de operare sunt scrise in C. Continua sa se adapteze unor noi utilitati, ultima fiind Java, care este folosit pentru a programa aplicatii pentru Internet. C are multe avantaje - este flexibil si portabil, poate produce cod compact, rapid, ii ofera programatorului obiecte pentru a crea si manipula structuri complexe(ex. Clasele in C++) si rutine de nivel "jos" pentru a controla partea hardware ( ex. porturi de intrare iesire si intreruperi ale sistemului de operare ). Este si unul din putinele limbaje care au un standard internationala, ANSI C.

C este aproape sigur prezent pe mai multe platforme decat orice alte limbaje de programare.Faptul ca C este folosit pentru a oferi sistem de operare si ultilitarele necesare pentru majoritatea computerelor noi inseamna,ipso facto, ca un compilator C pentru acea platforma a fost creat(de obicei asta inseamna).

Critici la adresa limbajului: foloseste prea multi operatori, permite utilizarea incorecta a tipurilor de date, codul poate fi dificl de citit si poate fi bun la defectarea computerelor(temporar).
/* Acest program afiseaza un mesaj */
#include <stdio.h>;
int main()
{
printf("Hello World\n");
return 0;
}
  • Simbolurile /* si */ marcheaza un comentariu. Comentariile sunt ignorate de compilator, fiind folosite pentru a oferi informatii utile persoanelor care vor citi codul sursa.
  • main() Programarele C contin una sau mai multe functii. Una si DOAR UNA dintre aceste functii trebuie sa fie numita main.
  • parantezele ce urmeaza dupa cuvantul main indica faptul ca este o functie si nu o variabila.
  • { } Acoladele care delimiteaza corpul functiei,care este format din una sau mai multe instructiuni.
  • printf() este o functie folosita pentru a afisa ceva pe stdout ( standard output ), care de obicei este monitorul.
  • "Hello World\n" Este un sir de caractere constant.
  • \n este caracterul de linie noua ( new line)
  • ; - indica sfarsitul unei instructiuni.
  • return 0; returneaza valoareaa zero (fals) sistemului de operare.
C este case sensitive, deci numele functiilor (main si printf) trebuie scrise cu litere mici, la fel ca mai sus.

Cu cateva exceptii, orice spatiu( spatiu liber, indent si linie noua) poate fi folosit pentru a face programele mai lizibile. Sunt multe conventii pentru formatarea codului, deci alege una care ti se potriveste, sau, ca alternativa, instaleaza un program care formateaza codul in locul tau.

You must be logged in to vote on an article

About Us | Privacy Policy | Mission Statement | Help