Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Вивчайте Множення, Ділення та Модуль | Оператори
Основи C

book
Множення, Ділення та Модуль

Оператор множення

Оператор множення * дає добуток своїх операндів. Наприклад, якщо ви намагаєтеся визначити кількість води, необхідної для заповнення басейну:

Main.c

Main.c

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

Main.c

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

Main.c

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

Main.c

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

Main.c

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

Main.c

copy
#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;
}
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), вам потрібно використовувати %%, щоб представити один %. Це повідомляє компілятору, що ви хочете надрукувати символ %, а не використовувати його як специфікатор формату.

question mark

Отже, яке значення даного виразу?

int x = 20;
int y = 5;
double z = 7;

double res = (x % y + z) / 5;

printf("%f \n", res);

Select the correct answer

Все було зрозуміло?

Як ми можемо покращити це?

Дякуємо за ваш відгук!

Секція 3. Розділ 3

Запитати АІ

expand

Запитати АІ

ChatGPT

Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат

We use cookies to make your experience better!
some-alt