Limbajul de Programare in C

download Limbajul de Programare in C

of 10

Transcript of Limbajul de Programare in C

  • 8/17/2019 Limbajul de Programare in C

    1/10

    Limbajul de programare in C++-este o varianta imbunataTITA A LIMBAJULUI c APAUT I! "#$%-C++ apare la inceputul anilor &%'-este un limbaj de programare de nivel inalt( a carui stil de programare esteprogramarea structurata si )olosirea structurilor de control*structuri de controlsecventiale si repetitive,

     

    Programare structurata)oloseste structuri de control

      seventialealternativerepetitive

    B./ C++ are o versiune care )oloseste programare orientata pe obiecte C0 *C

    s1arp(Limbajul de programare C++ sta la ba2a limbajului de programare P3P

    Un program C++ este )ormat din mai multe 4siere sursa,

    Program C++

    5isier sursa* se poate mai multe 67/0Include 8iostream9

      using namespace std:; int main

    ;cout 88 :return %:

    ?5isiere 3eader5unctia MAI!Alte )unctii

    ?bs/ Un program poate contine unul sau mai multe 4siere sursa, 5iecare 4sier sursaare un cod sursa si contine atat 4siere 1eader( cat si )unctiile )olosite deprogramator pentru reali2area algoritmului problemei,

    Codul sursa este introdus in 4sierul sursa, Codul sursa este un 4sier te@t sctis deprogramator in sinta@a limbajului C++,

    5unctia MAI! este )unctia principala a unui program( deoarece e@ecutia programuluiincepe cu e@ecutia acestei )unctii care poate apela apoi la randul ei alte )unctii dinprogram,

  • 8/17/2019 Limbajul de Programare in C

    2/10

    bs/ Toate )unctiile )olosite in program trebuie sa 4e de4nite in 4sierul sursa( intr-un4sier 1eader sau in )unctia MAI!,

    e)/ 5isierele 1eader sunt 4siere aate deja in sistem sau create de programator sicontine puncte/

    - 5unctii prede4nite e@istente deja in limbaj

    - eclaratii si de4nitii de )unctii si variabile( care se gasesc deja in limbaj sausunt prescrise de programator,

    65/ )unctie in limbajul de programare C++ este un set de instructiuni,6@/ 5unctie  instructiuni- de atribuire- de a4sate-de apelare a altei )unctiibs/ instructiune este o e@presie valida din puncte de vedere al sinta@ei( limbajulde programare este tot timpul urmat de ,

    5isiere 3eaderbs/ ", Un 4sier 1eader are e@tesia ,1  , Un 4sier 1eader este introdus intr-un limbaj de programare C++ prin

    directiva procesor,0include 8iostream90 -9 simbolul care repre2inta o directiva procesor,8 9 -9 simbolul care indica )aptul ca iostream este un 4sier 1eader,6@/ directive procesor / 0 include D pentru includerea 4sierului 1eader,

      0 de4ne D pentru de4nirea unor constante si )unctii , 67 0de4ne TU6 " sau de4ne 0de4ne 5AL.6 %6@"/ iostream,1 Dpermite a4sarea datelor din program intr-o )ereastra numitaconsola,

    -contine instructiunile de intrare si iesire *iEo cin si cout,

    ,conio,1 - clrscr *: *clear screen  - getc1 *: *get c1ar

    F,.tudio,1

    G,mat1,1 D)unctia 1eader care contine )unctiile matematice elementare,

    5unctia putere PoH*@(n @n5unctia radical .rt*@ ad@5unctia e@ponentiala 6@p*@ e@ *e Dnr lui euler K ,$5unctia sinus .in*@ sin@5unctia cosinus Cos*@ cos@ G,cmat1,1 Davem de4nite constanta pi -9 M-pi K F,"G

    ocabular C++

    Al)abet/  litere A-9N*a-92  ci)re %#  caracter -9 operatori +( -( O( E( etc,

    - delimitatori/ Qn *neHline Qt*neH tab:

  • 8/17/2019 Limbajul de Programare in C

    3/10

      perec1i de caractere / -* Deste )olosita la denumirea )unctiei si incadrea2a- se )oloseste pentru sc1imbarea ordinii

    e)ectuarii operatiilor in e@presii matematice  - ;? -9 delimitea2a blocul unei )unctii sau a unei

    instructiuni compuse 

    - < < -9 incadrea2a o constanta c1ar sau un sir

      - R R -9 icadrea2a o constanta c1ar

    -EE -9 comentariu  - EO OE-9 incadrea2a un comentariu

    Unitati le@icale/ - grupuri de caractere special care au o semni4catie anume

    pentru limbajul de programare C++E 

    Identi4catori - numele pe care il da programatorul pentru a identi4cavariabilele )unctiei main sau altor )unctii din algoritm( precum si numeleunor )unctii speciale*e@/ aria( suma numerelor

    Cuvinte c1eie D cuvinte proprii limbajului C++( care au o alta semni4catiedecat in limbajul u2ual  -pot repre2enta tipuri de date / int ( double( c1ar etc,  -instructiuniL i) )or etc,  -operatori / si2eoS bs/ .a nu )olosim ca si denumiri de identi4catori cuvintele c1eie,*!ICIATA

    atele in C++atele in limbajul de programare C++ apar sub doua )orme/ariabile- 2one de memorie a caror continut sunt valori care pot 4modi4cate in timpul e@ecutiei programului,

    Constante- repre2entarea datelor sub )orma de valori si de caracterecunoscute anticipat( care nu se pot modi4ca in timpul e@ecutieiprogramului prin operatii sau instructiuni

    bs/!umele unei date este un identi4cator si poate sa contina ma@im Fde caractere,

    ariabilele

    -C1ar D caractere-int Dnumere intregi-oat Dnumere reale cu preci2ie simpla-double-numere reale cu preci2ie dubla

  • 8/17/2019 Limbajul de Programare in C

    4/10

    bs/ in tipurile de date variabile principale se pot obtine tipuri dederivate prin completarea unui cali4cator,

    Cali4catori / -signed-unsigned-s1ort-long

     Tipuri de variabile derivate /

    C1ar D signed c1ar  Unsigned c1ar

    Int - -unsigned int  -.1ort int

    -long int

    -long long intouble -long double

    ",Tipuri de date unsigned int repre2inta numere naturale,,Tipul int -9 memorat pe btes* octeti

    Long int -9 G octeti5loat -9 G octetiouble -9 & octetiLong double-9 " octeti6@/ int -9 octeti K "V bitial min K -"V-" K -"W K -F $V&al ma@ K "V-" K "W K F $V&

    eclararea variabilelor Tipvariabila numevariabila:6@/ double a( b:Int @:

    Constante

    e)/ constanta este o )orma de repre2entare e@terna a unei date( numitaliteral/-numeric-caracterConstatnte numere intregi/ in ba2a "% * e@ W% In ba2a & *%$" In ba2a *""%%"%"%"%%" In ba2a "V* %7AF  Tipurile derivate *F,"$#,FGW,VFG

  • 8/17/2019 Limbajul de Programare in C

    5/10

    Constante numere reale/F,$"GW$ -9 double-W,"V 5*) -9 oat

    Constante caracter

    6@/'a'bs/ constanta c1aracter este tot timpul memorata pe un octetQX

    Constante sir de caracter/6@/

    Caractere neimprimabile/6@/ RQn' Drand nou

    RQt'- tabulator ori2ontalRQv'- tabulator verticalRQa'- sunet

    eclararea constantelor/

     Const tipYconstanta!umeYconstanta K e@presieEvaloare6@/const double Pi K F,"G"W

    IE opse)/ peratiile de intrareEiesire ale datelor sunt reali2ate in C++ cu ajutorul

    dispo2itivelor de intrare si iesire care sunt instructiunile cin si cout,cin D console input *tastatura D operatia de intrarecout - console output * ecran D operatia de iesire

    peratori speci4ci-9 cin99 operator de intrareCout 88 operator de iesire

    6@/ cout 88 :Cout 88 : * se a4sa2a LK cin 99 L:

    peratori C++perator K legatura *operatia algebrica dintre doua sau mai multe date (

    care se vor numi in acest conte@t operan2i,

     Tipuri de operatori-9 unari Dse aplica unui singur operator-9 binari-)ace legatura intre doi operan2i-9ternari-)ace legatura intre trei operan2i

    6@presia K o combinatie )ormata din mai multi operan2i si operatori

    6@/ Z*+FEGXOWbs/ e@presie are caracteristici Dtip

    -valoare6@/ double e@pr," ( a( b:

    6@pr," K *aObE+a:

  • 8/17/2019 Limbajul de Programare in C

    6/10

    ",peratorul unar adresa -9 6@/ int a( b:

    Cout88

  • 8/17/2019 Limbajul de Programare in C

    7/10

    67/void main*:;

    Int a( b( c:

    a K W:b K :i) *a KK V;

    CKaOb:?6lse

    CKa\b:Cout 88 c:

    ?

    $,peratori logici

    - *aKKb D negatie[[ - *a9b[[*b9c D si]] - *a9b]]*b9c Dsau

    &,perator conditional 0include 8iostream9Using namespace std:Int main*;

    ouble @:Cout88

  • 8/17/2019 Limbajul de Programare in C

    8/10

    Structurile de control din limbajul C++

    atele se prelucrea2a in interiorul calculatorului cu ajutorulalgoritmilor, Acesti algoritmi trebuie implementati intr-un limbaj

    de programare, Un algoritm este )ormat dintr-un set deinstructiuni ordonate de catre programator( aceasta ordine ae@ecutarii instructiunilor de4neste structura de controlbs/ Limbajele de programare moderne sunt reali2ate pe ba2aprincipiului programarii structurate adica algoritmii sunt reali2atiprin intermediul structurii de control,C++ -secventiala

    -alternativa*de deci2ie-repetitiva *ciclica

    .tructura secventiala K insiruire de instructiuni in ordinea incare programatorul doreste e@ecutarea acestora.inta@a/

    Instruction":Instruction:6tc/

    Int @(:7KF:

     _K$:7KFO-":

     _K@\:Cout88 :EE se a4sea2a %

    Clasi4carea instructiunilor/", Instructiunea simpla / instructiune: @K$:, Instructiunea compusa / se delimitea2a cu acolada

    ;? /  F, Instructiunea e@presie sau apelare )unctie/ sin *@

    .tructura de deci2ie K instructiunea i)/.inta@a/ i) *e@presie ;instructiune ":?

    6lse ;instructiune :?

  • 8/17/2019 Limbajul de Programare in C

    9/10

    amura else e optionala, La intalnirea instructiunii i) deevaaluea2a e@presie*care repre2inta o conditie din parante2e,aca valoarea e@presiei e " se e@ecuta instructiune "( iar daca nuse e@ecuta instructiune

    bservatii/" instructiune" si instructiune pot 4 instructiuni compuse

    *blocuri( sau c1iar alte instructiuni i) 6@/ int @K"(K:I)*@8;@K@-?else;@K-@?:Cout88 @:EEse a4sea2a "

    se observa ca observatia din parante2a este o conditie

    Problema/ sa se veri4ce daca nr, natural n citit de la tastatura epar,

     Tema/ ", 5/-9( )*@K*@( @8%: @+"(@K9% , )/-9( )*@K*@-"( @8-W:O@+F(@KZ-W:% F, n nat, n\VK%^

    .tructurile repetitive/ de tipuri/ test initial si test 4nal Test initial/ H1ile si )or

    =1ile/ sinta@a/ H1ile*e@presie;instructiune:?Mod de operare/ se evaluea2a e@presia dinparante2a:instructiunea se e@ecuta atata timp cat e@presia are val"( iar cand e@presia va lua valoarea % instructiunea nu se va maie@ecuta *bs/ e@presia e de obicei o conditiebs/ instructiunea H1ile e cu test initial deoarece prima data seevaluea2a e@presia si doar daca e@presia are valoarea " see@ecuta instructiunea*daca de la inceput val e@presiei e %(instructiunea nu se va e@ecuta niciodata

    6@/ sa se calcule2e suma primelor n numere naturale,

    0include 8iostream9

    using namespace std:

  • 8/17/2019 Limbajul de Programare in C

    10/10

    int main*;  unsigned int @K"( n( sum"K%( sumK%( sumFK%:  cout88`introdu nK`:cin99n:cout88`Qn`:

      H1ile*@8Kn;sum"Ksum"+@:sumKsum+@O@:sumFKsumF+@O@O@:@++:?:  cout88sum"88endl88sum88endl88sumF88endl:?