La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Kako programirati u jeziku C ?

Presentazioni simili


Presentazione sul tema: "Kako programirati u jeziku C ?"— Transcript della presentazione:

1 Kako programirati u jeziku C ?
1.1. Uvod u C Kako programirati u jeziku C ? Programiranje u programskom jeziku C Program u programskom jeziku C čini određen broj funkcija Jedna od funkcija obavezno se naziva main - glavna funkcija izvršavanje C programa = poziv i izvršavanje funkcije main() Primjer: #include <stdio.h> main() { printf(“Primjer programa”); }

2 1.1. Uvod u C Kako programirati u jeziku C? #include <stdio.h>
Pretprocesorska direktiva Svaki program mora da ima main funkciju main() Zaglavlje funkcije #include <stdio.h> main() { printf(“Primjer”); } { Početak bloka printf(“Primjer”); tijelo funkcije (blok iskaza) ; Separator iskaza } Kraj bloka

3 1.1. Uvod u C PRETPROCESORSKA direktiva? #include <stdio.h>
main() { printf(“Primjer”); } #include <stdio.h> Pretprocesorska direktiva Obrađuje se prije prevođenja programa Obavezno počinje sa # #include – najčešće korištena direktiva Uključuje u program sadržaj datoteke koja se navodi kao parametar #include <ime> ili #include ”ime” #define – često korištena direktiva Definiše simboličke konstante i makroe #define IME vrijednost #define PI #define EPS Standardne biblioteke <stdio.h> funkcije za standardni I/O <math.h> matematičke funkcije ...

4 1.1. Uvod u C PRETPROCESORSKA direktiva? Primjer:
#include <stdio.h> Pretprocesorska direktiva uključuje standardne funkcije za ulaz/izlaz podataka Primjer: #include <stdio.h> #define PI #define EPS 1e-6 #define MAXINT 32767 #define K_OCT 071 #define K_HEX 0x41 main() { printf( ”%d”, MAXINT ); printf( ”%8.5f\n”, PI ); printf( ”%10.8f\n”, EPS ); printf( ”%d %d”,K_OCT, K_HEX ); } #define PI Pretprocesorska direktiva definiše simboličku konstantu PI #define EPS 1e-6 Pretprocesorska direktiva definiše simboličku konstantu EPS = #define MAXINT 32767 Pretprocesorska direktiva definiše cjelobrojnu konstantu MAXINT = 32767 #define K_OCT 071 definiše oktalnu konstantu K_OCT = 071 Oktalna konstanta započinje nulom 071 = 7*8 + 1*1 = = 57 dec #define K_HEX 0x41 definiše heksadecimalnu konstantu K_HEX = 0x41 Heksadecimalna konstanta počinje sa 0x 0x41 = 4*16 + 1*1 = = 65 dec printf( ”%d”, MAXINT ); printf( ”%8.5f\n”, PI ); printf( ”%10.8f\n”, EPS ); printf( ”%d %d”,K_OCT, K_HEX ); Glavni program (funkcija main) ispisuje vrijednosti definisanih konstanti na ekran Za ispis na ekran koristi se standardna funkcija printf()

5 PRETPROCESORSKA direktiva?
1.1. Uvod u C PRETPROCESORSKA direktiva? Primjer: #include <stdio.h> #define PI #define EPS 1e-6 #define MAXINT 32767 #define K_OCT 071 #define K_HEX 0x41 main() { printf( ”%d”, MAXINT ); printf( ”%8.5f\n”, PI ); printf( ”%10.8f\n”, EPS ); printf( ”%d %d”,K_OCT, K_HEX ); } printf( ”%8.5f\n”, PI ); _ printf( ”%d”, MAXINT ); printf( ”%d”, MAXINT ); 32767_ printf( ”%10.8f\n”, EPS ); printf( ”%8.5f\n”, PI ); printf( ”%d %d”,K_OCT, K_HEX ); 57_65_ printf( ”%10.8f\n”, EPS ); printf( ”%d %d”,K_OCT, K_HEX );

