Программирование оператор условия попадание точки в фигуру

  1. Главная
  2. Учебник по программированию на C
  3. Арифметические операторы в C

Последнее обновление 27 июля 2020 года


Оператор: Оператор определяет операцию над данными, которая дает значение. Операнд: Элемент данных, на который действует оператор, называется операндом.

Некоторым операторам нужны два операнда, а некоторым-только один. Язык Си предоставляет следующие операторы:

  1. Арифметические операторы
  2. Реляционные операторы
  3. Логические операторы
  4. Условные Операторы
  5. Операторы присваивания
  6. Побитовые операторы
  7. оператор sizeof
  8. Арифметические операторы

В этой главе мы обсуждаем арифметические операторы.

В следующей таблице перечислены арифметические операторы.

Оператор Имя
+ дополнение
- вычитание
* умножение
/ деление
% оператор модуля

Первые четыре оператора работают как обычно, но вы, возможно. Не сталкивались с %оператором. %Оператор известен как модульный оператор или модульный оператор деления. Оператор модуля (%) используется для вычисления остатка. Например9 % 2, будет производить1, потому что, когда 9делится на 2него, остается остаток 1. Важно отметить. Что он работает только с целыми числами. Вы не можете применить

%оператор на floatи doubleтипах.

Все операторы, перечисленные в таблице выше, являются двоичными операторами. Потому что они требуют работы двух операндов. Но +и -операторы имеют свои унарные версии, например:

+x или -y

В этом случае +оператор не влияет на числоx, но -оператор меняет знак операнда y.

Целочисленная арифметика

Если оба операнда являются целыми числами. То результат арифметической операции между двумя целыми операндами дает целое значение. Возьмем две переменные aи b, такие что a = 10и b = 4. В следующей таблице показан результат арифметических операций. Выполненных над

aи.b

Выражение Результат
a + b 14
a - b 6
a * b 40
a / b 2
a % b 2

Мы знаем это 10/4 = 2.5, но поскольку оба операнда являются целыми числами, десятичное значение усекается. Чтобы оператор деления и модуля работал, второй операнд, то есть bдолжен быть ненулевым. Иначе программа выйдет из строя.

Следующая программа демонстрирует целочисленную арифметику в действии:

 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
#включают инт основной() { // объявляем и инициализируем переменные a и B типа int а = 11, Б = 4; е(, А + Б); Е(, А - Б); Е(, А * Б); Е(\п, в / б); // так как оба операнда целочисленные, результат будет целым числом, функции printf(, А % Б);  / / оператор % возвращает остаток от 11/4 я.Е 3 // сигнал операционной системе все работает нормально возвращать 0; } 

Ожидаемый Результат:

a + b = 15 a - b = 7 a * b = 44 a / b = 2 a % b = 3 

Обратите пристальное внимание на то, как %символ используется в printf()выражении в строке 17. Мы уже знаем, что %символ используется для указания спецификации преобразования внутри строки управления. Для печати одного %символа в консоли нужно написать %два раза.

Арифметика с плавающей запятой

Операция между двумя операндами с плавающей запятой всегда дает результат с плавающей запятой. Возьмем две переменные aи b, такие что a = 11.2и b = 4.5. В следующей таблице показан результат арифметических операций. Выполненных над aи.b

Выражение Результат
a + b 15.7
a - b 6.700000
a * b 50.400000
a / b 2.488889

Следующая программа демонстрирует арифметику с плавающей запятой в действии.

 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
#включают инт основной() { // объявляем и инициализируем переменную a и B двойной а = 9.2, б = 2.1; Е(, А + Б); Е(, А - Б); Е(, А * Б); Е(, в / б); // сигнал операционной системе все работает нормально возвращать 0; } 

Ожидаемый Результат:

a + b = 11.300000 a - b = 7.100000 a * b = 19.320000 a / b = 4.380952 

Примечание: Оператор %модуля не может использоваться с константами с плавающей точкой.

Арифметика смешанного режима

Операция между целым числом и плавающей точкой дает результат с плавающей точкой. В этой операции интегральное значение сначала преобразуется в значение с плавающей точкой, затем выполняется операция. Возьмем две переменные aи b, такие что a = 14и b = 2.5. В следующей таблице показаны арифметические операции, выполняемые над aи.b

Выражение Результат
a + b 16.500000
a - b 12.500000
a * b 35.000000
a / b 5.600000

Как мы видим, при 14делении на 2.5дробную часть не теряется. Потому что арифметическая операция между an intи a doubleдает doubleзначение. Таким образом, мы можем использовать арифметику смешанного режима для решения проблемы. С которой мы столкнулись при делении 10/4. Чтобы получить правильный ответ, просто сделайте один из операндов, участвующих в операции. Числом с плавающей запятой. Например, 10/4.0или 10.0/4оба дадут правильный результат, т. е.2.5

 1 2 3 4 5 6 7 8 9 10
#include int main() { printf("%f\n", 10/4.0); printf("%f\n", 10.0/4); // Сигнал операционной системе все работает нормально return 0; } 

Ожидаемый Результат:

2.500000 2.500000