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

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

Використання змінних типу double гарантує, що результат може бути десятковим значенням, що забезпечує більш точну відповідь. Якщо використовувати лише цілі типи, результат також буде цілим числом:

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

Варто зазначити, що просте змінення специфікатора формату не виправить некоректне цілочисельне ділення:

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

Однак існує спосіб отримати правильний результат ділення без введення додаткової змінної:

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
Примітка

Щоб результат ділення був десятковим, принаймні один з операндів повинен мати десятковий тип, наприклад double.

Оператор модулю

Оператор % повертає остачу від ділення. Наприклад:

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
Примітка

Якщо потрібно відобразити символ % у рядку (наприклад, у виразі printf), слід використовувати %% для представлення одного %. Це вказує компілятору, що потрібно вивести символ %, а не використовувати його як специфікатор формату.

question mark

Яке значення має цей вираз?

Select the correct answer

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

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

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

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

Запитати АІ

expand

Запитати АІ

ChatGPT

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

Suggested prompts:

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

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

Свайпніть щоб показати меню

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

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

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

Оператор ділення

Оператор ділення / ділить лівий операнд на правий.

Припустимо, потрібно обчислити швидкість автомобіля:

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

Використання змінних типу double гарантує, що результат може бути десятковим значенням, що забезпечує більш точну відповідь. Якщо використовувати лише цілі типи, результат також буде цілим числом:

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

Варто зазначити, що просте змінення специфікатора формату не виправить некоректне цілочисельне ділення:

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

Однак існує спосіб отримати правильний результат ділення без введення додаткової змінної:

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
Примітка

Щоб результат ділення був десятковим, принаймні один з операндів повинен мати десятковий тип, наприклад double.

Оператор модулю

Оператор % повертає остачу від ділення. Наприклад:

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
Примітка

Якщо потрібно відобразити символ % у рядку (наприклад, у виразі printf), слід використовувати %% для представлення одного %. Це вказує компілятору, що потрібно вивести символ %, а не використовувати його як специфікатор формату.

question mark

Яке значення має цей вираз?

Select the correct answer

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

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

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

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