You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 12 Next »

Aritmeettiset operaattorit

C-kieleen kuuluvat aritmeettiset perusoperaattorit, jotka ovat seuraavat:

merkki

operaatio

esimerkki

-

vähennyslasku

x = a-3;

+

yhteenlasku

x = b+2;

*

kertolasku

x = a*b;

/

jakolasku

x = a/2;

%

jakolaskun jakojäännös

x = a % 2; // testaa onko a jaollinen kahdella vai ei

Unaarioperaattorit

merkki

operaatio

esimerkki

-=

vähennyslasku ja sijoitus

a-=3;

+=

lisäyslasku ja sijoitus

a+=3;

*=

tulo ja sijoitus

a*=3;

/=

osamäärä ja sijoitus

a/=3;

&=

modulo ja sijoitus

a%=3; // poistaa a:sta kolmen moninkerrat

--

dekrementointi eli vähennys yhdellä

x--; tai --x; (x:stä pois 1)

++

inkrementointi eli lisäys yhdellä

x++; tai ++x; (x:sään lisää 1)

  • Inkrementointi- ja dekrementointimerkit voidaan laittaa muuttujan eteen tai sen jälkeen.
  • Jos lisäys on for tai while-silmukan sisällä, tehdään ennen olevilla merkeillä testaus ennen silmukkaa ja jälkeen olevilla merkeillä silmukan suorituksen jälkeen.

Esimerkki unaarioperaattorien käytöstä

Seuraava sijoituslause

Luku = Luku+5;

voidaan kirjoittaa muotoon:

Luku += 5;

Operaatioiden sijoitus

Matemaattisia operaatioita voidaan sijoittaa kaikkiin paikkoihin mihin muuttujiakin.

Sijoituslauseessa

int x, luku1, luku2; // Esitellään muuttujat x, luku1 ja luku2
x = luku1 * luku2;   // Sijoitetaan luku1 kertaa luku2 tulos muuttujaan x

Funktion parametrilistassa

int luku1, luku2;
printf("%d + %d = %d\n", luku1, luku2, luku1+luku2);

Muuttujien alkuarvona

int a = 3;
int b = 5;
int c = a*b; // Sijoitetaan tulon a * b tulos muuttujan c arvoksi

Matemaattiset apufunktiot

Suuri osa kaikista matemaattisista toiminnoista on ohjelmakirjastoissa, kuten esimerkiksi:

toiminto

funktio

esimerkki

neliöjuuri

sqrt()

float a = sqrt(x);

potenssi

pow()

int a = sqrt(x, 3);

sini

sin()

float a = sin(x);

kosini

cos()

float a = cos(x);

tangentti

tan()

float a = tan(x);

jne

kts math.h

Nämä löytyvät headerista math.h.

  • No labels
You must log in to comment.