- •Лекция 3 Базовые и производные типы
- •Представление данных
- •Атрибуты данных
- •Типы данных
- •Базовые типы
- •Производные типы
- •Скалярные типы
- •Структурированные типы
- •Описание информационного объекта в программе Определение и объявление объекта
- •Примеры описаний программных объектов
- •Определение и инициализация переменных целых типов
- •Определение и инициализация переменных вещественных типов
- •Определение и инициализация переменных булевского типа
- •Определение и инициализация переменных символьного типа
- •Определение и инициализация переменных-указателей
- •Определение и инициализация переменных-ссылок
- •Форматы некоторых производных типов и их интерпретация
- •Класс памяти информационного объекта
- •Область действия идентификатора информационного объекта программы
- •Примеры использования переменных разных классов памяти
- •Пространство имен
- •Основные правила написания и оформления программ
Базовые типы
К базовым типам относятся:
-
арифметические типы
-
обобщенные целые (интегральные) типы:
-
целые
-
short – короткий целый
-
int –целый
-
long – длинный целый
-
-
символьный
-
char – символьный
-
wchar_t – широкосимвольный
-
-
логический
-
bool
-
-
вещественные типы:
-
float – вещественный
-
double – вещественный с удвоенной точностью
-
Таблица 1.6 Базовые типы С++:
название типа |
нижняя граница диапазона |
верхняя граница диапазона |
точность десятичн . разрядов |
размер в байтах |
|||
bool |
false |
true |
|
1 |
|||
char signed char |
-128 |
127 |
|
1 |
|||
unsigned char |
0 |
255 |
|
1 |
|||
short short int signed short |
-32 768 |
32 767 |
|
2 |
|||
unsigned short |
0 |
65 535 |
|
2 |
|||
int signed int |
-2 147 483 648 |
2 147 483 647 |
|
4 |
|||
unsigned int |
0 |
4 294 067 295 |
|
4 |
|||
long signed long long int |
2 147 483 648 |
2 147 483 647 |
|
|
|||
unsigned long |
0 |
4 294 067 295 |
|
4 |
|||
float |
-3.4*1038 |
3.4*1038 |
7 |
4 |
|||
double |
-1.7*10308 |
-1.7*10308 |
15 |
8 |
|||
void |
|
|
|
|
|||
void * |
|
|
|
4 |
Б.Страуструп отмечает, что в большинстве приложений можно обойтись выделенными типами (int, char, bool, double); остальные базовые типы являются вариациями и предназначены для оптимизации и решения специальных задач.
Производные типы
Из базовых типов и типа void, с помощью знаков операций и разделителей *, &, [ ], ( ) и механизмов определения типов структурированных данных, можно конструировать множество производных типов.
Производные типы:
-
скалярные;
-
структурированные;
-
функции;
Скалярные типы
К скалярным типам относятся:
-
арифметические типы,
-
«пустой» тип void,
-
указатели,
-
ссылки,
-
перечисляемый тип enum
Перечисляемый тип – это упорядоченный набор именованных элементов, каждый из которых имеет уникальный идентификатор и является константой данного типа. Каждому элементу списка перечисления соответствует значение типа int (начиная с нуля, с последующим увеличением значения (по умолчанию) на единицу).
Объявление перечисляемого типа:
enum имя_типа {значение_1, значение_2, …, значение_n};
Например:
enum color {red, green, blue, black, white}; // определение типа-перечисления
или
enum color {red, green=2, blue, black=7, white}; // определение типа-перечисления
color my_color = red; // определение переменной типа color с инициализацией