Урок 3. Арифметические операторы

Язык C# предоставляет большой набор операторов, которые представляют собой символы, определяющие операции, которые необходимо выполнить с выражением. К операторам, которые выполняют арифметические операции можно отнести операторы:

  1. + (сложения),
  2. (вычитания),
  3. * (умножения),
  4. / (деления),
  5. % (получения остатка от деления)

Примечание:

  • Если после знака присвоения идет выражение с вычислением или передачей каких-либо значений, то данная операция выполняется справа налево. Для повышения приоритета операции можно использовать круглые скобки ( ).
  • Операции умножения, деления, получения остатка от деления имеют больший приоритет, чем сложения и вычитания, поэтому выполнятся в первую очередь.
  • При получении результата остатка от деления – знак результата не сокращается и соответствует значению первого операнда (делимого).
  • Если в правой части выражения выполнялись операции деления между целыми числами, то результат будет приведен компилятором к целому типу, даже если результат записать в переменную вещественного типа или привести все выражение к вещественному типу.
  • Все арифметические операции производимые над двумя значениями типа (byte, sbyte, short, ushort) в качестве результата, возвращают значение типа int.
  • Для типов int, uint, long и ulong, не происходит преобразования типа результата арифметических операций.
  • Для типов float и double, не происходит преобразования типа результата арифметических операций.

Пример использования арифметических операций:

static void Main()
{
    // Addition (+) 
    sbyte summand1 = 1, summand2 = 2; // Множественное объявление.
    int sum = 0;
    sum = summand1 + summand2;
    
    Console.WriteLine($"{summand1} + {summand2} = {sum}");

    // Subtraction (-)
    byte minuend = 5, subtrahend = 3;
    int difference = 0;
    difference = minuend - subtrahend;
    
    Console.WriteLine($"{minuend} - {subtrahend} = {difference}");

    // Multiplication (*)
    byte factor1 = 2, factor2 = 3;
    byte product = 0;
    product = (byte)(factor1 * factor2);  	// необходимо явное преобразование типа результата арифметических операций
    
    Console.WriteLine($"{factor1} * {factor2} = {product}");

    // Division (/)
    int dividend = 5, divisor = 2;
    float quotient = 0, remainder = 0;
    quotient = (float)dividend / divisor;

    Console.WriteLine($"{dividend} / {divisor} = {quotient} - with float type");
    Console.WriteLine($"{dividend} / {divisor} = {dividend / divisor} - only int type");
    // Remainder after division (%)
    remainder = dividend % divisor;

    Console.WriteLine($"{dividend} % {divisor} = {remainder}");

    // Delay.
    Console.ReadKey();
}

Результат:

image

Источник: видеоурок Александра Шевчука "ВИДЕОУРОК №3. ПЕРЕМЕННЫЕ И ТИПЫ ДАННЫХ"

%D1%81%D1%82%D1%80%D0%B5%D0%BB%D0%BA%D0%B0%20%D0%B2%D0%BB%D0%B5%D0%B2%D0%BE%202 предыдущая статья | следующая статья %D1%81%D1%82%D1%80%D0%B5%D0%BB%D0%BA%D0%B0%20%D0%B2%D0%BF%D1%80%D0%B0%D0%B2%D0%BE%202