Upload
eleksdev
View
898
Download
1
Embed Size (px)
Citation preview
Основи C#
Зміст
1. Що таке код програми?2. Виконання програми3. Середовища розробки4. Перша програма5. Базовий синтаксис6. Типи даних7. Змінні8. Decimal9. Рядки10. Масиви11. Цикли
12. Логічні операції13. Умовні оператори14. Параметри функцій15. Як не потрібно писати код
Що таке код програми?ф
ункц
ія
Виконання програмиКод програми на NET
орієнтованій мові NET компілятор
Збірка *.dll або *.exe(код MSIL, метадані і маніфест)
Завантаження класів
JIT - компіляція
Керований код, специфічний для платформи Net
Виконання програмних компонентів
Сере
дови
ще
вико
нанн
я N
ET
прог
рам
(CLR
)
Бібліотека базових класів і ін.
Виконання програми
NET компілятор – компілює вихідний код в MSIL (Microsoft Intermediate Language), також її називають CIL (Common Intermediate Language).
Збірка – двійковий файл, що підтримує версії , самоописує себе і обслуговується оточенням CLR (Common Language Runtime). Окрім власне коду MSIL в збірці міститься різноманітна службова інформація, наприклад: інформація про зовнішні збірки (залежності), структура включених в неї типів і т. п.
JIT компілятор – виконує перетворення коду MSIL в машинні команди по мірі виклику підпрограм (фрагментами). На виході утворюється так званий керований код, який потім виконується в середовищі CLR. Керований тому, що містить метадані, які дозволяють CLR виконувати перевірку безпеки, контроль прав, контроль версій, збір мусору і т. п.
• Visual Studio• Eclipse• NetBeans IDE• MonoDevelop• Delphi• Notepad :)
Середовища розробки
Перша програма
Hello world!
Синтаксис
Основні типи даних:- void- int\long\short- float\double- decimal- bool- string\char- object
Типи даних
Reference types\value types
mutable\immutable
Enumeration Types
Типи даних
Тип Діапазон значень Розмір (точність)
short -32768 до 32767 знакове 16-біт ціле
int -2147483648 до 2147483647 знакове 32-біт ціле
long -9223372036854775808 до 9223372036854775807 знакове 64-біт ціле
float -3.4 × 1038 до +3.4 × 1038 32-біт (точність 7 знаків)
double ±5.0 × 10−324 до ±1.7 × 10308 64-біт точність 15-16 знаків
decimal (-7,9 x 1028 до 7,9 x 1028) / (100–28) 128-біт (точність 28-29 значущих знаків)
char від U+0000 до U+FFFF 16-біт символ Юнікода
string залежить від вільної пам'яті
Скільки раз виконається наступний цикл:for (float f = 0f; f != 1; f += 0.1f){ Console.WriteLine(f);}
Задача з тестів
for (float i = 0f; Math.Abs(i - 1) > 0.001f; i += 0.1f){ Console.WriteLine(i);}
• Оголошення простих типів
• Константи
• Створення об’єктів
Змінні
Змінна – об’єкт програми, область пам’яті у якій ми можемо збегірати, змінювати та отримувати дані з різних частин програми
DecimalDecimal – числові дані з фіксованою точністю і масштабом.
• Більш висока точність десяткової частини, але менший діапазон значень ніж у double
• Відсутні помилки заокруглення, що присутні в double і float• Відсутня апаратна підтримка на рівні процесора, тому арифметичні
операції з decimal приблизно у 10 разів повільніші ніж з double і floatСлід використовувати у фінансових програмах.
РядкиРядок – це об’єкт типу string, який представляє довільний рядок тексту.
• Рядок є reference типом• Це immutable (незмінний) тип• Може містити значення null• Рядок перевизначає оператор рівності ==• Intern pool (одинакові рядки зберігаються лише раз)• Стандартні і дослівні літерали
Рядки
• Чому погано писати
• Використовуйте
• Оголошення
• Доступ до елементу
МасивиМасив – сукупність елементів одного типу даних, впорядкованих за індексами.
Цикл – це повторення виконання однієї і тієї ж частини коду декілька раз (доки дійсна умова)
Цикли
- for (var i; i<count; i++)
- while (i > count)
- do…while (i > count)
- foreach (var i in items)
Унарні !Бінарні || && < > >= <= == !=Тринарні ? :
Логічні операції
Задача з тестів
17 xor 3
10001 xor 11
1 0 0 0 1
0 0 0 1 11 0 0 1 0
(1 × 24) + (0 × 23) + (0 × 22) + (1 × 21) + (0 × 20)
16 + 0 + 0 + 2 + 0 = 18
Категорія Оператори
Unary + - ! ~ ++x --x (T)x
Multiplicative * / %
Additive + -
Shift << >>
Relational and type testing < > <= >= is as
Equality == !=
Logical AND &
Logical XOR ^
Logical OR |
Conditional AND &&
Conditional OR ||
Conditional ?:
Assignment = *= /= %= += -= <<= >>= &= ^= |=
Пріоритет операцій
2 and 3 and 4 and 5 or 6 and 7
010 and 011 and 100 and 101 or 110 and 111
Задача з тестів
010 and 011 = 010
010 and 100 = 000
000 and 101 = 000
110 and 111 = 110
000 or 110 = 110 (6)
Умовні оператори
Умовні оператори – це оператори які дозволяють виконувати або не виконувати певний функціонал в залежності від того чи справидиться умова виконання чи ні.
Параметри функцій
Parameter default values.
Params – навіщо це.
Ref – передача параметрів у функцію завжди по посиланню.
Out – вихідний параметр функції.
Як не потрібно писати