2/8/2009
MAŠINSKI FAKULTET
SOFTVERSKO INŽENJERSTVO ‐ TIPOVI PODATAKA
Tipovi podataka | Časlav Mitrović
Programski jezik C++ je objektno orijentisani programski jezik. Zamisao objektnog programiranja je da se složeni zadatak podeli na manje delove koji se onda mogu međusobno nezavisno rešavati. Jezik je nastao osamdesetih godina 20.tog veka kao naprednija verzija C-a. Postoji više verzija prevoditelja (kompajlera) za C++, a najpoznatiji su: Dev C++; Microsoft Visual C++ i Borland C++ Builder. Osnovna struktura programa Svaki program napisan u C-u ili C++ ima svoj izgled (strukturu). U nastavku ćemo pokazati koji su elementi jednog programa napisanog u C++ programskom jeziku: #include #include using namespace std; int main() { deklaracija varijabli; naredbe programa; system ("PAUSE"); return 0; } Linije programa koje počinju s znakom # su pretprocesorske naredbe C programa prevodiocu (kompajleru) koje se izvršavaju pre kompajliranja. Prevodilac ili kompajler je zaseban program koji je "zadužen" za prevođenje naredbi programskog jezika u mašinski jezik.
Naredba #include programom, a
poziva datoteku iostream.h koja sadrži skup naredbi zaduženih za komunikaciju s
#include
cstdlib.h koja sadrži opis funkcija ulaza-izlaza za C++.
Unutar vitičastih zagrada nalaze se deklaracije varijabli (koje će kasnije biti opisane) a potom slede naredbe programa koje čine naredbe za ulaz, računanje i ispis rezultata. Naredbom using namespace std; obaveštavamo prevodioca da ćemo koristiti standardne nazive naredbi. Ta se naredba može zamijeniti i naredbom #include <stdio> na početku programa. Prva linija programa, main, definiše funkciju ili grupu zavisnih programskih naredbi. Funkcije su sastavni delovi programa u C++u te se ta glavna ili osnovna zove main. Većina programa sadrži još nekoliko dodatnih funkcija koje imaju svoje ime. Svaka naredba u programu završava sa tačka-zarezom ( ; ), osim uslovne naredbe (if-else). Naredbom system ("PAUSE"); zaustavljamo program dok ne pritisnemo neku tipku. To nam je važno prilikom izvođenja programa. Naredba return 0; najčešće stoji na kraju programa, a ustvari govori da funkcija main() ne vraća vrednost. Kada budete učili o potprogramima tada ćete više saznati što radi ova naredba. Uz program poželjno je pisati i komentar tako da onaj ko čita program može shvatiti o čemu se radi. Komentari se pišu unutar slijedećih znakova /* */ili se na početku reda upišu znakovi za dve kose crte // Naredbe programa nalaze se unutar vitičastih zagrada.
Primer1:
Primer 2:
Program računa i ispisuje zbir dva broja a=5 i b=3.
Program ispisuje pozdravnu poruku u više redova
#include
#include
#include
#include
using namespace std;
using namespace std;
int main()
int main()
{
{ int a,b,c; /*deklaracija promenljivih*/
cout << "Pozdrav";
a=5;
cout << " ";
b=3;
cout << " studentima MITa";
c=a+b; /*racunanje*/
cout << endl;
cout << c; /*ispisivanje zbira*/
system ("PAUSE");
system ("PAUSE");
return 0;
return 0;
}
}
TIPOVI PODATAKA Računaru je važno s kakvim podacima barata. Razlikujemo: Celobrojne tipove podataka (int) Realne tipovi podataka (obične (float) i dvostruke preciznosti(double)) Znakovne tipove podataka (char i string) Korisničke definisane tipove (strukture) Svaki tip podataka zauzima određenu veličinu (memoriju) u računaru i ima određeni doseg ili opseg. U tabeli na sledećem slajdu je dat prikaz vrsta podataka, veličine u bitovima koju taj podatak zauzima u memoriji računara i opseg u kojem se može nalaziti u programskom jeziku C. Osnovni tip celog broja je int. On može imati negativnu ili pozitivnu vrednost unutar prikazanih granica. Tip podatka long koristi se kada nam je za promenljivu potrebno veće područje. Tipovi podataka mogu biti predznačni signed i to znači da je u jednom bitu smeštena informacija o tome da li je broj pozitivan ili negativan. Neke promenljive ne mogu nikada poprimiti negativnu vrednost pa ih deklarišemo kao nepredznačne ili unsigned. Realni brojevi imaju decimalni deo. Zovemo ih još i floating-point (plivajući zarez) brojevima. Ime su dobili po načinu predstavljanja takvih brojeva u memoriji računara. Taj tip podatka naziva se float. Tipovi podataka double i long double su kao i float, ali i omogućavaju da se smeseti veći broj poznatih sa većom preciznošću..
Za znakovni tip podataka koristimo se sa char (što je isto kao i signed char). Ukoliko želimo da koristimo kompletan set znakova treba upotrebiti unsigned char. Kada baratamo s rečima i rečenicama možemo koristiti i tip - string (niz znakova). Često se javlja potreba da kod izvođenja programa želimo da zadržimo i sadržaj ekrana da pročitamo rezultate izvođenje programa. Za to će nam poslužiti naredba getch() koja učita jedan znak i nastavlja program, bez pritiska na tipku Enter. Često se koristi kao poslednja naredba u programu, a nalazi se u datoteci funkcija conio.h Tip podatka
Veličina u bitovima
Opseg
char
8
-128 do 127
signed char
8
-128 do127
unsigned char
8
0 do 255
short int
16
-32768 do 32767
unsigned int
16
0 do 65535
int
16
-32768 do 32767
long
32
-2147483648 do 2147483647
unsigned long
32
0 do 4294967295
float
32
3,4x10-38 do 3,4x1038
double
64
1,7x10-308 do 1,7x10308
long double
80
3,4x10-4932 do 1,1 x104932