Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
л_1_введение_в_С++.doc
Скачиваний:
10
Добавлен:
02.11.2018
Размер:
292.35 Кб
Скачать

Типы данных

Представление данных связано с их типом. Концепция типа данных основывается на следующих положениях:

    • Все данные, а также результаты вычисления выражений или функции должны иметь определенный тип.

    • Каждая операция или функция требуют аргументов фиксированного типа и выдают результат фиксированного типа. Если операция допускает аргументы нескольких типов, то тип результата можно определить по специальным правилам языка.

Тип информационного объекта:

определяет:

    • внешнее представление объекта на языке программирования;

    • внутреннее представление объекта в памяти ЭВМ;

    • требуемое для объекта количество памяти при ее начальном распределении;

    • множество значений, которые могут принимать величины этого типа;

    • способ доступа к элементам составных данных;

    • совокупность операций и функций, которые можно применять к величинам этого типа;

  • интерпретирует двоичные коды значений при последующих обращениях к информационному объекту;

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

Таблица 4.2 Базовые типы в С++:

название типа

нижняя граница диапазона

верхняя граница диапазона

точность десятичн . разрядов

размер в байтах

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

long

long int

signed long

-2 147 483 648

2 147 483 647

4

unsigned int

0

4 294 067 295

4

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

Таблица 4.3 Константы с предельными значениями диапазонов типов

<limits.h>

CHAR_MAX CHAR_MIN

UCHAR_MAX

SHRT_MAX SHRT_MIN

USHRT_MAX

INT_MAX INT_MIN

UINT_MAX

<float.h>

FLT_MAX FLT_MIN

DBL_MAX DBL_MIN

LDBL_MAX LDBL_MIN

127 -128

255

32767 -32768

65535

2 147 483 647 -2 147 483 648

4 294 967 295

3.40282e+038 1.17549e-038

1.79769e+308 2.22507e-308

1.79769e+308 2.22507e-308

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

Динамическая типизация (РНР, Perl) предполагает, что тип значения информационного объекта определяется присвоенным или выработанным им значением в момент присваивания (выработки), может быть определен по его значению и для переменных изменен в процессе выполнения программы.

Язык программирования должен обладать средствами, которые позволят:

    • иметь стандартные (предопределенные) типы данных;

    • иметь возможность описания новых (пользовательских) типов данных:

- простых неструктурированных (путем перечисления значений, указания интервалов значений и т.п.);

- структурированных (обладать средствами, позволяющими строить последовательности и наборы данных: массивы, структуры, файлы и т.д.).

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

Характеристиками структурированного типа являются:

  • множественность элементов,

  • его структура,

  • способ доступа к элементам,

  • тип элементов,

  • операции с данными этого типа.