Programiranje 2 (550)
Osnove programiranja u C-u 1
Programiranje 2
Osnove programiranja u C-u(osnovna semantika)
Programiranje 2 2
Sadržaj� Kratka povijest C-a i zašto ga koristiti� Način pisanja programa� Jednostavni C program� Prevođenje i povezivanje programa� Komentari� Imena varijabli i funkcija� Deklaracija varijabli
Programiranje 2 (550)
Osnove programiranja u C-u 2
Katka povijest C-a i zašto ga koristiti� Stvorio ga je Dennis Ritchie u Bell laboratorijima 1972.
godine s ciljem razvoja UNIX operacijskog sustava.� Pokazao se kao moćan i fleksibilan jezik pa se ubrzo prešao
u širu upotrebu.� Kako bi se spriječio razvoj brojnih verzija 1983. godine
Američki nacionalni institut za standarde (American National Standard Institute - ANSI) postavlja standardne definicije C-a koji se naziva ANSI C i trebao bi biti neovisan o operacijskom sustavu i programskoj okolini.
� C se može koristiti za razvoj operacijskih sustava, programa za obradu teksta, grafiku, tablice, prevodioce za druge jezike, …
� Portabilan (ANSI C) i modularan
Programiranje 2 3
Korištenje programskih jezika 2011-e
Programiranje 2 4
Programiranje 2 (550)
Osnove programiranja u C-u 3
Način pisanja programa1. Shvatiti problem/zadatak koji treba programirati2. Razmisliti na koji način riješiti problem
3. Napisati program 4. Pokrenuti program
� Ispraviti leksičke, sintaksne, semantičke i logičke greške
Programiranje 2 5
Programiranje 2 6
Jednostavni C program
#include <stdio.h>void main(){
printf(“Zdravo svima!!!\n\n”); // naredba za ispis teksta na ekran
}
Programiranje 2 (550)
Osnove programiranja u C-u 4
Programiranje 2 7
Pravila� Za pisanje C programa koriste se i mala i velika slova.
� C ih razlikuje pa treba voditi računa što se koristi.
#include <stdio.h>
void main(){
printf(“Zdravo svima!!!\n”);}
#include <stdio.h>
void Main(){
printf(“Zdravo svima!!!\n”);}
Programiranje 2 8
#include� #include je predprocesorska direktiva koja označava da
prevodilac treba dodati tzv. “header” datoteku u program. “header” datoteka sadrži deklaracije funkcija (potprograma) iz standardne biblioteke C-jezika.
#include<stdio.h>
void main()
{
printf(''Zdravo svima!!!\n\n'');
}
Programiranje 2 (550)
Osnove programiranja u C-u 5
Programiranje 2 9
#include� Sintaksa: #include<ime_datoteke>
#include”ime_datoteke”
� stdio.h –sadrži definicije funkcija za unos i ispis podataka
Programiranje 2 10
main()� C program se sastoji od niza potprograma koji se nazivaju funkcije.
� main() – osnovna funkcija C programa, neophodna za njegovo izvršavanje� void označava tip funkcije i znači da funkcija ne vrača rezultat.� Izvršavanje C programa kreće od main ().� Može postojati samo JEDAN main() u programu.
� Sintaksa main-a u najjednostavnijem obliku:
void main() // u () se mogu nalaziti argumenti f-je main{ // početak programa
//KOD PROGRAMA} // kraj programa
Programiranje 2 (550)
Osnove programiranja u C-u 6
Programiranje 2 11
Funkcija printf()� printf() – se koristi za formatirani ispis teksta i varijabli
na ekranu.� Sintaksa za ispis teksta:
printf(“xxxxxxxxxxxxxx”);� Unutar “” za formatiranje ispisa koriste se tzv. “escape”
znakovi:� \n – označava prelazak kursora u novi red.
Programiranje 2 12
;� ; - označava kraj svake naredbe u C-u i OBAVEZNO se
mora navesti.
� Korištenje samo ; u jednoj linije je dozvoljeno i ne radi ništa u programu, a naziva se “null” naredba.
#include <stdio.h>
void main(){
printf(“Zdravo svima!!!\n”)}
Programiranje 2 (550)
Osnove programiranja u C-u 7
Programiranje 2 13
Zaključak� C kod se sastoji od niza naredbi pri čemu svaka naredba opisuje
izvršenje nekog zadatka i završava s ;� Pravi razliku između malih i velikih slova.
� Sve ključne riječi se pišu malim slovima� Naredbe završavaju sa ;� #include – uključuje “header” datoteke iz standardne biblioteke
C jezika. � Izvršavanje programa kreće od main().� { - označava početak programskog bloka.� } – označava kraj programskog bloka.� Naredba printf() se koristi za ispis teksta na ekran
� niz znakova, koji se želi ispisati na ekran se piše u “”;� \n – prelazak kursora u novi red.
Programiranje 2 14
Primjeri jednostavnih programa� Primjer 1:
#include<stdio.h>void main(){
printf(“Zdravo svima!\n”);printf(“Programiranje u C-u je lako!\n”);
}
Programiranje 2 (550)
Osnove programiranja u C-u 8
Programiranje 2 15
Primjeri jednostavnih programa� Primjer 2:
#include<stdio.h>void main(){
printf(“Zdravo svima! ”);printf(“Programiranje u C-u je lako!\n”);
}
Programiranje 2 16
Primjeri jednostavnih programa� Primjer 3:
#include<stdio.h>void main(){
printf(“Zdravo! …\n…Ovo je stvarno jednostavno!\n”);}
Programiranje 2 (550)
Osnove programiranja u C-u 9
Programiranje 2 17
Prevođenje i povezivanje� Prevođenje (“compiling”) je postupak pri kojem se izvorni
kod nekog programa u potpunosti prevodi u objektni program i kao takav sprema u objektnu datoteku (*.obj DOS i Win, *.o UNIX) -> PREVODIOC.
� Objektni program – skup binarno kodiranih naredbi koje izvršava procesor.
� Prevođenje se odvija u dvije faze:1. prevođenje C programa u assembler;2. prevođenje assemblerskog koda u strojni jezik tj. u
operacijski kod procesora.� Povezivanje (“linking”) objektnoj datoteci dodaje podatke
za vezu s operacijskim sustavom i stvara izvršni program (*.exe DOS i Win)
Programiranje 2 18
Prevođenje i povezivanje
*.c
*.obj
*.exe
Povezivanje
Da
Da
greška?
greška?
*.h
Prevoñenje(leksičke, sintaktičke
i semantičke pogreške,te 1. i 2. faza)
Programiranje 2 (550)
Osnove programiranja u C-u 10
Veza C-a i operacijskog koda procesora� Viši programski jezik (C) :
x = x + 1 ili x++� Asseembler:
inc ax� heksadecimalni kod naredbe inc ax:
470� binarni kod naredbe inc ax
01000000
Programiranje 2 19
Programiranje 2 20
Komentari� Koriste se za generalni opis programa (zadatak, autor,
datum,…), opis složenih dijelova i varijabli.� Komentari se ne prevode pri prevođenju, već se tretiraju
kao prazno mjesto.� Postoje dvije vrste komentara:
� Komentar cijelog bloka:/* _ _ _ _ _
_ _ _ _ _ _ _ _ _ _ */
� Komentar jedne linije: // _ _ _ _ _
Programiranje 2 (550)
Osnove programiranja u C-u 11
Programiranje 2 21
Primjer komentara/* Primjer komentara
Ovaj program ispisuje 2 poruke na ekran */#include<stdio.h>
main(){
// ISPISprintf(“Zdravo svima! ”); // Prva porukaprintf(“Programiranje u C-u je lako!\n”);
}
Varijable i konstante� U C se koriste dva načina pohrane podataka koji se koriste
u programu:� varijable – koriste se za one vrijednosti koje se
mijenjaju tijekom izvršavanja programa� konstante - koriste se za one vrijednosti čija se
vrijednost ne mijenja tijekom izvršavanja programa� Radna memorija računala se između ostalog koristi i za
pohranu svih podataka kada se pokrene program.� Organizirana je sekvencijalno� Svaki bajt ima jedinstvenu adresu
� Varijabla – imenovana lokacija za pohranu podataka u radnu memoriju računala
Programiranje 2 22
Programiranje 2 (550)
Osnove programiranja u C-u 12
Programiranje 2 23
Nazivi varijabli i funkcija� Imena funkcija i varijabli u C-u moraju započeti s:
� malim ili velikim slovom� _
� Nakon toga može doći bilo koja kombinacija slova, _ ili broja.� Svi ostali znakovi se NE smiju koristiti.� Ne smiju se koristiti ni rezervirane riječi:
� Za većinu C prevodioca maks. se može koristit 31 znak za nazive varijabli.
ada char else for long sizeof unionasm continue entry fortran pascal static unsignedauto default enum goto register struct void
break do extern if return switch whilecase double float int short typedef
Programiranje 2 24
Nazivi varijabli i funkcija� Za imenovanje varijabli se često koriste različiti pristupi npr:
� ime_studenta� ImeStudenta
� Što koristiti kod imenovanja varijabli:� Opisna imena varijabli� Usvojiti jedan pristup imenovanju i koristit ga u cijelom
programu
� Što izbjegavati kod imenovanja varijabli:� korištenje _ kao prvog znaka imena varijable� ne koristiti sva velika slova za ime varijable jer se to
najčešće koristi za konstante
Programiranje 2 (550)
Osnove programiranja u C-u 13
Programiranje 2 25
Primjeri naziva varijabli� sum Sum - ista ili različita varijabla?
� Koji su ispravni nazivi varijabli?
zbroj izlazna_vrijednostDo AVar7 7Var_var7 _broj_potezachar broj#potezabroj% broj?3×
×
×
×
×
���
�
��
�
Programiranje 2 26
O varijablama� Varijable moraju biti deklarirane prije nego će se koristiti
u programu.� Deklariraju se nakon main() {� Format deklariranja varijabli:
tip_podataka1 var1;tip_podataka2 var2, var3, var4;
Programiranje 2 (550)
Osnove programiranja u C-u 14
Programiranje 2 27
O varijablama#include< >
void main(){
deklaracija_SVIH_varijabli;
kod_programa;}
Programiranje 2 28
Inicijalizacija varijabli� Deklaracija varijable označava prevodiocu (“compiler”) tip i
ime varijable, tako da se kod pokretanja programa može rezervirati određeno mjesto u memoriji.
� Obavezno inicijalizirati (postavljanje početne vrijednosti) sve varijable jer je inače njihova vrijednost nepoznata.
� Sintaksa:� tip_podataka var1;
var1 = xx;
� tip_podataka var1 = xx;
� tip_podataka var1 = xx, var2 = yy, var3 = zz;
Programiranje 2 (550)
Osnove programiranja u C-u 15
Osnove programiranja u C-u
KRAJ!!!