Зміст курсу
Основи C
Основи C
Множення, Ділення та Модуль
Оператор множення
Оператор множення *
дає добуток своїх операндів. Наприклад, якщо ви намагаєтеся визначити кількість води, необхідної для заповнення басейну:
Main
#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
#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
гарантує, що наш результат може бути десятковим значенням, що забезпечує більш точну відповідь. Якщо ми працюємо лише з цілочисельними типами, результат також буде цілим числом:
Main
#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
#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
#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
#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
), вам потрібно використовувати%%
, щоб представити один%
. Це повідомляє компілятору, що ви хочете надрукувати символ%
, а не використовувати його як специфікатор формату.
Дякуємо за ваш відгук!