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

Suggested prompts:

Can you give an example of using the multiplication operator?

How does integer division differ from division with doubles?

Can you explain how the modulo operator works with a real-life example?

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