Всі операції діляться на два типи: унарні і бінарні. До унарным належать операції, в яких бере участь один операнд. В бінарних операціях – два операнда. Операнд – це дані, які приймають участь в операції. Наприклад, оператор додавання «+» – бінарний 2+3, тут операндами є числа 2 і 3. Список арифметичних бінарних операцій наведено в таблиці:
Операція | Запис |
---|---|
Додавання | a+b |
Віднімання | a-b |
Ділення | a/b |
Множення | a*b |
Знаходження остачі | a%b |
При діленні двох цілих чисел результатом також буде ціле число. Наприклад, при поділі 9/5 результатом буде число 1. Щоб отримати точний результат з десятковою крапкою, потрібно щоб ділене і/або дільник були типу float або double. Наприклад, при поділі 9 / 5f (суфікс f вказує, що дана константа типу float) результатом буде 1.8.
Оператор «%» повертає залишок від ділення. Результатом операції 9 % 5 4. Прикладом застосування оператора «%» може бути процес перевірки числа на парність. Для цього ми шукаємо залишок від ділення числа на 2. Якщо число парне, результатом буде 0, якщо непарна – 1.
Щоб підвищити пріоритет операції, використовуються дужки, як і у звичайній арифметиці.
2+2*2=6
(2+2)*2=8
При використанні оператора «+» для рядків, він виконує операцію конкатенації. Конкатенація – об'єднання декількох об'єктів (наприклад рядків).
static void Main(string[] args)
{
string str1 = "Hello", str2 = "World";
Console.WriteLine(str1 + ", " + str2); //виведе на екран "Hello, World"
}
Результат роботи програми:
Унарні оператори в Сі-шарп
Унарних арифметичних операторів в Сі-шарп є всього два: інкрементація «++» і декрементація «--»;
Унарних інкрементація збільшує операнд на одиницю, а декрементація - зменшує на одиницю.
static void Main(string[] args)
{
int a = 0, b = 5;
a++; // a=1;
b--; // b=4
}
Інкрементація і декрементація може бути префіксом і постфіксом. При Префіксній формі оператор стоїть перед операндом, а при постфіксній-після.
Префіксна форма спочатку збільшує(зменшує) значення, і після цього виконуються інші дії, а при постфіксній формі навпаки - спочатку виконуються всі дії, а після збільшиться(зменшиться) значення:
static void Main(string[] args)
{
int a = 2, b = 3, c, d = 3;
c = a + ++b; // c = 6, спочатку інкремент, потім додавання
с = a + d++; // c = 5, спочатку додавання, потім інкремент
}
Скрізь де можна використовувати інкрементацію/декрементацію варто це робити, так як вона працює швидше оператора додавання/віднімання.
В Сі-шарп також є можливість використання короткої форми вираження:
static void Main(string[] args)
{
int a = 2, b = 3;
a += b; // рівноцінний вираз a = a + b;
a -= b; // рівноцінний вираз a = a - b;
a *= b; // рівноцінний вираз a = a * b;
a /= b; // рівноцінний вираз a = a / b;
a %= b; // рівноцінний вираз a = a % b;
}
Клас Math
У класі Math зібрані всі основні тригонометричні функції, функція зведення числа у ступінь і знаходження квадратного кореня та інші.
Для зведення числа у ступінь, використовується функція Pow([число], [ступінь]);
static void Main(string[] args)
{
float a, b = 9;
a = (float) Math.Pow(b, 2); // зводимо змінну b ступінь 2. Pow() повертає результат тип даних double, тому ми тут застосували явне перетворення. Звичайно, можна було обійтися без перетворення, оголосивши змінну a типу double
Console.WriteLine(a); // виводить на екран число 81
Console.ReadKey();
}
Результат роботи програми:
Для знаходження квадратного кореня служить функція Sqrt([число]); зворотний результат також тип даних double
static void Main(string[] args)
{
double a, b = 9;
a = Math.Sqrt(b);
Console.WriteLine(a); // виводить на екран число 3
Console.ReadKey();
}
Результат роботи програми:
Для знаходження косинуса і синуса використовуються cos([кут в радіанах]) і sin([кут в радіанах]) відповідно.
180 [градусів] = пі [радіан].
Щоб перевести градуси в радіани, необхідно значення в градусах помножити на Пі і розділити на 180. Число Пі оголошено константою в класі Math.
static void Main(string[] args)
{
double a;
a = Math.Cos(60 * Math.PI / 180); // переводимо 60 градусів в радіани
Console.WriteLine(a); // виводить на екран 0.5
a = Math.Sin(60 * Math.PI / 180);
Console.WriteLine(a); // виводить на екран 0.866...
Console.ReadKey();
}
Результат роботи програми:
Логічні оператори в Сі-шарп
Логічні оператори в Сі-шарп служать для роботи з логічним типом даних (bool), який може приймати тільки два значення – true або false. Їх можна розділити на дві категорії: прості логічні оператори та оператори порівняння.
В Сі-шарп є наступні логічні оператори:
! – оператор «НЕ» є унарним і повертає протилежне значення операнда.
static void Main(string[] args)
{
bool a, b = true, c = false;
a = !b; // a = false
a = !c; // a = true
}
|| - оператор «АБО» є бінарним і повертає false тільки тоді, коли обидва операнди рівні false, в інших випадках результат буде true;
static void Main(string[] args)
{
bool a, bTrue = true, bFalse = false;
a = bFalse || bFalse; // a = false
a = bFalse || bTrue; // a = true
a = bTrue || bFalse; // a = true
a = bTrue || bTrue; // a = true
}
&& - оператор «І» є бінарним і повертає true тільки тоді, коли обидва операнди дорівнюють true, в інших випадках результат буде false;
static void Main(string[] args)
{
bool a, bTrue = true, bFalse = false;
a = bFalse && bFalse; // a = false
a = bFalse && bTrue; // a = false
a = bTrue && bFalse; // a = false
a = bTrue && bTrue; // a = true
}
До операторів порівняння належать:
Оператор | Назва |
---|---|
> | більше |
< | менше |
>= | більше або рівне |
<= | менше або рівне |
== | рівне |
!= | не рівне |
static void Main(string[] args)
{
bool a;
int b = 2, c = 3, d = 2;
a = b > c; // a = false
a = b < c; // a = true
a = b >= c; // a = false
a = b >= d; // a = true
a = b == c; // a = false
a = b == d; // a = true
a = b != c; // a = true
}
Логічні оператори в першу чергу використовуються в умовних операторах.
Автор Swytos << попередня • наступна >> До змісту