Click here to load reader

Uvod u programski jezik Uvod u programski jezik C Uvod u

  • View
    306

  • Download
    22

Embed Size (px)

Text of Uvod u programski jezik Uvod u programski jezik C Uvod u

  • Uvod u programski jezikUvod u programski jezik CCUvod u programski jezik Uvod u programski jezik CC

    Krunoslav ubriniKrunoslav ubrini

    Oujak 2012.Oujak 2012.jj

  • Creative CommonsCreative Commonsslobodno smijete:

    dijeliti umnoumnoavati distribuirati i javnosti priopavati distribuirati i javnosti priopavati djeloavati djelodijeliti umnoumnoavati, distribuirati i javnosti priopavati, distribuirati i javnosti priopavati djelo avati djelo remiksirati preraivati djelo preraivati djelo

    pod slijedeim uvjetima:i j M t i ti iM t i ti i iti t t dj liti t t dj limenovanje. Morate priznati i ozna. Morate priznati i oznaiti autorstvo djela na iti autorstvo djela na nanain kako je specificirao autor ili davatelj licence (ali ne in kako je specificirao autor ili davatelj licence (ali ne nanain koji bi sugerirao da Vi ili Vae koritenje njegova djela in koji bi sugerirao da Vi ili Vae koritenje njegova djela imate njegovu izravnu podrku). imate njegovu izravnu podrku). nekomercijalno. Ovo djelo ne smijete koristiti u . Ovo djelo ne smijete koristiti u komercijalne svrhe. komercijalne svrhe. dijeli pod istim uvjetima. Ako ovo djelo izmijenite, . Ako ovo djelo izmijenite,

    blik j t ili t t k i tblik j t ili t t k i t i di d ttpreoblikujete ili stvarate koristepreoblikujete ili stvarate koristei ga, preradu moi ga, preradu moete ete distribuirati samo pod licencom koja je ista ili slidistribuirati samo pod licencom koja je ista ili slina ovoj.na ovoj.

    U sluaju daljnjeg koritenja ili distribuiranja morate drugima jasno dati do znanja licencne uvjete ovogU sluaju daljnjeg koritenja ili distribuiranja morate drugima jasno dati do znanja licencne uvjete ovog djela. Najbolji nain da to uinite je linkom na ovu internetsku stranicu. Od svakog od gornjih uvjeta mogue je odstupiti, ako dobijete doputenje nositelja autorskog prava. Nita u ovoj licenci ne naruava ili ograniava autorova moralna prava.

    Tekst licence preuzet je s http://creativecommons.org/.

  • Raunalni programRaunalni program

    Program je skup naredaba ijim

    p gp g

    g j p jse izvrenjem obavlja eljeni posao

    Naredba je temeljni element programaAlgoritam je uputa kako rijeiti neki problem

    Obino se sastoji od niza koraka1.Zagrijvodu2.Stavivreicuajaj3.Ostavistajati5minuta4.Poslui4.PosluiDa li je ovaj algoritam dovoljno detaljan za raunaloraunalo

    2011/12. Programiranje 2 3

  • Opis algoritmaOpis algoritmap gp g

    Algoritam se moe opisati na Poetakg prazliite naine:

    Blok dijagramomUnesi duljinu

    stranice kvadrataBlok dijagramomPseudokodom

    duljina>0NE

    opseg=4*duljina

    DA

    Poetaki d lji i k d

    Prikai na zaslonu

    UnesiduljinustranicekvadrataDuljina0:

    Izraunajopseg=4*duljina

    2011/12. Programiranje 2 4

    KrajPrikaiizraunatiopseg

    Kraj

  • Programski jezik CProgramski jezik Cg jg j

    Jedan od najvanijih programskih jezika u Jeda od aj a j p og a s je a upovijesti komercijalne raunalne industrije.

    Jezik vrlo niske razine programi napisani uJezik vrlo niske razine, programi napisani u njemu vrlo su bliski nainu rada hardvera.K i ti k d j klj b i i j i/iliKoristi se kada je kljuna brzina izvoenja i/ili prenosivost (igre, mobilni ureaji,...)Jezik ope namjene, to znai da se u njemu moe napraviti apsolutno sve

    operacijski sustavi, namjenski programi, upravljaki driveri, igre, aplikacije na mobilnim t l f itelefonima,...

    2011/12. Uvod u programski jezik C 5

  • Obiteljsko stablo CObiteljsko stablo C--aajj

    Zbog ega ime C? C++JavaScript

    g gJer je prije njega bio B!P d tj j C ij i

    C

    Java

    Objective-C

    Pod utjecajem C-a razvijeni su brojni drugi programski j i ijeziciMnogi od njih su naslijedili PHPg j jnjegovu sintaksu:

    C++ Java JavaScript C#C++, Java, JavaScript, C#, PHP, Objective-C,

    C#

    2011/12. Programiranje 2 6

  • Izrada izvrnog C programaIzrada izvrnog C programag p gg p g

    C d t t k d i i i I i k d di I i k d ( C datoteka sadri izvorni C programski kod razumljiv ovjeku.

    Izvorni kod se prevodi pomou programa prevoditelja (compiler).

    Izvrni kod (.exe datoteka na MS Win) razumljiv je raunalu,

    Programski kod moete pisati u bilo kojem programu za unos teksta.

    Prevoditelj pronalazi i prijavljuje greke, a kada je sve u redu stvara

    moe se izvesti na odreenom OSu. Sam izvrni kod je niz p g j

    izvrni kod. j

    binarnih znamenki.2011/12. Uvod u programski jezik C 7

  • Izrada izvrnog programa: DevIzrada izvrnog programa: Dev--C++C++g p gg p g

    1 233

    45

    6

    2011/12. Uvod u programski jezik C 8

  • A ako se dogodi greka?A ako se dogodi greka?g gg g

    2011/12. Programiranje 2 9

  • Opseg kvadrata v01Opseg kvadrata v01

    #include

    p gp gPoetak

    Unesi duljinu#include

    intmain()

    {

    Unesi duljinu stranice kvadrata

    a

    {

    intstr;

    opseg=4*a

    Prikai na zaslonu

    printf("Unesiteduljinustranice:");

    scanf("%d",&str);

    izraunati opseg

    Kraj( )

    printf("Opsegkvadrataje%d.\n",str*4);

    system("pause");system( pause );

    return0;

    }2011/12. Uvod u programski jezik C kvadrat.c

  • Anatomija C programaAnatomija C programaC je jako mali jezik i veina funkcionalnosti se izvodi pomou vanjskih biblioteka. #include naredba programu kae koju vanjsku biblioteku (header) treba pogledati za

    #include

    j p gj p g vanjsku biblioteku (header) treba pogledati za traenu funkcionalnost. stdio.h sadri opis funkcija za ulazno-izlazne operacije#include

    intmain()

    {

    Main funkcija je poetna funkcija programa.

    {

    intstr;Rezervira se memorijski prostor za pohranu 1 cijelog broja.

    Ispis fiksnog zagr

    adam

    a

    printf("Unesiteduljinustranice:");

    scanf("%d",&str);

    p gteksta na zaslon

    Unos cijelog broja. Operator & daje adresu na kojoj je varijabla str smjetena.en

    o vit

    iasti

    m

    ( )

    printf("Opsegkvadrataje%d.\n",str*4);

    system("pause"); Ispis teksta i izraunate ij d ti ( j kcij

    e je o

    mee

    system( pause );

    return0;

    vrijednosti (mnoenje unesenog cijelog broja sa 4) na zaslonu. Broj se ispisuje na poziciji %d

    Pauza u izvoenju programa (kako bismo vidjeli rezultat izvoenja).

    Tijelo

    funk

    } Main funkcija vraa cijeli broj pozivatelju (operacijskom sustavu). 0 znai da se program uspjeno izvrio.

    2011/12. Uvod u programski jezik C 11

  • Opseg i povrina pravokutnika Opseg i povrina pravokutnika

    Izmijenite program za izraun opsega

    p g p pp g p p

    j p g p gkvadrata tako da omogui izraun i ispis povrine i opsega pravokutnika Poetak

    Unesi duljine stranica

    pravokutnika a i b

    opseg=2*a+2*b

    Zbrajanje c=a+b

    Aritmetiki operatori koji e vam (moda) trebati:povrina=a*b

    Zbrajanje c=a+bOduzimanje c=abMnoenje c=a*bDijeljenje c=a/b

    Prikai na zaslonu izraunati opseg i

    povrinu

    Dijeljenje c=a/bModulo(ostatakdijeljenja) c=a%b

    2011/12. Uvod u programski jezik C 12

    Kraj

  • Duljina hipotenuzeDuljina hipotenuzej pj p

    Podijelimo pravokutnik na 2 jednaka trokutaj p jKako emo izraunati duljinu hipotenuze?

    ac22 bac +=

    Matematike funkcije su definirane u datoteci b

    jzaglavlja math.h

    Vaenje korijena: sqrt(broj)#include

    Vaenje korijena: sqrt(broj)Potenciranje: pow(baza, potencija)Apsolutna vrijednost: fabs(broj)Apsolutna vrijednost: fabs(broj)

    2011/12. Uvod u programski jezik C 13

  • Duljina hipotenuzeDuljina hipotenuze Poetak

    #include

    j pj pUnesi duljinu

    stranica

    #include

    intmain(){

    stranica pravokutnika a i b

    inta,b;

    floatc;

    22 bac +=

    printf("Unesiteduljinestranicaaib:");

    scanf("%d%d",&a,&b);

    Prikai na zaslonu izraunatu duljinu

    hipotenuze

    c=sqrt(a*a+b*b);

    printf("Duljinahipotenuzeje%.2f\n",c);Kraj

    system("pause");

    return0;

    }}

    2011/12. Uvod u programski jezik C hipotenuza.c

  • Anatomija C programaAnatomija C programa math.h sadri opis matematikih funkcija (sqrt, pow, fabs, log, log10,

    #include

    j p gj p gRezultat ne mora biti cijeli broj!Matematike funkcije definirane u math.h

    #include

    intmain(){

    jrade s realnim brojevima (float i double)

    inta,b;

    floatc;sqrt(izraz ) funkcija koja vadi korijen

    printf("Unesiteduljinestranicaaib:");

    scanf("%d%d",&a,&b);

    vadi korijen izraza unutar zagrada

    c=sqrt(a*a+b*b);

    printf("Duljinahipotenuzeje%.2f\n",c);

    system("pause");

    return0;

    }%.2f ispisuje realni broj (s decimalama),

    }

    2011/12. Uvod u programski jezik C 15

    Ne zaboravite toku-zarez na kraju svakog retka zaokruen na 2 decimale.Ako napiemo samo %f, ispisati e realni broj na defaultnih 6 decimala.

  • Osnovni tipovi podatakaOsnovni tipovi podatakap pp p

    Tip podatka Uobiajeni raspon vrijednostip p j p j

    char 0 255

    int 2.147.483.648 +2.147.483.647

    fl t 1 10 37 1 1037

    ASCII kodovi znakova

    float 11037 11037

    double 110308 110308

    S t t t fi ik lii i Sve trenutno poznate fizike veliine izraene u metrima: od promjera neutrona (2*10-23)

    Cijeli brojevi u intervalu od cca minus do plus dvije milijarde.Npr. broj stanovnika neke

    do promjera vidljivog svemira (1*1026)p j

    drave (ali ne i itavog svijeta!)

    2011/12. Programiranje 2 16

    Ako trebamo iskazati brojeve manje od 10-37 ili vee od 1037

  • Kvadratna jednadba v0.1Kvadratna jednadba v0.1jjKvadratna jednadba je izraz Poetak

    Unesi koeficijente je

Search related