6 1.1. Uvod u C Standardna funkcija za izlaz (ispis) na ekran printf ???
printf( ”konverzioni string” , lista_argumenata ) ”konverzioni string” lista_argumenata Kontrolni (konverzioni) niz određuje način na koji se vrši ispis Štampa se sve što se nađe unutar ” ” sve dok se ne dođe do znaka % Kad se dođe do znaka % gleda se sljedeći znak (grupa znakova) koji se naziva konverzioni karakter Konverzioni karakter definiše kako će se ispisati odgovarajući podatak iz liste argumenata Mora biti onoliko znakova % u cijelom stringu koliko ima i argumenata u listi Određuje šta treba da se ispiše (koji podaci treba da se ispišu) Argumenti se odvajaju zapetama Argumenti mogu da budu promjenljive, konstante, izrazi

7 1.1. Uvod u C Konverzioni karakteri Opšti oblik:
%c - znak %s - string %d - integer (cijeli broj) %sd – short integer %ld – long integer %f - float %lf - double %o - oktalni podatak %x - heksadecimalni podatak %% - ispis znaka % Opšti oblik: Ukupan broj mjesta za ispis podatka n – najmanje n znakova (vodeće bjeline) 0n – najmanje n znakova (vodeće nule) [širina] % [širina] [.preciznost] tip Ukupan broj mjesta za ispis decimala .d – najviše d decimala [.preciznost]

8 Konverzioni karakteri ?
1.1. Uvod u C Konverzioni karakteri ? MEMORIJA int var=65; Znakovi: int var=65; printf( ”Znakovi:\n”); Primjer: #include <stdio.h> main() { int var=65; printf( ”Znakovi:\n”); printf( ”%2c\n”, ’A’); printf( ”%4c\n%6c\n”, var, ’B’); printf( ”%8c\n”, var+1); printf( ”%3d\n”, ’A’); printf( ”%03d”, ’A’); } printf( ”Znakovi:\n”); printf( ”%2c\n”, ’A’); .A printf( ”%2c\n”, ’A’); printf( ”%4c\n%6c\n”, var, ’B’); ...A .....B printf( ”%4c\n%6c\n”, var, ’B’); printf( ”%8c\n”, var+1); B printf( ”%8c\n”, var+1); printf( ”%3d\n”, ’A’); .65 printf( ”%3d\n”, ’A’); printf( ”%03d”, ’A’); 065 printf( ”%03d”, ’A’);

9 1.1. Uvod u C

10 Specijalne znakovne konstante?
1.1. Uvod u C Specijalne znakovne konstante? Specijalne znakovne konstante \n - novi red \b - jedno mjesto unazad \a - zvučni signal (beeper) \r – vraćanje na početak reda \t – tabulator udesno \’ – ispisuje znak ’ \” – ispisuje znak ” \\ – ispisuje znak \ \ddd – ispisuje znak sa kodom ddd oktalno \xdd – ispisuje znak sa kodom dd heksadecimalno

11 BROJ BAJTOVA ZA CJELOBROJNE PODATKE ZAVISI OD OPERATIVNOG SISTEMA
1.1. Uvod u C TIPOVI ??? Prosti tipovi podataka BROJ BAJTOVA ZA CJELOBROJNE PODATKE ZAVISI OD OPERATIVNOG SISTEMA Znakovni char (1 bajt) Cjelobrojni short (1 bajt) int (2 bajta) long (4 bajta) Realni float (4 bajta) double (8 bajtova) Kvalifikatori za cjelobrojne podatke signed - označeni ako se ne navede podrazumijeva se signed short ( ) signed int ( ) unsigned - neoznačeni unsigned short (0..255) unsigned int ( )

12 1.1. Uvod u C Promjenljive (varijable) PROMJENLJIVE ???
Promjenljiva je simboličko ime za neku memorijsku lokaciju Svaka promjenljiva mora da ima neko jedinstveno ime ime se formira od slova, cifara i znaka _ prvi znak ne može biti cifra maksimalno 31 znak razlikuju se velika i mala slova MEMORIJA Broj-1 123A broj BROJ podatak_1

13 1.1. Uvod u C PROMJENLJIVE ??? Promjenljiva mora biti tačno određenog tipa Tip promjenljive ne može se mijenjati tokom izvršavanja programa promjenljiva može biti nekog prostog ili složenog tipa Može da se mijenja samo vrijednost (sadržaj memorijske lokacije) zato se i zove promjenljiva (varijabla) MEMORIJA A x Z G a ABC 2.35 13 char 13 6 -657 ABC 2.35 D int

