01 c# basics

24
Основи C#

Upload: eleksdev

Post on 10-May-2015

898 views

Category:

Education


1 download

TRANSCRIPT

Page 1: 01 c# basics

Основи C#

Page 2: 01 c# basics

Зміст

1. Що таке код програми?2. Виконання програми3. Середовища розробки4. Перша програма5. Базовий синтаксис6. Типи даних7. Змінні8. Decimal9. Рядки10. Масиви11. Цикли

12. Логічні операції13. Умовні оператори14. Параметри функцій15. Як не потрібно писати код

Page 3: 01 c# basics

Що таке код програми?ф

ункц

ія

Page 4: 01 c# basics

Виконання програмиКод програми на NET

орієнтованій мові NET компілятор

Збірка *.dll або *.exe(код MSIL, метадані і маніфест)

Завантаження класів

JIT - компіляція

Керований код, специфічний для платформи Net

Виконання програмних компонентів

Сере

дови

ще

вико

нанн

я N

ET

прог

рам

(CLR

)

Бібліотека базових класів і ін.

Page 5: 01 c# basics

Виконання програми

NET компілятор – компілює вихідний код в MSIL (Microsoft Intermediate Language), також її називають CIL (Common Intermediate Language).

Збірка – двійковий файл, що підтримує версії , самоописує себе і обслуговується оточенням CLR (Common Language Runtime). Окрім власне коду MSIL в збірці міститься різноманітна службова інформація, наприклад: інформація про зовнішні збірки (залежності), структура включених в неї типів і т. п.

JIT компілятор – виконує перетворення коду MSIL в машинні команди по мірі виклику підпрограм (фрагментами). На виході утворюється так званий керований код, який потім виконується в середовищі CLR. Керований тому, що містить метадані, які дозволяють CLR виконувати перевірку безпеки, контроль прав, контроль версій, збір мусору і т. п.

Page 6: 01 c# basics

• Visual Studio• Eclipse• NetBeans IDE• MonoDevelop• Delphi• Notepad :)

Середовища розробки

Page 7: 01 c# basics

Перша програма

Hello world!

Page 8: 01 c# basics

Синтаксис

Page 9: 01 c# basics

Основні типи даних:- void- int\long\short- float\double- decimal- bool- string\char- object

Типи даних

Reference types\value types

mutable\immutable

Enumeration Types

Page 10: 01 c# basics

Типи даних

Тип Діапазон значень Розмір (точність)

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 залежить від вільної пам'яті

Page 11: 01 c# basics

Скільки раз виконається наступний цикл: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);}

Page 12: 01 c# basics

• Оголошення простих типів

• Константи

• Створення об’єктів

Змінні

Змінна – об’єкт програми, область пам’яті у якій ми можемо збегірати, змінювати та отримувати дані з різних частин програми

Page 13: 01 c# basics

DecimalDecimal – числові дані з фіксованою точністю і масштабом.

• Більш висока точність десяткової частини, але менший діапазон значень ніж у double

• Відсутні помилки заокруглення, що присутні в double і float• Відсутня апаратна підтримка на рівні процесора, тому арифметичні

операції з decimal приблизно у 10 разів повільніші ніж з double і floatСлід використовувати у фінансових програмах.

Page 14: 01 c# basics

РядкиРядок – це об’єкт типу string, який представляє довільний рядок тексту.

• Рядок є reference типом• Це immutable (незмінний) тип• Може містити значення null• Рядок перевизначає оператор рівності ==• Intern pool (одинакові рядки зберігаються лише раз)• Стандартні і дослівні літерали

Page 15: 01 c# basics

Рядки

• Чому погано писати

• Використовуйте

Page 16: 01 c# basics

• Оголошення

• Доступ до елементу

МасивиМасив – сукупність елементів одного типу даних, впорядкованих за індексами.

Page 17: 01 c# basics

Цикл – це повторення виконання однієї і тієї ж частини коду декілька раз (доки дійсна умова)

Цикли

- for (var i; i<count; i++)

- while (i > count)

- do…while (i > count)

- foreach (var i in items)

Page 18: 01 c# basics

Унарні !Бінарні || && < > >= <= == !=Тринарні ? :

Логічні операції

Page 19: 01 c# basics

Задача з тестів

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

Page 20: 01 c# basics

Категорія Оператори

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 = *= /= %= += -= <<= >>= &= ^= |=

Пріоритет операцій

Page 21: 01 c# basics

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)

Page 22: 01 c# basics

Умовні оператори

Умовні оператори – це оператори які дозволяють виконувати або не виконувати певний функціонал в залежності від того чи справидиться умова виконання чи ні.

Page 23: 01 c# basics

Параметри функцій

Parameter default values.

Params – навіщо це.

Ref – передача параметрів у функцію завжди по посиланню.

Out – вихідний параметр функції.

Page 24: 01 c# basics

Як не потрібно писати