🗊 Презентация Типы* языка Си. Лекция 3

Нажмите для полного просмотра!
Типы* языка Си. Лекция 3, слайд №1 Типы* языка Си. Лекция 3, слайд №2 Типы* языка Си. Лекция 3, слайд №3 Типы* языка Си. Лекция 3, слайд №4 Типы* языка Си. Лекция 3, слайд №5 Типы* языка Си. Лекция 3, слайд №6 Типы* языка Си. Лекция 3, слайд №7 Типы* языка Си. Лекция 3, слайд №8 Типы* языка Си. Лекция 3, слайд №9 Типы* языка Си. Лекция 3, слайд №10 Типы* языка Си. Лекция 3, слайд №11 Типы* языка Си. Лекция 3, слайд №12 Типы* языка Си. Лекция 3, слайд №13 Типы* языка Си. Лекция 3, слайд №14 Типы* языка Си. Лекция 3, слайд №15 Типы* языка Си. Лекция 3, слайд №16 Типы* языка Си. Лекция 3, слайд №17 Типы* языка Си. Лекция 3, слайд №18 Типы* языка Си. Лекция 3, слайд №19 Типы* языка Си. Лекция 3, слайд №20 Типы* языка Си. Лекция 3, слайд №21 Типы* языка Си. Лекция 3, слайд №22 Типы* языка Си. Лекция 3, слайд №23 Типы* языка Си. Лекция 3, слайд №24 Типы* языка Си. Лекция 3, слайд №25 Типы* языка Си. Лекция 3, слайд №26 Типы* языка Си. Лекция 3, слайд №27 Типы* языка Си. Лекция 3, слайд №28

Содержание

Вы можете ознакомиться и скачать презентацию на тему Типы* языка Си. Лекция 3. Доклад-сообщение содержит 28 слайдов. Презентации для любого класса можно скачать бесплатно. Если материал и наш сайт презентаций Mypresentation Вам понравились – поделитесь им с друзьями с помощью социальных кнопок и добавьте в закладки в своем браузере.

Слайды и текст этой презентации


Слайд 1


Типы* языка Си Лекция 3
Описание слайда:
Типы* языка Си Лекция 3

Слайд 2


План лекции Классификация типов данных языка Си Функциональные Полные – целые, с плавающей точкой, и т.п. Неполные – void и ещё Производные vs...
Описание слайда:
План лекции Классификация типов данных языка Си Функциональные Полные – целые, с плавающей точкой, и т.п. Неполные – void и ещё Производные vs непроизводные Представление типов в памяти Представление целых и вещественных типов Совместимые типы, композиция типов

Слайд 3


Тип (данных) Тип (данных) – это способ доступа к значению, хранящемуся в памяти или являющемуся результатом вычислений Задается выражением языка Си...
Описание слайда:
Тип (данных) Тип (данных) – это способ доступа к значению, хранящемуся в памяти или являющемуся результатом вычислений Задается выражением языка Си Функциональные типы – описывают функции Полные типы – полностью описывают объекты Неполные типы – описывают объекты, но не позволяют определить их размер в байтах

Слайд 4


Классификация целых типов
Описание слайда:
Классификация целых типов

Слайд 5


Свойства целых типов 1/2 Диапазона char достаточно для представления всех элементов основного набора символов В 99% случаев основной набор символов =...
Описание слайда:
Свойства целых типов 1/2 Диапазона char достаточно для представления всех элементов основного набора символов В 99% случаев основной набор символов = набор ASCII из 128 элементов (1963г.) Символы основного набора >= 0 Знак остальных символов – implementation defined sizeof(char) == sizeof(signed char)

Слайд 6


Свойства целых типов 2/2 Если T -- знаковый целый тип, UT – соотв. беззнаковый целый тип, то sizeof(T) == sizeof(UT) Диапазон неотрицательных...
Описание слайда:
Свойства целых типов 2/2 Если T -- знаковый целый тип, UT – соотв. беззнаковый целый тип, то sizeof(T) == sizeof(UT) Диапазон неотрицательных значений T  диапазон значений UT Представление х >= 0 совпадает для T и UT Вычисления со значениями типа UT выполняются по модулю 1 + максимум диапазона значений UT Никогда не приводят к переполнению

Слайд 7


Типы с плавающей точкой Вещественные типы с плавающей точкой float double long double (C99) Диапазон значений float  диапазон значений double ...
Описание слайда:
Типы с плавающей точкой Вещественные типы с плавающей точкой float double long double (C99) Диапазон значений float  диапазон значений double  диапазон значений long double С99: комплексные типы с плавающей точкой _Complex float и т.д.

Слайд 8