14 1.1. Uvod u C Opšti oblik definicije promjenljive: PROMJENLJIVE ???
Svaka promjenljiva mora biti definisana!!! Prevodiocu (kompajleru) mora se ukazati na to da će se u programu koristiti neka promjenljiva, kako bi on mogao da rezerviše potreban prostor u memoriji Opšti oblik definicije promjenljive: tip imepromjenljive [=vrijednost] [=vrijednost] Npr. int i,j,n=10; float a, e=2.71; char znak=’+’,c; Početna vrijednost početna vrijednost ne mora se dodjeljivati [ ] se koriste da bi se naglasilo da nije obavezno

15 1.1. Uvod u C PROMJENLJIVE ??? Primjer: #include <stdio.h> main() { int i=9,j; float a,b; j=i/2; a=i/2.0; b=a*2.0/j; printf( ”i=%d\n”, i ); printf( ”j=%d\n”, j ); printf( ”a=%6.2f\n”, a ); printf( ”b=%6.2f\n”, b ); } b MEMORIJA 2.25 int i=9,j; float a,b; int i=9,j; float a,b; j=i/2; a j=i/2; a=i/2.0; 4.5 a=i/2.0; b=a*2.0/j; j 4 i 9

16 1.1. Uvod u C PROMJENLJIVE ??? i=9 j=4 a= 4.50 b= 2.25 Primjer:
MEMORIJA j a b i 9 4 4.5 2.25 Primjer: #include <stdio.h> main() { int i=9,j; float a,b; j=i/2; a=i/2.0; b=a*2.0/j; printf( ”i=%d\n”, i ); printf( ”j=%d\n”, j ); printf( ”a=%6.2f\n”, a ); printf( ”b=%6.2f\n”, b ); } b=a*2.0/j; printf( ”i=%d\n”, i ); i=9 printf( ”i=%d\n”, i ); printf( ”j=%d\n”, j ); j=4 printf( ”j=%d\n”, j ); printf( ”a=%6.2f\n”, a ); a= 4.50 printf( ”a=%6.2f\n”, a ); printf( ”b=%6.2f\n”, b ); b= 2.25

17 1.1. Uvod u C Standardna funkcija za ulaz (čitanje) podataka
ULAZ PODATAKA ??? Standardna funkcija za ulaz (čitanje) podataka scanf( ”konverzioni string” , lista_argumenata ) ”konverzioni string” lista_argumenata Kontrolni (konverzioni) niz određuje način na koji se vrši unos podataka Sličan konverzionom nizu kod printf() Čine ga konverzioni karakteri koji definišu način unosa podataka Određuje šta treba da se unese (koji podaci treba da se učitaju) Argumenti se odvajaju zapetama Argumenti su pokazivači na memorijske lokacije u koje se smještaju učitani podaci Ako se učitava promjenljiva x tada je argument oblika &x

18 1.1. Uvod u C++ ULAZ PODATAKA ??? 0000 0000 broj 0000 0110 Primjer:
#include <stdio.h> main() { int broj; printf( ”Unesite cijeli broj:\n” ); scanf( ”%d”, &broj ); printf( ”Unijeli ste %d\n”, broj ); } MEMORIJA Unijeli ste 6 broj Unesite cijeli broj: 6

19 1.1. Uvod u C Aritmetički operatori OPERATORI ???
dodjela vrijednosti (=) a=3; c=2; sabiranje (+) a=3; c=a+2;  c  5 oduzimanje (-) b=3; c=b-2;  c  1 množenje (*) a=2; b=3; c=a*b;  c  6 dijeljenje (/) i=9; k=4; c=i/k;  c  2 p=9.0; q=4.0; c=p/q;  c  2.25 ostatak cjelobrojnog dijeljenja (%) c=9%4;  c  1 p=6%8;  p  6

20 1.1. Uvod u C Aritmetički operatori (nastavak) OPERATORI ???
Operator uvećavanja za jedan (inkrement) (++) Operator umanjivanja za jedan (dekrement) (--) prefiksni oblik postfiksni oblik ++prom prom++ --prom prom-- Npr. i=i+1  ++i  i++ i=i-1  --i  i-- Npr. i = 2; j = (++i)+5; i  i+1 = 2+1 = 3 j  i+5 = 3+5 = 8 Npr. i = 2; j = (i++)+5; j  i+5 = 2+5 = 7 i  i+1 = 2+1 = 3

