1 / 14

Programare in limbajul C – Cursul 1 Introducere Prof. univ.dr. Constantin Popescu

Programare in limbajul C – Cursul 1 Introducere Prof. univ.dr. Constantin Popescu. Agenda. Istoric Argumente in favoarea utilizarii limbajului C Ciclul de dezvoltare a unui program C Exemple de programe C Compilarea unui program C Structura programelor. Istoric.

dwayne
Download Presentation

Programare in limbajul C – Cursul 1 Introducere Prof. univ.dr. Constantin Popescu

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Programare in limbajul C – Cursul 1IntroducereProf. univ.dr. Constantin Popescu

  2. Agenda • Istoric • Argumente in favoarea utilizarii limbajului C • Ciclul de dezvoltare a unui program C • Exemple de programe C • Compilarea unui program C • Structura programelor

  3. Istoric • C a fost creat de Dennis Ritchie la AT&T Labs in 1972 • Initial creat sa proiecteze si sa sustina sistemul Unix. • Sunt numai 27 cuvinte cheie in versiunea originala C: • for, goto, if, else …… • Este usor de construit un compilator pentru C: • Multi programatori au scris compilatoare C • Compilatoarele C sunt disponibile pentru orice platforma • In 1983 American National Standards Institute (ANSI) a format un comitet pentru a stabili o definitie standard: • Numita ANSI Standard C. • Diferita de K&R C (aparuta in prima editie a cartii lui Brian Kernighan si Ritchie: The C Programming Language)

  4. Argumente pentru C • C este un limbaj pentru programatori • BASIC a fost un limbaj pentru nonprogramatori sa rezolve probleme simple. • C a fost creat, influentat si testat de programatori. • C este puternic si eficient: • Se poate eficientiza codul. • Apelurile sistem si pointerii permit multe facilitati ca si limbajul de asamblare. • C este un limbaj structurat: • Codul poate fi scris si citit mult mai usor. • C este standardizat: • Programele ANSI C sunt compatibile cu orice compilator ANSI C.

  5. Ciclul de dezvoltare a unui program C Editare Program Codul Sursa Compilator Codul Obiect Fisiere Biblioteca Executabil Leaga Codul Obiect

  6. Exemplul 1 • Primul program pe care îl scrie oricine învaţă un nou limbaj de programare este un program care afişează pe ecran un şir de caractere: #include <stdio.h> int main ( ) { printf ("Hello, World!\n"); return 0; }

  7. Compilarea programului C • Compilarea transforma codul sursa (din fisierul hello.c) in codul obiect (instructiuni dependente de calculatorul pe care se lucreaza). • Diferente la Java: • Compilatorul javac creaza codul byte Java din programul Java. • Codul byte este apoi executat de masina virtuala Java, astfel este independent de calculator. • Editorul de legaturi va genera fisierul executabil. • Exista multe compilatoare C sub Unix: • SUN are Compilatorul C Workshop, comanda cc • Compilatorul freeware GNU gcc

  8. Exemplul 2 #include <stdio.h> /* tipareste cateva numere, pentru a ilustra o bucla*/ int main() { int i; for(i = 0; i < 10; i = i + 1) printf("i este %d\n", i); return 0; } • Primul element nou care apare în textul sursă este: /* tipareste cateva numere, pentru a ilustra o bucla */ • Această linie este un comentariu. • Tot ceea ce se pune între /* şi */ va fi ignorat de compilator • Poate fi util pentru cel care citeşte programul şi încearcă să-l înţeleagă.

  9. Exemplul 3 #include <stdio.h> int main () { int radius, area; printf (“Introduce raza (de ex. 10) : "); scanf ( "%d", &radius); area = 3.14159 * radius * radius; printf ("\nSuprafata = %d\n\n", area); return 0; }

  10. Exemplul 4 #include <stdio.h> int main () { int i, j; for (i = 0; i < 10; i++) { printf ("\n"); for (j = 0; j < i+1; j++ ) printf ( "A"); } printf("\n"); return 0; }

  11. /* Program ce calculeaza produsul a doua numere */ #include <stdio.h> int product(int x, int y); int main () { int a,b,c; /* Se introduce primul numar */ printf (“Introduce un numar intre 1 si 100: "); scanf ("%d", &a); /* Se introduce al doilea numar */ printf (" Introduce un alt numar intre 1 si 100: "); scanf ("%d", &b); /* Calculeaza si afiseaza produsul */ c = product (a, b); printf ("%d x %d = %d \n", a, b, c); return 0; } /* Functia returneaza produsul celor doua argumente */ int product (int x, int y) { return (x*y); } Exemplul 5

  12. Structura programelor • Codul sursă C este format din mai multe elemente lexicale. • Elementele lexicale pot fi: • Cuvinte, cum ar fi for, return, main sau i, care sunt fie cuvinte cheieale limbajului (for, return), fie identificatoripe care i-am ales pentru funcţiile şi variabilele noastre (main, i) • constantele, cum ar fi 1 sau 10 ce introduc noi valori în program • operatori: =, +, >, care manipulează variabile şi valori • caractere de punctuaţie (numiţi delimitatori) cum ar fi parantezele rotunde sau acoladele care indică modul în care sunt grupate celelalte elemente ale programului • toate elementele lexicale pot fi separate prin spaţii albe: spaţiu, tab, linie nouă.

  13. Exemplu 6 • Fragmente de cod ce sunt tratate identic de compilator: for(i = 0; i < 10; i = i + 1) printf("%d\n", i); for(i = 0; i < 10; i = i + 1) printf("%d\n", i); for(i=0;i<10;i=i+1)printf("%d\n",i); for(i = 0; i < 10; i = i + 1) printf("%d\n", i); for ( i = 0 ; i < 10 ; i = i + 1 ) printf ( "%d\n" , i ) ; for (i=0; i<10;i= i+1)printf ("%d\n", i); • Toate secvenţele de mai sus sunt tratate identic de compilator.

  14. Bibliografie • C. Popescu, I. Mang, D. Noje, H. Oros, Programarea în limbajul C, Editura Universităţii din Oradea, Oradea, 2002. • B. Kernighan, D. Ritchie, The C Programming Language, Second Edition, Prentice Hall, 1988.

More Related