Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лек_ООП_2_1_1 Синтаксис языка C#. Данные и опе...doc
Скачиваний:
2
Добавлен:
13.11.2019
Размер:
208.9 Кб
Скачать

9

Лекция 2.1.1 "Объектно-ориентированная технология программирования"

Тема 2.1.1 Синтаксис языка c#. Данные и операции над ними

Тема 2.1.1 Синтаксис языка c#. Данные и операции над ними 1

Какие типы данных присутствуют в C#? 1

Какие типы данных встроены в C#? 2

Почему в C# типы данных являются одновременно и классами? 3

При каких условиях переменным одного типа можно присваивать значения другого типа? 3

Как в C# автоматизируется преобразование типов? 5

Как в C# объявляются и инициируются переменные? 5

Где в C# объявляются переменные? 5

Каково поведение локальных переменных в C#? 5

Как в C# объявляются константы? 6

Чем операции и выражения в C# отличаются от операций и выражений в С++? 6

Какие математические функции и константы встроены в C#? 7

Как в C# генерировать случайные числа? 8

Чем операторы C# отличаются от операторов С++? 8

На самостоятельное изучение: 9

Материал взят из файла «Лекции по C# В_А_Биллинг.pdf», Глава 3. Лекция: Система типов языка С#.

Какие типы данных присутствуют в c#?

1. Типы-значения (value), или значимые типы.

2. Ссылочные (reference).

3. Указатели (pointer).

4. Тип void.

Эта классификация основана на том, где и как хранятся значения типов.

В отдельную категорию выделены указатели, что подчеркивает их особую роль в языке. Указатели имеют ограниченную область действия и могут использоваться только в небезопасных блоках, помеченных как unsafe.

Особый статус имеет и тип void, указывающий на отсутствие какого-либо значения.

Переменные значимых типов в C# могут объявляться и инициироваться обычным для С++ способом. Например: int i=0;

К ссылочным типам относятся: массивы, строки и классы. При определении переменных этих типов используется оператор new или операция присваивания адреса от уже существующей переменной.

Массивы рассматриваются как динамические переменные, их размер может определяться на этапе вычислений, а не в момент трансляции. Например:

Int[] mass;// объявление массива целых чисел mass

mass=new int[10];// определение массива из 10 целых чисел

Строки также рассматриваются как динамические переменные, длина которых может изменяться. Например:

string s1; // объявление пустой строки s1

s1=”Привет!”; // строке s1 определяется размер 7 символов и значение «Привет!»

Структуры представляют частный случай класса. Определив свой класс как структуру, программист получает возможность отнести класс к значимым типам, что иногда бывает крайне полезно, так как требует меньших затрат памяти и времени на обработку.

Какие типы данных встроены в c#?

В основном, это такие типы, которые поддерживаются платформой .NET.

Вот перечень и краткое описание встроенных типов:

Логический тип

Имя типа

Системный тип

Значения

Размер

Bool

System.Boolean

true, false

8 бит

Арифметические целочисленные типы

Имя типа

Системный тип

Диапазон

Размер

Sbyte

System.SByte

-128 — 127

Знаковое, 8 Бит

Byte

System.Byte

0 — 255

Беззнаковое, 8 Бит

Short

System.Short

-32768 —32767

Знаковое, 16 Бит

Ushort

System.UShort

0 — 65535

Беззнаковое, 16 Бит

Int

System.Int32

≈(-2*10^9 — 2*10^9)

Знаковое, 32 Бит

Uint

System.UInt32

≈(0 — 4*10^9)

Беззнаковое, 32 Бит

Long

System.Int64

≈(-9*10^18 — 9*10^18)

Знаковое, 64 Бит

Ulong

System.UInt64

≈(0— 18*10^18)

Беззнаковое, 64 Бит

Арифметический тип с плавающей точкой

Имя типа

Системный тип

Диапазон

Точность

Float

System.Single

+1.5*10^-45 - +3.4*10^38

7 цифр

Double

System.Double

+5.0*10^-324 - +1.7*10^308

15-16 цифр

Арифметический тип с фиксированной точкой

Имя типа

Системный тип

Диапазон

Точность

Decimal

System.Decimal

+1.0*10^-28 - +7.9*10^28

28-29 значащих цифр

Символьные типы

Имя типа

Системный тип

Диапазон

Точность

Char

System.Char

U+0000 - U+ffff

16 бит Unicode символ

String

System.String

Строка из символов Unicode

Объектный тип

Имя типа

Системный тип

Примечание

Object

System.Object

Прародитель всех встроенных и пользовательских типов

Система встроенных типов языка C# не только содержит практически все встроенные типы (за исключением long double) стандарта языка C++, но и перекрывает его разумным образом. В частности тип string является встроенным в язык, что вполне естественно.