Osnovni tipovi podataka



Yüklə 55,72 Kb.
tarix17.10.2017
ölçüsü55,72 Kb.
#5512

OSNOVNI TIPOVI PODATAKA _____


celobrojni: realni(tačnije racionalni)

int -ceo broj(pozitivan ili negativan) float -broj sa pokretnim zarezom

char –znak(character), obično ASCII kod double-kao float , ali dvostruko vece preciznosti

specijalni:

void- ništa , za označavanje da funkcija ne vraća

enum- nabrajanje vrednost i/ili ne traži parametre

-zapravo spisak konstanti tipa int -za generičke pointere

modifikatori: kvalifikatori:

short, long- za dužinu (za celobrojni i racionalni) const-označava da se objektu ne može

Dodeljivati nova vrednost

volatile- označava da je vrednost objekta zavisna

signed , za znak (+/- za celo- od spoljnih faktora (operativni sistem,

unsigned brojne) drugi program, hardver)

Karakteristike promenljivih na tipičnom 16-bitnom računaru

t i p

š i r i n a opseg vrednosti




c h a r

8

sa ili bez znaka

u n s i g n e d c h a r


8

0 .. 255

s i g n e d c h a r

8

-128 .. 127

s h o r t i n t

8

-128 .. 127

u n s i g n e d s h o r t i n t

8

0 .. 255

s i g n e d s h o r t i n t

8

-128 .. 127

i n t

16

-32768 .. 32767

u n s i g n e d i n t

16

0 .. 65535

s i g n e d i n t

16

-32768 .. 32767

l o n g i n t

32

-2147483648 .. 2147483647

u n s i g n e d l o n g i n t

32

0 .. 4294967295

s i g n e d l o n g i n t

32

-2147483648 .. 2147483647

f l o a t

32

tačnost oko 6 cifara

d o u b l e

64

tačnost oko 12 cifara

l o n g d o u b l e

128

tačnost oko 24 cifara

SLOŽENI TIPOVI PODATAKA typedef naziv_tipa novo_ime ; struct ime union ime { { spisak deklaracija spisak deklaracija } } deklaracija člana : deklaracija-promenljive deklaracija-promenljive : konstantni-izraz S T R U K T U R A P R O G R A M A gradivni elementi programa:

Blok - Najmanja moguća programska celina. Počinje i završava se vitičastom zagradom.

Spis -Osnovna gradivna jedinica u kojoj se potpuno kontroliše koji su objekti “javni”, a koji”skriveni”

Funkcija -Osnovni gradivni elementi programa.Jedino područje postojanja oznaka(label) naredbi.

Prototip -Deklaracija funkcija i tipova njenih argumenata

Program –Kolekcija svih(izvornih) spisa od kojih se stvara izvršna celina.

tip ime ( deklaracije_parametara ) ; /* prototip-deklaracija funkcije – obično na početku spisa */ deklaracije promenljivih van funkcija /* identifikatori čiji je doseg spis ili program */ tip ime (deklaracije_parametara ) /* funkcija-definicija, parametri su lokalni za funkciju / { /* -samo ime funkcije je globalni identifikator */ deklaracije /* identifikatori – lokalni za funkciju, ali globalni za ugnježdeni blok / naredbe { /* ugnježdeni blok / deklaracije /* identifikatori – lokalni samo za ovaj blok / naredbe /* svi identifikatori koji su lokalni za funkciju globalni su za ovaj blok */ }

naredbe /* identifikatori iz ugnježdenog bloka više ne postoje */ } I M E N A I K L A S E S K L A D I Š T E N J A identifikatori: Identifikator-Ime koje se uvodi u program Doseg(scope) - Područje komejeidentifikator deklaracijom. zadatog značenja vidljiv.Počinje od mesta deklaracije.Završava na mestu Objekt -Promenljiva ili funkcija.Za završetka onog gradivnog elementa objekt se rezerviše prostor. programa u kome je deklarisan. Deklaracija -Odredjuje značenja imena Globalni -Doseg im je veći od jednog bloka (identifikatora) u programu. ili jedne funkcije. Definicija -Deklaracija koja rezerviše prostor.U celom dosegu Lokalni -Doseg im je smo jedan blok ili jedna identifikatora može postojati funkcija. samo jedna definicija. klase skladištenja objekata: auto - Lokalna promenljiva koja postoji extern – Doseg globalnog objekta samo na steku i samo unutar bloka je ceo program. u kome je definisana. Dobija eksterno povezi register - Lokalna promenljiva koja treba da vanje. Označava da je defini postoji samo u registru procesora. cija je u drugom spisu. Svi static - Lokalna promenljiva ne gubi objekti definisani van vrednost po završetku bloka.Doseg funkcija kojima nije zadata globalnog objekta se ograničava na klasa static dobijaju klasu spis – dobija interno povezivanje. extern kao podrazumevanu. P R E T P R O C E S O R



#define ime niz_za_zamenu

#define ime( lista_parametara) niz_za_zamenu

#undef ime

#if, #elif konstantni izraz

#ifdef, #ifndef ime

#endif

#line broj[ “ime spisa” ]

#error tekst

