tyyppi | selitys | esimerkki |
---|---|---|
int | kokonaisluku | 12 |
double | liukuluku | 4.5 |
char | merkki | 'a' |
string | merkkijono | "apina" |
bool | totuusarvo | true |
int
-tyyppisen muuttujan,
jonka nimi on a
.
int a;Tässä tapauksessa muuttuja on alustamaton, jolloin sen alkuarvona voi olla mikä tahansa ennestään muistissa oleva arvo. Ei siis voi luottaa siihen, että muuttujan arvo olisi aluksi esimerkiksi 0. Voimme kuitenkin antaa määrittelyn yhteydessä muuttujalle halutun alkuarvon näin:
int a = 5;Samalla kertaa voi määritellä useita muuttujia, kunhan niiden tyypit ovat samat. Esimerkiksi seuraava koodi määrittelee kaksi
int
-muuttujaa:
int a, b;Muuttujan tyyppi on kiinteä, eikä sitä ole mahdollista vaihtaa määrittelyn jälkeen.
int a = 2, b = 5; cout << a << " " << b << "\n"; // 2 5 a = 3; b = a+b; cout << a << " " << b << "\n"; // 3 8Jos muuttujan uusi arvo lasketaan sen vanhan arvon perusteella, voi käyttää operaattoreita
+=
, -=
, *=
, /=
, jne.
Esimerkiksi seuraavat koodit tarkoittavat samaa:
a = a+5; b = b*2;
a += 5; b *= 2;Lisäksi jos muuttujan arvo kasvaa tai vähenee yhdellä, voi käyttää operaattoreita
++
ja --
.
Esimerkiksi seuraavat koodit tarkoittavat samaa:
a++; b--;
a = a+1; b = b-1;
=
-merkillä
on itse asiassa lauseke,
jonka arvo on muuttujan uusi arvo.
Esimerkiksi seuraavassa koodissa lausekkeen
a = 3
arvo on 3,
joten koodi asettaa a
:n arvoksi 3
ja b
:n arvoksi 5.
b = 2 + (a = 3);Tämän avulla voimme asettaa yhtä aikaa monen muuttujan arvon samaksi. Esimerkiksi seuraava koodi asettaa muuttujien
a
ja b
arvoksi 1:
a = b = 1;Tässä tapauksessa tulkintana on, että muuttujien asetukset suoritetaan oikealta vasemmalle.
Operaattoreissa ++
ja --
lausekkeen arvo riippuu siitä,
kummalla puolella operaattori on.
Jos operaattori on muuttujan perässä,
lausekkeen arvo on muuttujan vanha arvo,
ja jos operaattori on muuttujan edellä,
lausekkeen arvo on muuttujan uusi arvo.
Seuraavat koodit havainnollistavat asiaa:
int a = 3; cout << a++ << "\n"; // 3
int a = 3; cout << ++a << "\n"; // 4Pilkun avulla voi yhdistää useamman lausekkeen yhdeksi lausekkeeksi, jonka arvona on viimeisen lausekkeen arvo. Esimerkiksi lausekkeen
a = 2, b = 5
arvo on 5.
swap
,
joka vaihtaa keskenään kahden muuttujan sisällön:
swap(a,b);Tämä aiheuttaa saman tuloksen kuin seuraava koodi, jossa on apumuuttuja
t
:
t = a; a = b; b = t;
const
-sanan avulla.
Esimerkiksi seuraava koodi luo vakiomuuttujan, jonka arvo on 5.
const int n = 5;Tällaisen määrittelyn hyötynä on, että kääntäjä estää muuttujan muuttamisen. Esimerkiksi seuraava koodi ei toimi, koska se yrittää muuttaa vakiomuuttujan arvoa.
const int n = 5 n = 8; // ei toimi