Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Oppiskele Kertolasku, Jakolasku ja Jakojäännös | Operaattorit
C:n Perusteet

bookKertolasku, Jakolasku ja Jakojäännös

Kertolaskuoperaattori

Kertolaskuoperaattori * palauttaa operaattoriensa tulon. Esimerkiksi, jos halutaan selvittää, kuinka paljon vettä tarvitaan uima-altaan täyttämiseen:

Main.c

Main.c

copy
123456789101112131415
#include <stdio.h> int main() { int height = 2; // In meters int width = 7; // In meters int length = 10; // In meters // A cubic meter contains one thousand liters int liters = (height * width * length) * 1000; printf("Size of pool: %d liters", liters); return 0; }

Jakolaskuoperaattori

Jakolaskuoperaattori / jakaa vasemmanpuoleisen operaattorin oikeanpuoleisella.

Oletetaan, että haluat laskea auton nopeuden:

Main.c

Main.c

copy
1234567891011
#include <stdio.h> int main() { int s = 200; // In meters double t = 3; // Three hours double v = s / t; printf("Velocity = %f m/h", v); return 0; }

double-muuttujien käyttäminen varmistaa, että tulos voi olla desimaaliluku, mikä antaa tarkemman vastauksen. Jos käyttäisimme vain kokonaislukutyyppejä, tulos olisi myös kokonaisluku:

int + int => int 
int + double => double
Main.c

Main.c

copy
1234567891011
#include <stdio.h> int main() { int s = 200; // In meters int t = 3; // Three hours // Without `double v` variable printf("Velocity = %d m/h", s/t); return 0; }

On tärkeää huomata, että pelkkä muotoilumääreen vaihtaminen ei korjaa virheellistä kokonaislukujakoa:

Main.c

Main.c

copy
12345678910
#include <stdio.h> int main() { int s = 200; // In meters int t = 3; // Three hours printf("Velocity = %f m/h", s/t); // Changed specifier return 0; }

On kuitenkin olemassa tapa saada oikea jakotulos ilman uuden muuttujan käyttöönottoa:

Main.c

Main.c

copy
1234567891011
#include <stdio.h> int main() { int s = 200; // In meters double t = 3; // Three hours printf("Velocity = %f m/h", s/t); // Changed specificator return 0; }
Note
Huomio

Jotta jakolasku tuottaa desimaalituloksen, vähintään toisen operandin tulee olla desimaalitietotyyppiä, kuten double.

Jäännösoperaattori

%-operaattori palauttaa jakolaskun jäännöksen. Esimerkiksi:

Main.c

Main.c

copy
1234567891011
#include <stdio.h> int main() { printf("Modulo 8 %% 5 = %d\n", 8 % 5); printf("Modulo 10 %% 3 = %d\n", 10 % 3); printf("Modulo 7 %% 5 = %d\n", 7 % 5); printf("Modulo 20 %% 5 = %d\n", 20 % 5); return 0; }
Note
Huomio

Jos haluat näyttää %-merkin merkkijonossa (esim. printf-lauseessa), käytä %% esittämään yhtä %-merkkiä. Tämä kertoo kääntäjälle, että haluat tulostaa %-merkin etkä käyttää sitä muotoilumäärittäjänä.

question mark

Mikä on lausekkeen arvo?

Select the correct answer

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 3. Luku 3

Kysy tekoälyä

expand

Kysy tekoälyä

ChatGPT

Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme

Awesome!

Completion rate improved to 2.63

bookKertolasku, Jakolasku ja Jakojäännös

Pyyhkäise näyttääksesi valikon

Kertolaskuoperaattori

Kertolaskuoperaattori * palauttaa operaattoriensa tulon. Esimerkiksi, jos halutaan selvittää, kuinka paljon vettä tarvitaan uima-altaan täyttämiseen:

Main.c

Main.c

copy
123456789101112131415
#include <stdio.h> int main() { int height = 2; // In meters int width = 7; // In meters int length = 10; // In meters // A cubic meter contains one thousand liters int liters = (height * width * length) * 1000; printf("Size of pool: %d liters", liters); return 0; }

Jakolaskuoperaattori

Jakolaskuoperaattori / jakaa vasemmanpuoleisen operaattorin oikeanpuoleisella.

Oletetaan, että haluat laskea auton nopeuden:

Main.c

Main.c

copy
1234567891011
#include <stdio.h> int main() { int s = 200; // In meters double t = 3; // Three hours double v = s / t; printf("Velocity = %f m/h", v); return 0; }

double-muuttujien käyttäminen varmistaa, että tulos voi olla desimaaliluku, mikä antaa tarkemman vastauksen. Jos käyttäisimme vain kokonaislukutyyppejä, tulos olisi myös kokonaisluku:

int + int => int 
int + double => double
Main.c

Main.c

copy
1234567891011
#include <stdio.h> int main() { int s = 200; // In meters int t = 3; // Three hours // Without `double v` variable printf("Velocity = %d m/h", s/t); return 0; }

On tärkeää huomata, että pelkkä muotoilumääreen vaihtaminen ei korjaa virheellistä kokonaislukujakoa:

Main.c

Main.c

copy
12345678910
#include <stdio.h> int main() { int s = 200; // In meters int t = 3; // Three hours printf("Velocity = %f m/h", s/t); // Changed specifier return 0; }

On kuitenkin olemassa tapa saada oikea jakotulos ilman uuden muuttujan käyttöönottoa:

Main.c

Main.c

copy
1234567891011
#include <stdio.h> int main() { int s = 200; // In meters double t = 3; // Three hours printf("Velocity = %f m/h", s/t); // Changed specificator return 0; }
Note
Huomio

Jotta jakolasku tuottaa desimaalituloksen, vähintään toisen operandin tulee olla desimaalitietotyyppiä, kuten double.

Jäännösoperaattori

%-operaattori palauttaa jakolaskun jäännöksen. Esimerkiksi:

Main.c

Main.c

copy
1234567891011
#include <stdio.h> int main() { printf("Modulo 8 %% 5 = %d\n", 8 % 5); printf("Modulo 10 %% 3 = %d\n", 10 % 3); printf("Modulo 7 %% 5 = %d\n", 7 % 5); printf("Modulo 20 %% 5 = %d\n", 20 % 5); return 0; }
Note
Huomio

Jos haluat näyttää %-merkin merkkijonossa (esim. printf-lauseessa), käytä %% esittämään yhtä %-merkkiä. Tämä kertoo kääntäjälle, että haluat tulostaa %-merkin etkä käyttää sitä muotoilumäärittäjänä.

question mark

Mikä on lausekkeen arvo?

Select the correct answer

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 3. Luku 3
some-alt