Опис змінних та констант
Опис змінних
Загальне правило опису:
· без початкової ініцініалізації
<тип змінної> <ідентифікатор змінної>;
· з початковою ініціалізацією
<тип змінної> <ідентифікатор змінної> = <значення>;
Приклади:
int a; // Без початкової ініціалізації.
int b=40; // Змінна b ініціалізовується значенням 40.
double s=3.67; // Змінна s ініціалізовується значенням 3.67.
Опис констант
Загальне правило опису:
const <тип константи> <ідентифікатор констати> = <значення>;
Приклади:
const int a = 10; // константа цілого типу
const float b = 2.5; // константа дійсного типу
Перетворення типів
В мові розрізняють два види перетворень (приведень) змінних – явне та неявне.
Неявне перетвореннятипів використовується в тому випадку, коли дане перетворення є «природним». Тобто, наприклад, перетворюється величина типу float в величину типу double.
Приклад:
float f = 1.23;
double d = f; // Неявне перетворення
Таке перетворення є природним, оскільки обидва типи використовуються для представлення дійсних типів, причому цільовий тип має більший діапазон представлення і більшу точність. При такому перетворення не відбувається втрата інформації. При проведенні неявного переторення немає необхідності вказувати цільовий тип (тип до якого здійснюється перетворення).
Явне перетвореннятипів вимагає явного задання цільового типу, до якого здійснюється перетворення. Цільовий тип вказується в дужках перед значенням тип якого перетворюється.
Загальне правило явного перетворення:
<змінна> = (<цільовий тип>) <вираз>;
Приклад:
double d = 2.9;
float f = (float)d; // Явне перетворення
Для цільового типу повинно існувати неявне перетворення до типу змінної, в якій буде збережено результат.
Вирази та операції
Виразом називають послідовність операцій, операндів і розділових знаків, що задають деякі обчислення. В залежності від значення, яке одержується в результаті цих обчислень, вирази поділяють на арифметичні та логічні.
Арифметичні вирази
Арифметичним виразом називають вираз, в результаті обчислення якого одержуємо числове значення.
Бінарні та унарні операції
Часто у арифметичних виразах використовуються бінарні арифметичні операції.
Операція | Позначення | Приклад |
+ | додавання | z=x+y |
– | віднімання | z=x-y |
* | множення | z=x*y |
/ | ділення | z=x/y |
% | остача від ділення | z=x%y |
Окрім бінарних операцій в арифметичному виразі можуть бути присутні також унарні операції «+», «–» та операції інкременту «++» і декременту
«– –». Унарний мінус використовується для зміни знаку. Операції інкременту і декрменту використовують для збільшення та зменшення значення змінної на одиницю. Ці операції можуть вживатися у префіксній та постфіксній формі.
Операція | Аналог |
i++ або ++i | i=i+1 |
i-- або --i | i=i-1 |
Якщо унарну операцію вжито у префіксній формі у виразі, то вона виконується до використання значення змінної у виразі. Якщо ж унарну операцію вжито у постфіксній формі, то операція виконується після використання значення змінної у виразі.
Операція | Аналог з бінарними операціями |
int i = 5; int j = ++i; // j=6 i=6 | int i = 5; i=i+1; int j = i; // j=6 i=6 |
int i = 5; int j = i++; // j=5 i=6 | int i = 5; int j = i; i=i+1; // j=5 i=6 |
int i = 5; int j = --i; // j=4 i=4 | int i = 5; i=i-1; int j = i; // j=4 i=4 |
int i = 5; int j = i--; // j=5 i=4 | int i = 5; int j = i; i=i-1; // j=5 i=4 |
Побітові операції
У мові C# є можливість здійснювати побітові операції над розрядами аргументів.
Операція | Позначення | Приклад |
& | побітове «і» | int x=10; //x=1010(2) int y=7; //y=0111(2) z=x&y // z=2=0010(2) |
| | побітове «або» | int x=10; //x=1010(2) int y=7; //y=0111(2) z=x|y //z=15=1111(2) |
^ | Побітове «виключаюче або» | int x=10; //x=1010(2) int y=7; //y=0111(2) z=x^y //z=13=1101(2) |
Операції зсуву
Операції зсуву застосовуються до цілочислових операндів. Вони зсувають двійкове представлення першого операнда вліво або вправо на кількість двійкових розрядів, яка задається другим операндом.
При зсуві вліво (<<) вільні біти обнуляються. При зсуві вправо (>>) вільні біти заповнюються нулями, якщо перший операнд беззнакового типу (логічний зсув), і знаковим розрядом − в протилежному випадку (арифметичний зсув).
Операція | Позначення | Приклад |
>> | зсув розрядів вправо (змінна) =(змінна)>>(кільк. розрядів) | int i=4;//i=100(2) i=i>>1; //i=2=10(2) |
<< | зсув розрядів вліво (змінна) =(змінна)<<(кільк. розрядів) | int i=4;//i=100(2) i=i<<2; //i=16=10000(2) |
Операції присвоєння
Якщо при виконанні бінарної операції результат зберігається у змінній, що є першим аргументом, то можна використати так звані операції присвоювання.
Операція | Приклад | Аналог з бінарними операціями |
+= | int i = 5; i += 3; // i=8 | int i = 5; i=i+3; // i=8 |
-= | int i = 5; i -= 3; // i=2 | int i = 5; i=i-3; // i=2 |
*= | int i = 5; i *= 3; // i=15 | int i = 5; i=i*3; // i=15 |
/= | int i = 6; i /= 3; // i=2 | int i = 6; i=i/3; // i=2 |
>>= | int i = 5; i >>= 1; // i=2 | int i = 5; i=i>>1; // i=2 |
<<= | int i = 5; i <<= 1; // i=10 | int i = 5; i=i<<1; // i=10 |
&= | int i = 5; int j = 7; i &= j; // i=5 | int i = 5; int j = 7; i=i&j; // i=5 |
^= | int i = 5; int j = 7; i ^= 1; // i=2 | int i = 5; int j = 7; i=i^j; // i=2 |
|= | int i = 5; int j = 7; i |= 1; // i=7 | int i = 5; int j = 7; i=i|j; // i=7 |
Математичні функції
Арифметичні вирази можуть містити різні математичні функції. У мові C# математичні функції реалізовані у класі Math.
Назва | Опис | Результат | Пояснення |
Тригонометричні функції | |||
Sin | Синус | double | Math.Sin(double x) |
Cos | Косинус | double | Math.Cos(double x) |
Tan | Тангенс | double | Math.Tan(double x) |
Обернені тригонометричні функції | |||
ASin | Арксинус | double | Math.ASin(double x) |
ACos | Арккосинус | double | Math.ACos(double x) |
ATan | Арктангенс | double | Math.ATan(double x) |
ATan2 | Арктангенс | double | Math.ATan2(double x, double y) – кут, тангенс якого є результатом ділення y на x |
Гіперболічні функції | |||
Tanh | Тангенс гіперболічний | double | Math.Tanh(double x) |
Sinh | Синус гіперболічний | double | Math.Sinh(double x) |
Cosh | Косинус гіперболічний | double | Math.Cosh(double x) |
Експонента і логарифмічні функції | |||
Exp | Експонента | double | Math.Exp(x) |
Log | Логарифм натуральний | double | Math.Log(x) |
Log10 | Логарифм десятковий | double | Math.Log10(x) |
Модуль(абсолютна величина), корінь квадратний, знак | |||
Abs | Модуль | Залежить від типу аргументу | Math.Abs(x) |
Sqrt | Квадратний корінь | double | Math.Sqrt(x) |
Sign | Знак числа | int | Math.Sign(x) |
Заокруглення | |||
Ceiling | Заокруглення до більшого цілого | double | Math.Ceiling(double x) |
Floor | Заокруглення до меншого цілого | double | Math.Floor(double x) |
Round | Заокруглення | Залежить від типу аргументу | Math.Round(x) |
Мінімум, максимум | |||
Min | Мінімум двох чисел | Залежить від типу аргументу | Math.Min(x,y) |
Max | Максимум двох чисел | Залежить від типу аргументу | Math.Max(x,y) |
Степінь, остача | |||
Pow | Піднесення до степеня | double | Math.Pow(x,y) |
IEEERemainder | Остача від ділення | double | Math.IEEERemainder(double x, double y) |
Добуток двох цілих величин | |||
BigMul | Добуток | long | Math.BigMul(int x,int y) |
Ділення і остача від ділення | |||
DivRem | Ділення і остача | Залежить від типу аргументу | Math.DivRem(x,y, rem) |
Константи | |||
E | База натурального логарифма | double | Math.E |
PI | Значення числа π | double | Math.PI |
Логічні вирази
Логічним виразом або умовою називається такий вираз, внаслідок обчислення якого одержується логічне значення типу bool.
Операції порівняння
Логічний вираз може містити операції порівняння.
Операція | Позначення | Приклад |
== | рівність | x==y |
> | більше | x>y |
< | менше | x<y |
>= | більше або рівно | x>=y |
<= | менше або рівно | x<=y |
!= | не рівно | x!=y |
Логічні операції
У логічному виразі можуть також використовуватися логічні операції.
x | y | x&&y (логічне «і») | x || y (логічне «або») | !x (заперечення) |
false | false | false | false | true |
false | true | false | true | true |
true | false | false | true | false |
true | true | true | true | false |
Пріоритет операцій
При обчисленні значення арифметичних та логічних виразів оператори виконуються у певному порядку. Нижче наведено порядок виконання усіх операторів у мові C#.
1. (), [], ., (постфікс)++, (постфікс)--, new, sizeof, typeof , unchecked
2. !, ~, (ім'я типу), +(унарний), -(унарний), ++(префікс), --(префікс)
3. *, /, %
4. +, -
5. <<, >>
6. <, >, <=, >=, is
7. ==, !=
8. &
9. ^
10. |
11. &&
12. ||
13. ?:
14. =, +=, -=, *=, /=, %=, &=, |=, ^=, <<=, >>=
Дата добавления: 2022-02-05; просмотров: 317;