Арифметические операторы C#

В C# определены следующие арифметические операторы для работы с числовыми типами:

  1. ++ (инкремент), — (декремент), + (возврат исходного числа), – (изменение знака числа на минус).
  2. + (сложение), – (вычитание), / (деление), * (умножение), % (остаток от деления).

Операторы первой группы называются унарными, т.к. работают с одним числом, второй группы – бинарными.

Оператор инкремента ++.

Увеличивает переменную на 1.
Выражение

x++;

эквивалентно выражению

x = x + 1;

В префиксной форме (++х) оператор возвращает результат до выполнения операции.
Например:

int i = 2;
Console.WriteLine(i);   // Возвращает 2
Console.WriteLine(++i); // Возвращает 3
Console.WriteLine(i);   // Возвращает 3

В постфиксной форме (х++) оператор возвращает результат после выполнения операции.
Например:

int i = 2;
Console.WriteLine(i);   // Возвращает 2
Console.WriteLine(i++); // Возвращает 2 (++i в префиксной форме возвращает 3)
Console.WriteLine(i);   // Возвращает 3

Оператор декремента –.

Уменьшает переменную на 1.
В префиксной форме (–х) оператор декремента возвращает результат до выполнения операции также как префиксный оператор инкремента.
Например:

int i = 2;
Console.WriteLine(i);   // Возвращает 2
Console.WriteLine(--i); // Возвращает 1
Console.WriteLine(i);   // Возвращает 1

В постфиксной форме (х–) оператор декремента возвращает результат после выполнения операции.
Например:

int i = 2;
Console.WriteLine(i);   // Возвращает 2
Console.WriteLine(i--); // Возвращает 2 (--i в префиксной форме возвращает 1)
Console.WriteLine(i);   // Возвращает 1

Унарные операторы + (плюс) и – (минус).

Унарный оператор – (минус) возвращает исходное число так, как если бы оно было домножено на -1, т.е. этот оператор возвращает противоположное по знаку число.
Унарный оператор + возвращает исходное число.

int i1 = 1;
int i2 = -1;
Console.WriteLine(+i1);   // Возвращает 1
Console.WriteLine(-i1);   // Возвращает -1
Console.WriteLine(+i2);   // Возвращает -1
Console.WriteLine(-i2);   // Возвращает 1

Оператор умножения (*).

Оператор умножения (*) умножает одно число на второе.

Console.WriteLine( 0.2 * 2 );   // Возвращает 0.4
Console.WriteLine( 2 * 0.2 );   // Возвращает 0.4

Оператор деления (/).

Оператор деления (/) возвращает результат деления двух чисел. При этом надо помнить что результатом деления двух целых чисел является целое число. Например:

Console.WriteLine( 7 / 3 );   // Возвращает 2
Console.WriteLine( 3 / 7 );   // Возвращает 0

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

Console.WriteLine( 7.0 / 3 );           // Возвращает 2,33333333333333
Console.WriteLine( 7 / 3.0 );           // Возвращает 2,33333333333333
Console.WriteLine( ( double )7 / 3 );   // Возвращает 2,33333333333333
Console.WriteLine( 7 / ( double )3 );   // Возвращает 2,33333333333333

Оператор получения остатка (%).

Оператор остатка (%) получает остаток от деления одного числа на другое. Пример:

Console.WriteLine( 7 % 3 );           // Возвращает 1
Console.WriteLine( 7 % 3.1 );         // Возвращает 0,8

Оператор сложения (+).

Оператор сложения (+) возвращает сумму двух чисел:

Console.WriteLine( 7 + 3 );           // Возвращает 10
Console.WriteLine( 7 + 3.1 );         // Возвращает 10,1

Оператор вычитания (-).

Оператор вычитания (+) возвращает разность двух чисел:

Console.WriteLine( 7 - 3 );           // Возвращает 4
Console.WriteLine( 7 - 3.1 );         // Возвращает 3,9

Приоритет вычисления операторов.

Арифметические операторы от высшего к низшему:

  • Постфиксные операторы инкремента и декремента.
  • Префиксные операторы инкремента и декремента, а также унарные операторы “плюс” и “минус”.
  • Операторы умножения, деления и вычисления остатка от деления.
  • Операторы сложения и вычитания.

Для операторов с одинаковым приоритетом нужно учитывать, что вычисления производятся слева направо. Т.е. для выражения 10 * 2 / 5 сначала будет вычислена операция умножения ( 10 * 2 ), а потом будет вычислен оператор деления.

avatar
5000
  Подписаться  
Уведомление о