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 | Section
C:n Data ja Operaattorit

Kertolasku, Jakolasku ja Jakojäännös

Pyyhkäise näyttääksesi valikon

Kertolaskuoperaattori

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

Main.c

Main.c

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 vasemman operaattorin oikealla operaattorilla.

Oletetaan, että haluat laskea auton nopeuden:

Main.c

Main.c

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ö 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

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 muuttaminen ei korjaa virheellistä kokonaislukujen jakoa:

Main.c

Main.c

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 suorittaa oikea jakolasku ilman uuden muuttujan käyttöönottoa:

Main.c

Main.c

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 jakolaskun tulos olisi desimaaliluku, vähintään toisen operandin tulee olla desimaalitietotyyppiä, kuten double.

Jakojäännösoperaattori

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

Main.c

Main.c

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?

Valitse oikea vastaus

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 1. Luku 11

Kysy tekoälyä

expand

Kysy tekoälyä

ChatGPT

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

Kertolasku, Jakolasku ja Jakojäännös

Kertolaskuoperaattori

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

Main.c

Main.c

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 vasemman operaattorin oikealla operaattorilla.

Oletetaan, että haluat laskea auton nopeuden:

Main.c

Main.c

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ö 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

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 muuttaminen ei korjaa virheellistä kokonaislukujen jakoa:

Main.c

Main.c

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 suorittaa oikea jakolasku ilman uuden muuttujan käyttöönottoa:

Main.c

Main.c

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 jakolaskun tulos olisi desimaaliluku, vähintään toisen operandin tulee olla desimaalitietotyyppiä, kuten double.

Jakojäännösoperaattori

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

Main.c

Main.c

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ä.

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 1. Luku 11
some-alt