Spremenljivke in njihov podatkovni tip
Spremenljivke in njihov podatkovni tip
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
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- Število prispevkov : 2
Join date : 14/01/2009
Age : 31
Kraj : Dijak
Permissions in this forum:
Ne, ne moreš odgovarjati na teme v tem forumu
|
|