Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Lek2.doc
Скачиваний:
22
Добавлен:
15.11.2018
Размер:
173.57 Кб
Скачать

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

Типы можно классифицировать по разным признакам. Если принять за основу строение элемента, все типы можно разделить на простые (не имеют внутренней структуры) и структурированные (состоят из элементов других типов). По своему «создателю» типы можно разделить на встроенные (стандартные) и определяемые программистом (рис. 2.1). Для данных статического типа память выделяется в момент объявления, при этом ее требуемый объем известен. Для данных динамического типа размер данных в момент объявления может быть неизвестен, и память под них выделяется по запросу в процессе выполнения программы.

Рис. 1

Структура типов ЯП С++

Б а з о в ы е

Пустой

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

Скалярный (характеризуется множеством различных значений, среди которых установлен линейный порядок)

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

Логический

bool

Символьный

char

wchar_t

Целые

int

short

long

Вещественный

float

double

long double

П р о и з в о д н ы е

Скалярные

Перечисления

enum

Указатели

имя_типа*

Ссылки

имя_типа&

Структурные

Массивы

Структуры

struct

Объединения

union

Классы

class

Характеристики базовых типов данных

Имя типа Размер, Диапазон значений для

байтов, 16-разрядной

архитектура архитектуры

16 32

Символьныe

[signed]char 1 1 -128 ---- 127

unsign char 1 1 0 ----255

Логический

bool 1 1 true или false

Целые

[signed] short [int] 2 2 -32768 ---32767

unsigned short [int] 2 4 0 --- 65535

[signed] int 2 4 -32768 --- 32767

unsigned int 2 4 0 --- 65535

[signed] long [int] 4 4 -2147483648 – 2147483647

[unsigned] long [int] 4 4 0 --- 4294967295

Вещественные

float 4 4 3.4e-38 ---- 3.4e38

double 8 8 1.7e-308 ---1.7e308

long double 10 10 3.4e-4932 – 3.4e4932

Константные величины

Константы делятся на следующие группы:

Числовые

Целые

Вещественнве

Перечислимые

Символьные (литерные)

Клавиатурные

Кодовые (управляющие или разделительные символы)

Кодовые числовые

Строковые (строки или литерные строки)

Именованные (символические)

Непосредственно записать величину в программе можно с помощью литерной константы.

Компилятор, выделив константу в качестве лексемы (лексического элемента текста) по ее «внешнему виду» относит константу

к той или иной группе данных,

к тому или иному типу данных (внутри группы).

Числовые константы

  • Целые:

десятичные:

например, типа int: 0, 278, -579 -- используются десятичные цифры;

восьмеричные:

например, 00, 01,…,077777,…- используются восьмеричные цифры, запись начинается с нуля;

шестнадцатеричные:

например, 0x0000, 0x0001,…,0x7fff,…- запись начинается с символов 0x.

  • Вещественные:

например, типа double: 3.14 эквивалентна 314e-2, также эквивалентна 0.314E1.

По форме записи числовой константы компилятор определяет ее тип. По умолчанию целые десятичные константы имеют тип int, вещественные – double, если они принадлежат соответствующим множествам значений указанных типов. Если же константа выходит за пределы множества значений типа double или int, то она относится к типу, следующему за double или int по мощности допустимых значений.

Тип числовой константы можно задавать явно с помощью суффиксов:

L,llong int, например, 35L;

uh, Uh, UH, hu, hU unsigned short, например, 227UH;

F,ffloat, например, 1.5f;

L,l – long double, например, 1E-10L.

Константа с плавающей точкой включает следующие шесть частей, по которым её распознаёт компилятор:

целая часть (десятичная целая константа),

десятичная точка,

дробная часть (десятичная целая константа),

признак экспоненты е или Е,

показатель десятичной степени (десятичная целая константа, возможно со знаком),

суффикс F (или f) либо L (или l).

В записях вещественных констант могут опускаться:

целая часть, дробная часть, но не одновременно!

десятичная точка, но не одновременно!

признак экспоненты с показателем степени.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]