Множення, Ділення та Модуль
Оператор множення
Оператор множення * повертає добуток своїх операндів. Наприклад, якщо потрібно визначити кількість води, необхідної для заповнення басейну:
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; }
Оператор ділення
Оператор ділення / ділить лівий операнд на правий.
Припустимо, потрібно обчислити швидкість автомобіля:
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 гарантує, що результат може бути десятковим значенням, що забезпечує більш точну відповідь. Якщо використовувати лише цілі типи, результат також буде цілим числом:
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; }
Варто зазначити, що просте змінення специфікатора формату не виправить некоректне цілочисельне ділення:
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; }
Однак існує спосіб отримати правильний результат ділення без введення додаткової змінної:
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; }
Щоб результат ділення був десятковим, принаймні один з операндів повинен мати десятковий тип, наприклад double.
Оператор модулю
Оператор % повертає остачу від ділення. Наприклад:
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; }
Якщо потрібно відобразити символ % у рядку (наприклад, у виразі printf), слід використовувати %% для представлення одного %. Це вказує компілятору, що потрібно вивести символ %, а не використовувати його як специфікатор формату.
Дякуємо за ваш відгук!
Запитати АІ
Запитати АІ
Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат
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
Множення, Ділення та Модуль
Свайпніть щоб показати меню
Оператор множення
Оператор множення * повертає добуток своїх операндів. Наприклад, якщо потрібно визначити кількість води, необхідної для заповнення басейну:
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; }
Оператор ділення
Оператор ділення / ділить лівий операнд на правий.
Припустимо, потрібно обчислити швидкість автомобіля:
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 гарантує, що результат може бути десятковим значенням, що забезпечує більш точну відповідь. Якщо використовувати лише цілі типи, результат також буде цілим числом:
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; }
Варто зазначити, що просте змінення специфікатора формату не виправить некоректне цілочисельне ділення:
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; }
Однак існує спосіб отримати правильний результат ділення без введення додаткової змінної:
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; }
Щоб результат ділення був десятковим, принаймні один з операндів повинен мати десятковий тип, наприклад double.
Оператор модулю
Оператор % повертає остачу від ділення. Наприклад:
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; }
Якщо потрібно відобразити символ % у рядку (наприклад, у виразі printf), слід використовувати %% для представлення одного %. Це вказує компілятору, що потрібно вивести символ %, а не використовувати його як специфікатор формату.
Дякуємо за ваш відгук!