Множення, Ділення та Модуль
Оператор множення
Оператор множення *
дає добуток своїх операндів. Наприклад, якщо ви намагаєтеся визначити кількість води, необхідної для заповнення басейну:
Main.c
12345678910111213141516#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
123456789101112#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
123456789101112#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
1234567891011#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
.
Оператор Modulo
Оператор %
повертає залишок від ділення. Наприклад:
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
), вам потрібно використовувати%%
, щоб представити один%
. Це повідомляє компілятору, що ви хочете надрукувати символ%
, а не використовувати його як специфікатор формату.
Дякуємо за ваш відгук!
Запитати АІ
Запитати АІ
Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат
Awesome!
Completion rate improved to 2.63
Множення, Ділення та Модуль
Свайпніть щоб показати меню
Оператор множення
Оператор множення *
дає добуток своїх операндів. Наприклад, якщо ви намагаєтеся визначити кількість води, необхідної для заповнення басейну:
Main.c
12345678910111213141516#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
123456789101112#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
123456789101112#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
1234567891011#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
.
Оператор Modulo
Оператор %
повертає залишок від ділення. Наприклад:
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
), вам потрібно використовувати%%
, щоб представити один%
. Це повідомляє компілятору, що ви хочете надрукувати символ%
, а не використовувати його як специфікатор формату.
Дякуємо за ваш відгук!