Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Руководство_по_C#.doc
Скачиваний:
6
Добавлен:
01.07.2025
Размер:
10 Мб
Скачать
☆

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

Арифметические операторы, представленные в C#, приведены ниже:

Арифметические операторы 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 вычисляется только один, а не два раза. В некоторых случаях это позволяет повысить эффективность выполнения программы.

Обa оператора инкремента и декремента можно указывать до операнда (в префиксной форме) или же после операнда (в постфиксной форме). Давайте разберем разницу записи операции инкремента или декремента на примере:

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();

}

}

}

Вывод программы:

1 3 5 7 9 11 13 15 17 19

2 4 6 8 10 12 14 16 18 20

Т.е. операция инкремента в префиксной форме происходит раньше, нежели в постфиксной форме, в результате чего числа из второго ряда получаются на единицу больше. Отмечу, что возможность управлять моментом инкремента или декремента дает немало преимуществ при программировании.