Математические функции

С# содержит большое количество встроенных математических функций, которые реализованы в классе Math пространства имен System/

Замечание: использование нескольких функций с одним и тем же именем, но с различными типами параметров называется перегрузкой функции. Например, функция Math.Abs(), вычисляющая модуль числа, имеет 7 перегруженных версий double Math.Abs() (double х), float Math.Abs() (float x), int Math.Abs() (int x),

Полный список операций языка С# в соответствии с их приоритетами (по убыванию приоритетов, операции с разными приоритетами разделены чертой) приведен в следующей таблице:

 

Операции языка С#

Операция Описание
. Доступ к элементу
x() Вызов метода или делегата
x[] Доступ к элементу
x++ Постфиксный инкремент
x— Постфиксный декремент
New Выделение памяти
Typeof Получение типа
Checked Проверяемый код
Unchecked Непроверяемый код
+ Унарный плюс
- Арифметическое отрицание
! Логическое отрицание
~ Поразрядное отрицание
++x Префиксный инкремент
--x Префиксный декремент
(тип) x Преобразование типа
* Умножение
/ Деление
% Остаток от деления
<< Сдвиг влево
>> Сдвиг вправо
< Меньше
> Больше
<= Меньше или равно
>= Больше или равно
is Проверка принадлежности типу
as Приведение типа
== Равно
!= Не равно
& Поразрядное И
^ Поразрядное исключающее ИЛИ
| Поразрядное ИЛИ
&& Логическое И
|| Логическое ИЛИ
?: Условная операция
= Простое присваивание
*= Умножение с присваиванием
/= Деление с присваиванием
%= Остаток от деления с присваиванием
+= Сложение с присваиванием
-= Вычитание с присваиванием
<<= Сдвиг влево с присваиванием
>>= Сдвиг вправо с присваиванием
&= Поразрядное И с присваиванием
^= Поразрядное исключающее ИЛИ с присваиванием
|= Поразрядное ИЛИ с присваиванием

 

Подробно рассмотрим только часть операций, остальные операции будут вводиться по мере необходимости. Если при изучении операции покажутся Вам знакомыми по другим языкам, то соответствующие из них можно пропустить. Но! Внимание!! Вы должны быть уверены, что сможете объяснить те явления, которые описываются в соответствующих заданиях!!!

Замечание. Операции можно классифицировать по количеству операндов на: унарные – воздействуют на один операнд,

бинарные – воздействуют на два операнда,

тернарные – воздействует на три операнда.

Некоторые символы используются для обозначения как унарных, так и бинарных операций. Например, символ «минус» используется как для обозначения унарной операции – арифметического отрицания, так и для обозначения бинарной операции вычитание. Будет ли данный символ обозначать унарную или бинарную операцию, определяется контекстом, в котором он используется.

 

1. Инкремент (++) и декримент(--)

Эти операции имеют две формы записи — префиксную, когда операция записывается перед операндом, и постфиксную – операция записывается после операнда. Префиксная операция инкремента (декремента) увеличивает (уменьшает) свой операнд и возвращает измененное значение как результат.

При использовании операции постинкремента значение переменной сначала используется в выражении, а потом увеличивается на 1. При использовании операции постдекремента значение переменной сначала используется в выражении, а потом уменьшается на 1.

Рассмотрим эти операции на примере.

 

Пример 1

static void Main()

   {

       int i = 3, j = 4;

       Console.WriteLine(«{0} {1}», i, j);

       Console.WriteLine(«{0} {1}», ++i, --j);

       Console.WriteLine(«{0} {1}», i++, j--);

       Console.WriteLine(«{0} {1}», i, j);

   }

    Результат работы программы:

3 4

4 3

4 3

5 2

Замечание. Префиксная версия требует существенно меньше действий: она изменяет значение переменной и запоминает результат в ту же переменную. Постфиксная операция должна отдельно сохранить исходное значение, чтобы затем вернуть его как результат. Для сложных типов подобные дополнительные действия могут оказаться трудоемкими. Поэтому постфиксную форму имеет смысл использовать только при необходимости.

 

Операция new

Используется для создания нового объекта. С ее помощью можно создавать как объекты ссылочного типа, так и размерные, например:

object z=new object();

int i=new int(); // то же самое, что и int i =0;

 

Отрицание

Арифметическое отрицание (-) – меняет знак операнда на противоположный.

Логическое отрицание (!) – определяет операцию инверсия для логического типа.

 

Пример 2

static void Main()

   {

       int i = 3, j=-4;

       bool a = true, b=false;

       Console.WriteLine(«{0} {1}», -i, -j);

       Console.WriteLine(«{0} {1}»,!a,!b);

   }        

Результат работы программы:

-3 4

False True

 


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: