Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lära Multiplikation, Division och Modulo | Operatorer
C-Grunder

bookMultiplikation, Division och Modulo

Multiplikationsoperator

Multiplikationsoperatorn * ger produkten av sina operander. Till exempel, om du vill bestämma mängden vatten som krävs för att fylla en pool:

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; }

Divisionsoperator

Divisionsoperatorn / dividerar den vänstra operand med den högra.

Antag att du vill beräkna en bils hastighet:

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; }

Genom att använda double-variabler säkerställs att vårt resultat kan vara ett decimaltal, vilket ger ett mer exakt svar. Om vi endast arbetade med heltalstyper skulle resultatet också vara ett heltal:

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; }

Det är viktigt att notera att enbart ändring av formatangivaren inte åtgärdar en felaktig heltalsdivision:

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; }

Det finns dock ett sätt att få en korrekt division utan att introducera en ny variabel:

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
Notera

För att en division ska ge ett decimalt resultat måste minst en av operanderna vara av en decimaltyp, såsom double.

Moduloperator

Operatorn % returnerar resten av en division. Till exempel:

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
Observera

Om du försöker visa tecknet % i en sträng (t.ex. i ett printf-uttryck), använder du %% för att representera ett enda %. Detta talar om för kompilatorn att du vill skriva ut tecknet % och inte använda det som en formatangivare.

question mark

Vad är värdet av uttrycket?

Select the correct answer

Var allt tydligt?

Hur kan vi förbättra det?

Tack för dina kommentarer!

Avsnitt 3. Kapitel 3

Fråga AI

expand

Fråga AI

ChatGPT

Fråga vad du vill eller prova någon av de föreslagna frågorna för att starta vårt samtal

Awesome!

Completion rate improved to 2.63

bookMultiplikation, Division och Modulo

Svep för att visa menyn

Multiplikationsoperator

Multiplikationsoperatorn * ger produkten av sina operander. Till exempel, om du vill bestämma mängden vatten som krävs för att fylla en pool:

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; }

Divisionsoperator

Divisionsoperatorn / dividerar den vänstra operand med den högra.

Antag att du vill beräkna en bils hastighet:

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; }

Genom att använda double-variabler säkerställs att vårt resultat kan vara ett decimaltal, vilket ger ett mer exakt svar. Om vi endast arbetade med heltalstyper skulle resultatet också vara ett heltal:

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; }

Det är viktigt att notera att enbart ändring av formatangivaren inte åtgärdar en felaktig heltalsdivision:

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; }

Det finns dock ett sätt att få en korrekt division utan att introducera en ny variabel:

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
Notera

För att en division ska ge ett decimalt resultat måste minst en av operanderna vara av en decimaltyp, såsom double.

Moduloperator

Operatorn % returnerar resten av en division. Till exempel:

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
Observera

Om du försöker visa tecknet % i en sträng (t.ex. i ett printf-uttryck), använder du %% för att representera ett enda %. Detta talar om för kompilatorn att du vill skriva ut tecknet % och inte använda det som en formatangivare.

question mark

Vad är värdet av uttrycket?

Select the correct answer

Var allt tydligt?

Hur kan vi förbättra det?

Tack för dina kommentarer!

Avsnitt 3. Kapitel 3
some-alt