Metamorph
Would you like to react to this message? Create an account in a few clicks or log in to continue.

Spremenljivke in njihov podatkovni tip

Metamorph :: Koda :: C++

Go down

Spremenljivke in njihov podatkovni tip Empty Spremenljivke in njihov podatkovni tip

Objavlja  ANMA Pet Jan 16, 2009 12:17 pm

Spremenljivke in njihov podatkovni tip
Rekli smo, da so spremenljivke nekakšne "škatle" oziroma prostori v spominu, ki jim damo imena, recimo "vsota" ali pa "i". Vsaka spremenljivka v jeziku C ima svoj podatkovni tip, ki določa kako se obnaša in kako velika je.
Glede na velikost smo ločili 8, 16, 32 in 64-bitne variable, povedali pa smo tudi, da si lahko izmišljujemo tudi svoje tipe.
Glede na obnašanje smo ločili nenegativna cela števila (unsigned int), cela števila (int), realna števila (float, double, [quad]). Lahko bi povedali tudi, da se char v c++ obnaša drugače kar se izpisovanja tiče, a to sem pustil za kasneje.
Spremenljivke definiramo na naslednji način:
int i;

S tem povemo, da hočemo rezervirati štiri bajte spomina, ki naj se obnašajo kot predznačeno celo število in jim bomo rekli i.

Spremenljivke uporabljamo na naslednji način:

int i = 5; // definiramo spremenljivko in jo inicializiramo (nastavimo) na vrednost 5.
i = i + 1; // vzamemo vrednost i-ja, ji prištejemo 1, in rezultat napišemo v spremenljivko na desni strani =, v tem primeru i.
// i je sedaj 6.

Povedali smo tudi, da obstajajo (v c99) standardni podatkovni tipi int64_t, uint64_t (tudi za 8, 16, 32). Ti tipi so so garantirano veliki toliko, kot pravijo, zato je njihova uporaba priporočena, kadar nismo prepričani, da bomo v int imeli dovolj prostora.

For zanka in funkcija

Rekli smo, da naš fiktivni računalnik nima množilnika, zato smo za demonstracijo smo napisali naslednjo kodo, ki nam zmnoži dve celi števili:

int zmnozi(int a, int b) {

vsota = b;
for (int i = 1; i < a; ++i) {

vsota = vsota + b;

}
return vsota;

}
int zmnozek = zmnozi(5, 6);
// zmnozek je sedaj 30

To je definicija funkcije. Vzame dva celoštevilska parametra (argumenta), to sta a in b. Vrača celo število, to je oni int na začetku vrstice.
V drugi vrstici uporabimo konstrukt, imenovan for zanka (for loop). Splošna oblika je for( inicializacija; pogoj; povečanje ) { telo }. Inicializacija v našem primeru sestoji iz "definiraj novo celoštevilsko spremenljivko i". V pogoju preverimo, če je i manjši od a, v "povečanju" pa i-ju dodamo 1. Potek izvajanja zgornje kode je takle:

nova spremenljivka zmnozek
pokliči funkcijo zmnožek z argumentoma 5 in 6

// a = 5, b = 6
vsota = b // vsota = 6

nova spremenljivka i
i = 1 // i = 1

da, i(1) je manjše od a(5), torej izvedemo telo.
vsota = vsota(6) + b(6) // vsota = 12
i = i + 1 // i = 2

da, i(2) je manjše od a(5), torej izvedemo telo.
vsota = vsota(12) + b(6) // vsota = 18
i = i + 1 // i = 3

da, i(3) je manjše od a(5), torej izvedemo telo.
vsota = vsota(18) + b(6) // vsota = 24
i = i + 1 // i = 4

da, i(4) je manjše od a(5), torej izvedemo telo.
vsota = vsota(24) + b(6) // vsota = 30
i = i + 1 // i = 5

ne, i(5) ni manjši od a(5), torej končamo zanko

vrnemo vsota, ki je trenutno 30

zmnožek = 30
ANMA
ANMA

Število prispevkov : 2
Join date : 14/01/2009
Age : 31
Kraj : Dijak

Nazaj na vrh Go down

Nazaj na vrh


Metamorph :: Koda :: C++

 
Permissions in this forum:
Ne, ne moreš odgovarjati na teme v tem forumu