Типы данных в C#

Содержание

Слайд 2

Тип данных

Тип данных

Слайд 3

Типы данных делят на:

Типы данных делят на:

Слайд 4

Простой тип

Простой тип

Слайд 5

Как правило, к простым относятся числовые типы:

Как правило, к простым относятся числовые типы:

Слайд 6

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

Логические, или булевы значения (по фамилии их изобретателя — Буля), могут

Логический тип Логические, или булевы значения (по фамилии их изобретателя — Буля),
иметь лишь одно из двух состояний — «истина» или «ложь». В разных языках обозначаются bool или Boolean. «Истина» может обозначаться как true. «Ложь», соответственно, false. В языках C и C++ любое ненулевое число трактуется как «истина», а ноль — как «ложь». В принципе, для реализации типа достаточно одного бита, однако из-за особенностей микропроцессоров, на практике размер булевых величин обычно равен размеру машинного слова.
Логический тип в языке C# - bool
ПРИМЕР: bool A=true;

bool alive = true

Слайд 7

Доступные операции с логическим типом данных

Доступные операции с логическим типом данных

Слайд 8

Целочисленные типы

Целочисленные типы содержат в себе значения, интерпретируемые как числа (знаковые и

Целочисленные типы Целочисленные типы содержат в себе значения, интерпретируемые как числа (знаковые
беззнаковые). Служит для представления целых чисел.
Количество чисел в машинном изображении множества целых чисел зависит от длины машинного слова, обычно выражаемой в битах. Например, при длине машинного слова 1 байт (8 бит) диапазон представимых целых чисел со знаком от -128 до 127. В беззнаковом формате байтовое представление числа будет от 0 до 255 (28 - 1). Если используется 32-разрядное машинное слово, то целое со знаком будет представлять значения от −2 147 483 648 (-231) до 2 147 483 647 (231−1); всего 1 0000 000016 (4 294 967 29610) возможных значений.
Ограничение длины машинного слова обусловлено конкретной аппаратной реализацией того или иного компьютера.

Слайд 9

Представление целых чисел

Многие языки программирования предлагают выбор между короткими (short), длинными (long) и целыми стандартной длины.

Представление целых чисел Многие языки программирования предлагают выбор между короткими (short), длинными
Длина стандартного целого типа, как правило, совпадает с размером машинного слова на целевой платформе. Для 16-разрядных операционных систем — этот тип (int) составляет 2 байта и совпадает с типом short int (можно использовать как short, опуская слово int), для 32-разрядных операционных систем он будет равен 4 байтам и совпадает с длинным целым long int (можно использовать как long, опуская слово int), и в этом случае будет составлять 4 байта. Короткое целое short int, для 16-разрядных операционных систем, 32-разрядных операционных систем, и для большинства 64-разрядных операционных систем составляет — 2 байта. Также в некоторых языках может использоваться тип данных двойное длинное long long, который составляет 8 байт.

Слайд 10

Целочисленные типы в C#

Целочисленные типы в C#

Слайд 11

Системные целочисленные типы в C#

Системные целочисленные типы в C#

Слайд 12

Использование системных типов

Выше при перечислении всех базовых типов данных для каждого упоминался

Использование системных типов Выше при перечислении всех базовых типов данных для каждого
системный тип. Потому что название встроенного типа по сути представляет собой сокращенное обозначение системного типа. Например, следующие переменные будут эквивалентны по типу:

Слайд 13

Операции над целыми

Сравнение.
Здесь применимы соотношения «равно» («=»; «==»; «eq»), «не равно»

Операции над целыми Сравнение. Здесь применимы соотношения «равно» («=»; «==»; «eq»), «не
(«!=»; «<>»; «ne»), «больше» («>»; «gt»), «больше или равно» («>=»; «ge»), «меньше» («<»; «lt») и «меньше или равно» («<=»; «le»).
Инкремент («++») и декремент («--»)
Арифметическое увеличение или уменьшение числа на единицу. Выделено в отдельные операции из-за частого использования с переменными-счётчиками в программировании.
Сложение («+») и вычитание («-»).
Умножение («*»).
Деление («/»; «\») и получение остатка от деления ( «%»).
Инверсия знака и получение абсолютного значения .
Возведение в степень («^»).

Слайд 14

Числа с плавающей запятой

Используются для представления вещественных (не обязательно целых) чисел.
В

Числа с плавающей запятой Используются для представления вещественных (не обязательно целых) чисел.
этом случае число записывается в виде x=a*10^b. Где 0<=a<1, а b — некоторое целое число из определённого диапазона. a называют мантиссой, b — порядком. У мантиссы хранятся несколько цифр после запятой, а b — хранится полностью.

Слайд 15

Типы для хранения вещественных чисел

Типы для хранения вещественных чисел

Слайд 16

Строковые типы

Последовательность символов, которая рассматривается как единое целое в контексте переменной.
В программировании, строковый тип (string) — тип

Строковые типы Последовательность символов, которая рассматривается как единое целое в контексте переменной.
данных, значениями которого является произвольная последовательность (строка) символов алфавита. Каждая переменная такого типа (строковая переменная) может быть представлена фиксированным количеством байтов либо иметь произвольную длину.

Слайд 17

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

Некоторые языки программирования накладывают ограничения на максимальную длину строки, но

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

Слайд 18

В представлении строк в памяти компьютера существует два принципиально разных подхода:

Представление массивом

В представлении строк в памяти компьютера существует два принципиально разных подхода: Представление
символов. От названия языка Pascal, где этот метод был впервые реализован, данный метод получил название Pascal strings.
Метод «завершающего байта»:
Одно из возможных значений символов алфавита (как правило, это символ с кодом 0) выбирается в качестве признака конца строки, и строка хранится как последовательность байтов от начала до конца. Есть системы, в которых в качестве признака конца строки используется не символ 0, а байт 0xFF (255) или код символа «$». Наибольшее распространение метод получил в языке Си. 

Слайд 19

Символьные и строковые данные в C#

Символьные и строковые данные в C#

Слайд 20

Операции со строками

Операции со строками

Слайд 21

Простейшие операции со строками

получение символа по номеру позиции (индексу);
конкатенация (соединение) строк

Простейшие операции со строками получение символа по номеру позиции (индексу); конкатенация (соединение) строк

Слайд 22

Производные операции

Производные операции

Слайд 23

Операции при трактовке строк как списков

свёртка;
отображение одного списка на другой;
фильтрация списка по критерию.

Операции при трактовке строк как списков свёртка; отображение одного списка на другой; фильтрация списка по критерию.

Слайд 24

Более сложные операции

нахождение минимальной надстроки, содержащей все указанные строки;
поиск в двух массивах строк

Более сложные операции нахождение минимальной надстроки, содержащей все указанные строки; поиск в
совпадающих последовательностей (задача о плагиате).

Слайд 25

Возможные задачи для строк на естественном языке

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

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

Слайд 26

Переменные

Для хранения данных в программе применяются переменные.
Переменная представляет именованную область памяти,

Переменные Для хранения данных в программе применяются переменные. Переменная представляет именованную область
в которой хранится значение определенного типа.
Переменная имеет тип, имя и значение.
Тип определяет, какого рода информацию может хранить переменная.
Перед использованием любую переменную надо определить. Синтаксис определения переменной выглядит следующим образом:

Слайд 27

Ограничения на имя переменной:

Ограничения на имя переменной:

Слайд 28

Особенности описания переменных на языке C#

C# является регистрозависимым языком, поэтому следующие

Особенности описания переменных на языке C# C# является регистрозависимым языком, поэтому следующие
два определения переменных будут представлять две разные переменные:
После определения переменной можно присвоить некоторое значение:
можем сразу при определении присвоить переменной значение.

Слайд 29

Неявные преобразования

Иногда может потребоваться скопировать значение в переменную другого типа. Для встроенных

Неявные преобразования Иногда может потребоваться скопировать значение в переменную другого типа. Для
числовых типов неявное преобразование можно выполнить, если сохраняемое значение может уместиться в переменной без усечения или округления. Например, переменная типа long (64-разрядное целое число) может хранить любое значение, которое может хранить переменная int (32-разрядное целое число). 
Существует таблица неявных числовых преобразований.

Слайд 30

Явные преобразования

Приведение — это способ явно указать компилятору, что необходимо выполнить преобразование

Явные преобразования Приведение — это способ явно указать компилятору, что необходимо выполнить
и что вам известно, что может произойти потеря данных. Чтобы выполнить приведение, укажите тип, в который производится приведение, в круглых скобках перед преобразуемым значением или переменной.
Существует также таблица явных числовых преобразований.

При преобразовании вещественного типа в целочисленный, число округляется. Либо возникает исключение (ошибка), если оно не помещается в заданный диапазон.

Слайд 31

Использование суффиксов

При присвоении значений надо иметь в виду следующую тонкость: все вещественные

Использование суффиксов При присвоении значений надо иметь в виду следующую тонкость: все
литералы рассматриваются как значения типа double. И чтобы указать, что дробное число представляет тип float или тип decimal, необходимо к литералу добавлять суффикс: F/f - для float и M/m - для decimal.

Слайд 32

Неявная типизация

Для неявной типизации вместо названия типа данных используется ключевое слово var. Затем

Неявная типизация Для неявной типизации вместо названия типа данных используется ключевое слово
уже при компиляции компилятор сам выводит тип данных исходя из присвоенного значения. Т.е. в этом случае мы обязаны присвоить переменной начальное значение.