21 1.1. Uvod u C Aritmetički operatori (nastavak) OPERATORI ???
Složeni operatori dodjeljivanja x=x+y  x+=y Npr. x+=3  x=x+3 x=x-y  x-=y Npr. x-=3  x=x-3 x=x*y  x*=y Npr. x*=3  x=x*3 x=x/y  x/=y Npr. x/=3  x=x/3 x=x%y  x%=y Npr. x%=3  x=x%3

22 1.1. Uvod u C Relacioni operatori OPERATORI ??? > veće < manje
>= veće ili jednako <= manje ili jednako == jednako != različito Npr. i = 3<5 i = 3>5 i = 3==5 i = 3!=5 i = 3=5  i  1 (istina)  i  0 (laž)  greška

23 1.1. Uvod u C Logički operatori OPERATORI ??? && - AND = logičko I
|| - OR = logičko ILI ! - NOT = logičko NE

24 1.1. Uvod u C Bitski operatori (operacije nad bitovima) OPERATORI ???
& - bitsko AND | - bitsko OR ~ - bitsko NOT (prvi komplement) ^ - bitsko XOR (ekskluzivno ILI) << - pomjeranje (šiftovanje) ulijevo >> - pomjeranje (šiftovanje) udesno Složeni bit operatori x=x&y  x&=y Npr. x&=3  x=x&3 x=x|y  x|=y Npr. x|=5  x=x|5 x=x<<y  x<<=y Npr. x<<=1  x=x<<1 x=x>>y  x>>=y Npr. x>>=3  x=x>>3

25 1.1. Uvod u C & BITSKI operatori ??? & - bitsko AND cifra 0000 1001
MEMORIJA & - bitsko AND cifra Primjer: #include <stdio.h> /* 9 ASCII CODE JE 57 DECIMALNO*/ main() { char c=’9’; short cifra; cifra = c & 0x0F; printf( ”%d\n”, cifra ); } c c 0x0F & 9

26 1.1. Uvod u C | BITSKI operatori ??? | - bitsko OR c 0011 1001
MEMORIJA | - bitsko OR c Primjer: #include <stdio.h> main() { short cifra=9; char c; c = cifra | 0x30; printf( ”%c\n”, c ); } cifra cifra 0x30 | 9

27 << - shift lijevo
1.1. Uvod u C BITSKI operatori ??? MEMORIJA << - shift lijevo y Primjer: #include <stdio.h> main() { short x=3,y; y = x<<1; printf( ”%d\n”, y ); } x x <<1 6

28 << - shift lijevo
1.1. Uvod u C BITSKI operatori ??? MEMORIJA << - shift lijevo y Primjer: #include <stdio.h> main() { short x=3,y; y = x<<4; printf( ”%d\n”, y ); } x x <<4 48

29 1.1. Uvod u C BITSKI operatori ??? >>1 >> - shift desno y
MEMORIJA >> - shift desno y Primjer: #include <stdio.h> main() { short x=12,y; y = x>>1; printf( ”%d\n”, y ); } x x >>1 6

30 1.1. Uvod u C Uslovni operator (?:) USLOVNI OPERATOR ? Opšti oblik:
uslov ? izraz1 : izraz2 ISTINA LAŽ uslov izraz1 izraz2 Npr. y = 5; x = (y>0) ? 100 : 200; x  100 Npr. y = -2; x = (y>0) ? 100 : 200; x  200

31 1.1. Uvod u C MALO VJEŽBE... Primjer: Napisati program koji za proizvoljnu vrijednost poluprečnika kruga računa i ispisuje njegov obim i površinu. POČETAK r o = 2*r*PI p= r*r*PI o p KRAJ Dijagram toka r=3 Obim : Povrsina : Program #include <stdio.h> #define PI main() { float r,o,p; printf(“Unesite poluprecnik kruga\n”); scanf(“%f”,&r); o = 2*r*PI; p = r*r*PI; printf(“Obim kruga je %4.2f”,o); getchar(); printf(“\nPovrsina kruga je %4.2f”,p); }


Scaricare ppt "Kako programirati u jeziku C ?"

Presentazioni simili


Annunci Google