Kertolasku, 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
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
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
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
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
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; }
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
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; }
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ä.
Kiitos palautteestasi!
Kysy tekoälyä
Kysy tekoälyä
Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme
Awesome!
Completion rate improved to 2.63
Kertolasku, 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
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
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
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
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
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; }
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
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; }
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ä.
Kiitos palautteestasi!