Арифметические операторы
Арифметические операторы, представленные в C#, приведены ниже:
Арифметические операторы C#
Оператор | Действие |
---|---|
+ | Сложение |
- | Вычитание, унарный минус |
* | Умножение |
/ | Деление |
% | Деление по модулю |
-- | Декремент |
++ | Инкремент |
Операторы +,-,* и / действуют так, как предполагает их обозначение. Их можно применять к любому встроенному числовому типу данных.
Действие арифметических операторов не требует особых пояснений, за исключением следующих особых случаев. Прежде всего, не следует забывать, что когда оператор / применяется к целому числу, то любой остаток от деления отбрасывается; например, результат целочисленного деления 13/3 будет равен 4. Остаток от этого деления можно получить с помощью оператора деления по модулю (%), который иначе называется оператором вычисления остатка. Он дает остаток от целочисленного деления. Например, 13 % 3 равно 1. В C# оператор % можно применять как к целочисленным типам данных, так и к типам с плавающей точкой. Поэтому 13.0 % 3.0 также равно 1. В этом отношении C# отличается от языков С и С++, где операции деления по модулю разрешаются только для целочисленных типов данных. Давайте рассмотрим следующий пример:
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace ConsoleApplication1 { class Program { static void Main(string[] args) { int num1, num2; float f1, f2; num1 = 13 / 3; num2 = 13 % 3; f1 = 13.0f / 3.0f; f2 = 13.0f % 3.0f; Console.WriteLine("Результат и остаток от деления 13 на 3: {0} __ {1}",num1,num2); Console.WriteLine("Результат деления 13.0 на 3.0: {0:#.###} {1}", f1, f2); Console.ReadLine(); } } }
Результат работы данной программы:
Операторы инкремента и декремента
Оператор инкремента (++) увеличивает свой операнд на 1, а оператор декремента (--) уменьшает операнд на 1. Следовательно, операторы:
x++; x--;
равнозначны операторам:
x = x +1; x = x -1;
Следует, однако, иметь в виду, что в инкрементной или декрементной форме значение переменной x вычисляется только один, а не два раза. В некоторых случаях это позволяет повысить эффективность выполнения программы.
Обa оператора инкремента и декремента можно указывать до операнда (в префиксной форме) или же после операнда (в постфиксной форме). Давайте разберем разницу записи операции инкремента или декремента на примере:
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace ConsoleApplication1 { class Program { static void Main(string[] args) { short d = 1; for (byte i = 0; i < 10; i++) Console.Write(i + d++ + "\t"); Console.WriteLine(); d = 1; for (byte i = 0; i < 10; i++) Console.Write(i + ++d + "\t"); Console.ReadLine(); } } }
Т.е. операция инкремента в префиксной форме происходит раньше, нежели в постфиксной форме, в результате чего числа из второго ряда получаются на единицу больше. Отмечу, что возможность управлять моментом инкремента или декремента дает немало преимуществ при программировании.
Комментарии