Click here to load reader
View
306
Download
22
Embed Size (px)
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