Moltiplicazione, Divisione e Modulo
Operatore di moltiplicazione
L'operatore di moltiplicazione * restituisce il prodotto dei suoi operandi. Ad esempio, se si desidera determinare la quantità d'acqua necessaria per riempire una piscina:
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; }
Operatore di divisione
L'operatore di divisione / divide l'operando a sinistra per quello a destra.
Supponiamo di voler calcolare la velocità di un'auto:
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; }
L'utilizzo di variabili di tipo double garantisce che il risultato possa essere un valore decimale, fornendo una risposta più accurata. Se si utilizzassero solo tipi interi, anche il risultato sarebbe un intero:
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; }
È importante notare che cambiare semplicemente lo specificatore di formato non corregge una divisione intera errata:
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; }
Tuttavia, esiste un modo per ottenere una divisione corretta senza introdurre un'altra variabile:
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; }
Affinché una divisione produca un risultato decimale, almeno uno degli operandi deve essere di un tipo decimale come double.
Operatore Modulo
L'operatore % restituisce il resto di una divisione. Ad esempio:
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; }
Se si desidera visualizzare il carattere % in una stringa (ad esempio, in una istruzione printf), è necessario utilizzare %% per rappresentare un singolo %. Questo indica al compilatore che si vuole stampare il carattere % e non utilizzarlo come specificatore di formato.
Grazie per i tuoi commenti!
Chieda ad AI
Chieda ad AI
Chieda pure quello che desidera o provi una delle domande suggerite per iniziare la nostra conversazione
Awesome!
Completion rate improved to 2.63
Moltiplicazione, Divisione e Modulo
Scorri per mostrare il menu
Operatore di moltiplicazione
L'operatore di moltiplicazione * restituisce il prodotto dei suoi operandi. Ad esempio, se si desidera determinare la quantità d'acqua necessaria per riempire una piscina:
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; }
Operatore di divisione
L'operatore di divisione / divide l'operando a sinistra per quello a destra.
Supponiamo di voler calcolare la velocità di un'auto:
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; }
L'utilizzo di variabili di tipo double garantisce che il risultato possa essere un valore decimale, fornendo una risposta più accurata. Se si utilizzassero solo tipi interi, anche il risultato sarebbe un intero:
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; }
È importante notare che cambiare semplicemente lo specificatore di formato non corregge una divisione intera errata:
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; }
Tuttavia, esiste un modo per ottenere una divisione corretta senza introdurre un'altra variabile:
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; }
Affinché una divisione produca un risultato decimale, almeno uno degli operandi deve essere di un tipo decimale come double.
Operatore Modulo
L'operatore % restituisce il resto di una divisione. Ad esempio:
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; }
Se si desidera visualizzare il carattere % in una stringa (ad esempio, in una istruzione printf), è necessario utilizzare %% per rappresentare un singolo %. Questo indica al compilatore che si vuole stampare il carattere % e non utilizzarlo come specificatore di formato.
Grazie per i tuoi commenti!