2.C#.Арифметические операции языка C#

С#
2.C#.Арифметические операции языка C#

Режим обучения доступен только авторизованным пользователям

Чтобы продолжить просмотр зарегистрируйтесь или войдите в аккаунт

Возможности режима обучения:

  • просмотр истории в виде слайдов
  • возможность прослушивания озвучки по каждому слайду
  • возможность добавить свою, детскую озвучку
  • тесты для детей, чтобы закрепить материал
  • специально подобранные коллекции картинок и видео для улучшения восприятия
  • ссылки на дополнительные обучающие курсы

В C# используются операции. Операции  это действия над операндами
Операнды - это участники операции.
Обычно это  переменная или число.  

Если в операции один операнд, то это унарная операция.
Если в операции два операнда, то это бинарная операция.
Если в операции три операнда, то это тернарная операция.


Рассмотрим все виды операций. 

+  сложение-   вычитание*  умножение/  деление% получение остатка от целочисленного деления двух чисел++ инкремент--   декремент



 


Арифметические операции языка C#.1

Арифметические операции языка C#.1


Бинарные арифметические операции: Операция сложения двух чисел:int x = 10;int z = x + 12; // 22 -  Операция вычитания двух чисел:int x = 10;int z = x - 6; // 4 * Операция умножения двух чисел:int x = 10;int z = x * 5; // 50 / операция деления двух чисел:int x = 10;int z = x / 5; // 2double a = 10;double b = 3;double c = a / b; // 3.33333333 


Арифметические операции языка C#.2

Арифметические операции языка C#.2


Если оба операнда представляют целые числа, то результат также будет округляться до целого числа: double z = 10 /  4; //результат равен 2 Чтобы округления не было надо использовать переменные  как типы double или float:double z = 10.0 /  4.0; //результат равен 2.5 
  Операция получение остатка от целочисленного деления двух чисел:double x = 10.0;double z = x % 4.0; //результат равен 2 


Арифметические операции языка C#.3

Арифметические операции языка C#.3


Также есть ряд унарных операций, в которых принимает участие один операнд: Инкремент(увеличение на 1)
++x  - это префиксный инкрементx++  - это постфиксный инкремент int x1 = 5;int z1 = ++x1;// сначала увеличили x1 на 1, потом получили результат и записали в z1// z1=6;//x1=6 
int x2 = 5;int z2 = x2++; //сначала записали результат в z1, потом увеличили x1 на 1. // z2=5;// x2=6   


Арифметические операции языка C#.4

Арифметические операции языка C#.4


--Операция декремента или уменьшения значения на единицу. Также существует префиксная форма декремента (--x) и постфиксная (x--).int x1 = 5;int z1 = --x1; // z1=4; x1=4Console.WriteLine($"{x1} - {z1}"); int x2 = 5;int z2 = x2--; // z2=5; x2=4Console.WriteLine($"{x2} - {z2}");


Арифметические операции языка C#.5

Арифметические операции языка C#.5


При выполнении сразу нескольких арифметических операций следует учитывать порядок их выполнения. Приоритет операций от наивысшего к низшему:Сначала делаем:                  Инкремент, декрементПотом:                                     Умножение, деление, получение остаткаИ в последнюю очередь:   Сложение, вычитаниеМожно применять скобки.Рассмотрим набор операций:int a = 3;int b = 5;int c = 40;int d = c---b*a;    // a=3  b=5  c=39  d=25Console.WriteLine($"a={a}  b={b}  c={c}  d={d}");Здесь мы имеем дело с тремя операциями: декремент, вычитание и умножение. Сначала выполняется декремент переменной c, затем умножение b*a, и в конце вычитание. Фактически так:int d = (c--)-(b*a);Но с помощью скобок мы могли бы изменить порядок операций, например, следующим образом:int a = 3;int b = 5;int c = 40;int d = (c-(--b))*a;    // a=3  b=4  c=40  d=108Console.WriteLine($"a={a}  b={b}  c={c}  d={d}"); 


Арифметические операции языка C#.6

Арифметические операции языка C#.6


Ассоциативность операторовКак выше было отмечено, операции умножения и деления имеют один и тот же приоритет, но какой тогда результат будет в выражении:int x = 10 / 5 * 2;Стоит нам трактовать это выражение как (10 / 5) * 2 или как 10 / (5 * 2)? Ведь в зависимости от трактовки мы получим разные результаты.Когда операции имеют один и тот же приоритет, порядок вычисления определяется ассоциативностью операторов. В зависимости от ассоциативности есть два типа операторов:Левоассоциативные операторы, которые выполняются слева направоПравоассоциативные операторы, которые выполняются справа налевоВсе арифметические операторы являются левоассоциативными, то есть выполняются слева направо. Поэтому выражение 10 / 5 * 2 необходимо трактовать как (10 / 5) * 2, то есть результатом будет 4.


Арифметические операции языка C#.6


0

Комментариев пока нет