Базовые типы, символьные типы Базовые типы = char + знаковые целые типы + беззнаковые целые типы + вещественные типы Базовые типы имеющие одинаковое...
Описание слайда:
Базовые типы, символьные типы Базовые типы = char + знаковые целые типы + беззнаковые целые типы + вещественные типы Базовые типы имеющие одинаковое представление все равно разные Символьные типы= { char, signed char, unsigned char } Выбор implementation defined: Диапазон значений char = диапазон значений signed char Диапазон значений char = диапазон значений unsigned char

Слайд 9


Перечислимый тип, целые типы Перечисление (enum) – это множество именованных целых констант Перечислимый тип задается перечислением Целые типы = {...
Описание слайда:
Перечислимый тип, целые типы Перечисление (enum) – это множество именованных целых констант Перечислимый тип задается перечислением Целые типы = { char } + знаковые целые типы + беззнаковые целые типы + перечислимые типы

Слайд 10


Вещественные и арифметические типы, void Вещественные типы = целые типы + вещественные типы с плавающей точкой Арифметические типы = целые типы +...
Описание слайда:
Вещественные и арифметические типы, void Вещественные типы = целые типы + вещественные типы с плавающей точкой Арифметические типы = целые типы + типы с плавающей точкой Включают комплексные типы в С99 До С99 то же, что вещественные типы Тип void Пустое множество значений Неполный тип (не имеет размера)

Слайд 11


Производные типы Производные типы строятся из функциональных, полных и неполных типов Тип может быть одновременно производным и функциональным,...
Описание слайда:
Производные типы Производные типы строятся из функциональных, полных и неполных типов Тип может быть одновременно производным и функциональным, производным и полным, производным и неполным Тип-массив Тип-структура Тип-объединение Функциональный тип Тип-указатель

Слайд 12


Тип-массив Непрерывно размещенный в памяти набор элементов одного типа Тип элементов Полный Массивы неполных и функциональных типов запрещены Число...
Описание слайда:
Тип-массив Непрерывно размещенный в памяти набор элементов одного типа Тип элементов Полный Массивы неполных и функциональных типов запрещены Число элементов Если число элементов не указано, то получается неполный тип-массив «Массив типа Т», «целый массив», «вещественный массив», и т.п.

Слайд 13


Тип-структура Последовательно размещенная в памяти непустая последовательность именованных элементов Типы элементов Могут быть разными Все кроме...
Описание слайда:
Тип-структура Последовательно размещенная в памяти непустая последовательность именованных элементов Типы элементов Могут быть разными Все кроме последнего должны быть полными Последний может быть полным или неполным типом-массивом Например, struct TCharBuffer { int Size; char Data[]; };

Слайд 14


Тип-объединение Набор именованных значений, размещенных в памяти с перекрытием Типы элементов Могут быть разными Должны быть полными
Описание слайда:
Тип-объединение Набор именованных значений, размещенных в памяти с перекрытием Типы элементов Могут быть разными Должны быть полными

Слайд 15


Функциональный тип Функция, возвращающая указанный тип Функция характеризуется Возвращаемым типом Числом параметров Типами параметров «Функция,...
Описание слайда:
Функциональный тип Функция, возвращающая указанный тип Функция характеризуется Возвращаемым типом Числом параметров Типами параметров «Функция, возвращающая Т»

Слайд 16


Тип-указатель Полный тип, значения которого указывают (ссылаются) на значения заданного типа Размер указателя известен независимо от типа указываемых...
Описание слайда:
Тип-указатель Полный тип, значения которого указывают (ссылаются) на значения заданного типа Размер указателя известен независимо от типа указываемых значений Тип указываемых значений может быть любым В том числе, неполным «Указатель на Т», «указатель на int», «указатель на указатель», и т.д.

Слайд 17


Представление типов* 1/2 * в памяти Значение – это непрерывная последовательность байтов памяти Битовое поле – это непрерывная последовательность...
Описание слайда:
Представление типов* 1/2 * в памяти Значение – это непрерывная последовательность байтов памяти Битовое поле – это непрерывная последовательность битов памяти Используются довольно редко Размер значения (битового поля) – это длина этой последовательности Значения битовых полей хранятся внутри значений целых типов Для беззнаковых битовых полей хранится двоичная запись

Слайд 18


Представление типов 2/2 Для unsigned char хранится двоичная запись значения Любое значение типа Т размером N байтов можно скопировать в массив типа...
Описание слайда:
Представление типов 2/2 Для unsigned char хранится двоичная запись значения Любое значение типа Т размером N байтов можно скопировать в массив типа unsigned char[N] Значение этого массива называется двоичным представлением значения типа Т Значения, отличные от NaN-ов и имеющие одинаковое двоичное представление, равны Равные значения могут иметь разное двоичное представление Некоторые значения типа unsigned char[N] могут не быть двоичным представлением никакого значения типа Т – это т.н. особые значения Доступ и изменение двоичного представления особых значений иначе, чем через символьный тип, ведет к undefined behavior

Слайд 19


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

Слайд 20


Представление беззнаковых целых типов Двоичное представление беззнакового целого типа != unsigned char делится на Значащие биты (обязательно)...
Описание слайда:
Представление беззнаковых целых типов Двоичное представление беззнакового целого типа != unsigned char делится на Значащие биты (обязательно) Значащие биты представляют степени 2 от 1 до 2^(число значащих битов - 1) Выравнивающие биты (как правило отсутствуют) Значение выравнивающих битов не определено Двоичное представление unsigned char не содержит выравнивающих битов См. предыдущие слайды про представление типов

Слайд 21


Представление знаковых целых типов Значащие биты (обязательно) Значащие биты представляют степени 2 от 1 до 2^(число значащих битов - 1) Знаковый бит...
Описание слайда:
Представление знаковых целых типов Значащие биты (обязательно) Значащие биты представляют степени 2 от 1 до 2^(число значащих битов - 1) Знаковый бит (обязательно) 0 --> значением является число Ч, записанное в значащих битах 1 --> значением является число – Ч – «знак и абсолютная величина» Ч – 2^(число значащих битов) – «дополнительный код» Ч – 2^(число значащих битов) + 1 Выравнивающие биты (как правило отсутствуют) Значение выравнивающих битов не определено

Слайд 22


Представление double – стандарт IEEE 754
Описание слайда:
Представление double – стандарт IEEE 754

Слайд 23


Представление float – стандарт IEEE 754
Описание слайда:
Представление float – стандарт IEEE 754

Слайд 24


Совместимость struct, union, enum 1/2 Типы Т1 и Т2 совместимы, если выполнены условия Т1 и Т2 не имеют тэга, либо тэг совпадает Т1 и Т2 являются...
Описание слайда:
Совместимость struct, union, enum 1/2 Типы Т1 и Т2 совместимы, если выполнены условия Т1 и Т2 не имеют тэга, либо тэг совпадает Т1 и Т2 являются полными Элементы Т1 и Т2 взаимно однозначно соответствуют друг другу В каждой паре соответствующих элементов Типы являются совместимыми Имена совпадают Если элементы пары – это битовые поля, то их ширина совпадает Если Т1 и Т2 являются enum, то элементы пары имеют одинаковое значение Если Т1 и Т2 являются struct, то порядок элементов в Т1 и в Т2 совпадает Спецификаторы типа, квалификаторы типа, и деклараторы могут дополнительно ограничивать совместимость

Слайд 25


Совместимость struct, union, enum 2/2 Если объект или функция имеют внешнее связывание, то они должны быть объявлены с совместимыми типами В...
Описание слайда:
Совместимость struct, union, enum 2/2 Если объект или функция имеют внешнее связывание, то они должны быть объявлены с совместимыми типами В противном случае поведение программы не определено

Слайд 26


Композиция типов 1/2 Композицией совместимых типов Т1 и Т2 называется тип, построенный по правилам: Если Т1 (или Т2) – это массив фиксированного...
Описание слайда:
Композиция типов 1/2 Композицией совместимых типов Т1 и Т2 называется тип, построенный по правилам: Если Т1 (или Т2) – это массив фиксированного размера, то Т1 (соотв. Т2) С99: Если Т1 (или Т2) – это массив переменного размера, то Т1 (соотв. Т2) Если Т1 (или Т2) – это прототип функции (т.е. функция с списком формальных параметров), то Т1 (соотв. Т2) Если Т1 и Т2 – это прототипы функций, то тип формального параметра композиции является композицией типов формальных параметров Если T1 и T2 – это производные типы, то правила применяются рекурсивно к типам, от которых произведены Т1 и Т2

Слайд 27


Композиция типов 2/2 Единица трансляции А int f(int(*)(), double(*)[3]); Единица трансляции Б int f(int(*)(char *), double(*)[]); Композиция типов...
Описание слайда:
Композиция типов 2/2 Единица трансляции А int f(int(*)(), double(*)[3]); Единица трансляции Б int f(int(*)(char *), double(*)[]); Композиция типов функции f int f(int(*)(char *), double(*)[3]);

Слайд 28


Заключение Классификация типов данных языка Си Функциональные Полные – целые, с плавающей точкой, и т.п. Неполные – void и ещё Производные vs...
Описание слайда:
Заключение Классификация типов данных языка Си Функциональные Полные – целые, с плавающей точкой, и т.п. Неполные – void и ещё Производные vs непроизводные Представление типов в памяти Представление целых и вещественных типов Совместимые типы, композиция типов



Похожие презентации
Mypresentation.ru
Загрузить презентацию