Арифметические операторы языка C# :
Оператор | Действие |
+ | Сложение |
— | Вычитание, унарный минус |
* | Умножение |
/ | Деление |
% | Деление по модулю |
–– | Декремент |
++ | Инкремент |
Операторы +, –, * и / действуют так, как предполагает их обозначение. Их можно применять к любому встроенному числовому типу данных.
Действие арифметических операторов не требует особых пояснений, за исключением следующих особых случаев.
Прежде всего, не следует забывать, что когда оператор / применяется к целому числу, то любой остаток от деления отбрасывается; например, результат целочисленного деления 13/3 будет равен 4.
Остаток от этого деления можно получить с помощью оператора деления по модулю (%), который иначе называется оператором вычисления остатка. Он дает остаток от целочисленного деления. Например, 13 % 3 равно 1.
В C# оператор % можно применять как к целочисленным типам данных, так и к типам с плавающей точкой. Поэтому 13.0 % 3.0 также равно 1. В этом отношении C# отличается от языков С и С++, где операции деления по модулю разрешаются только для целочисленных типов данных.
Рассмотрим следующий пример:
using System; 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 вычисляется только один, а не два раза. В некоторых случаях это позволяет повысить эффективность выполнения программы.
Оба оператора инкремента и декремента можно указывать до операнда (в префиксной форме) или же после операнда (в постфиксной форме).
Давайте разберем разницу записи операции инкремента или декремента на примере:
using System; 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(); } } }
Результат:
То есть операция инкремента в префиксной форме происходит раньше, нежели в постфиксной форме, в результате чего числа из второго ряда получаются на единицу больше. Отметим, что управление моментом инкремента или декремента дает немалые преимущества при программировании.
Перейдем к рассмотрению операторов отношения и логических операторов
NEW: Наш Чат, в котором вы можете обсудить любые вопросы, идеи, поделиться опытом или связаться с администраторами.
я не буковед, но раз уж тут такая традиция, позвольте подсказать:))))
«операторы:
x++;
x—;
равнозначны операторам:»
где декремент, может написать x- —?
там, видимо, сливается написание подряд двух минусов
Спасибо за Ваш материал, очень понятно усваивается!)
Александр, все верно. Благодарим вас за то, что подметили. Все исправили!