#pragma tekst

#include

#include “ime_spisa “


O P E R A T O R I – prioriteti i asocijativnost

Operatori najvišeg prioritea su na vrhu. Simbol Opis rada ili naziv Asocijativnost

() poziv funkcije s leva na desno

[ ] indeksiranje s leva na desno

- > indirektni izbor stavke s leva na desno

. direktni izbor stavke s leva na desno






++ -- Increment/ decrement

sizeof Size in bytes s desna na levo

(type) Type cast [npr. (float) i] s desna na levo

! Logical NOT s desna na levo

~ Bitwise NOT s desna na levo

- Aritmetička negacija s desna na levo

+ Unarni plus-nema efekta s desna na levo

& Address s desna na levo

* Na adresi, indirektan pristup s desna na levo





* / % Množenje,deljenje,ostatak s leva na desno __________________________________________________________________________________________ + - Sabiranje,oduzimanje s leva na desno

__________________________________________________________________________________________ << >> Levi shift, desni shift s leva na desno

_________________________________________________________________________________________

< <= > >= Poredjenje s leva na desno

________________________________________________________________________________________

== != jednakost, nejednakost s leva na desno

________________________________________________________________________________________

& Bitwise AND s leva na desno

________________________________________________________________________________________

^ Bitwise exclusive OR s leva na desno

________________________________________________________________________________________

| Bitwise OR s leva na desno

________________________________________________________________________________________

&& Logical AND s leva na desno

________________________________________________________________________________________

|| Logical OR s leva na desno

________________________________________________________________________________________

? : Conditional s desna na levo

________________________________________________________________________________________

= Dodeljivanje s desna na levo

*=, /=, Dodeljivanje sa

%=, +=, računanjem

-=, <<=,


>>=, sa bit po bit

&=, ^=, operacijama

|=

________________________________________________________________________________________


, izračunavanje u sekvenci s leva na desno



K O N V E R Z I O N E S P E C I F I K A C I J E printf %[ flags ] [ width ] . [precision] [h | l | L ] type width : -najmanja dužina izlaznog polja precision : -broj decimala (f,e,E,g,G) najveća dužina polja (s) , najmanji broj cifara( d,i,x,X,u,o)

* uzima vrednost tekućeg argumenta za width ili precision (zatim prvi sledeći postaje tekući) h,l,L : short,long, long double respektivno



flags:

, + - ‘ ‘(space) , + ispred pozitivnog broja - poravnanje na levu ivicu



o broj će imati vodeće nule # alternativni ispis ; za o broj će počinjati nulom ; za x,X broj će počinjati sa 0x ili 0X; za f, e, E uvek će imati decimalnu tačku ; za g,G neće biti brisane nule sa desne strane type: d,i - decimalni(signed) u,o - decimalni,oktalni (unsigned)

x,X - heksadecimalni (unsigned) f - oblik: [-]mmm.ddd – bez eksponenta e,E -oblik: [-]m.ddde[znak]xx ili E[znak]xx g,G – f ili e (odnosno E ) – odabira se kraći ispis c , s – jedan znak , string p - vrednost pointera(adrese) obično se izdaje kao za x n - broj znakova izdatih do ovog znaka biće upisan kao objekat čija je adresa argument scanf % [*] [width] [h | l | L ] type * samo prepoznavanje , bez dodeljivanja width najveća dužina polja za prepoznavanje type:

d - decimalni(signed) i - ceo broj

u,o,x - decimalni,oktalni, heksadecimalni (unsigned) e,f,g - oblik: [-]m.ddd[e[znak]xx ili E[znak]xx] c , s – jedan znak , string p - vrednost pointera(adrese) ( kao za printf) n - broj unetih znakova(kao za printf) ______________________________________________________________________________________ ASCII ‘\a’ Alert (bell) 0x07 ‘\b’ Backspace 0x08 ‘\f’ Form feed 0x0C ‘\n’ Newline 0x0A

‘\r’ Carriage return 0x0D

‘\t’ Horizontal tab 0x09 ‘\v’ Vertical tab 0x0B

‘\\’ Backslash 0x5C

‘\’’ Single quotation mark 0x2C

‘\"’ Double quotation mark 0x22

‘\?’ Question mark 0x3F

‘\ooo’ ASCII character in octal notation ‘\xhh’ ASCII character in hex notation 0xhh



____________________________________________________________________________________ break -Koristi se unutar strukture: goto oznaka; -Skače na naredbu koja nosi while, for, do-while, switch petlje navedenu oznaku . Vrši rezanje strukture tako što skače Oznaka se može nalaziti i pre na prvu naredbu van strukture. oznaka:naredba i posle goto naredbe, ali samo unutar iste funkcije; continue -Forsira početak sledećeg ciklusa return izraz Prekida izvršavanje funkcije i petlje.Koristi se unutar petlji: while,for,do-while vraća vrednost pozivajućoj funkciji.
Yüklə 55,72 Kb.

Dostları ilə paylaş:




Verilənlər bazası müəlliflik hüququ ilə müdafiə olunur ©genderi.org 2024
rəhbərliyinə müraciət

    Ana səhifə