Основные типы данных. Данные в языке Си разделяются на две категории: простые (скалярные), будем их называть базовыми, и сложные (составные) типы данных.

Данные в языке Си разделяются на две категории: простые (скалярные), будем их называть базовыми, и сложные (составные) типы данных.

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

•внутреннее представление данных в оперативной памяти;

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

•набор операций, которые допустимы над такими данными.

 

Основные типы базовых данных: целый – int, вещественный с одинарной точностью – floatи символьный – char.

В свою очередь, данные целого типа могут быть короткими – short, а также длинными – long и еще более длинными - long long. Кроме того, при любой длине данные целых и символьного типов могут быть знаковыми - signed либо беззнаковыми – unsigned (по умолчанию они считаются знаковыми, поэтому слово signed необязательно и обычно опускается). Вещественные же данные могут иметь удвоенную точность – double или еще большую точность - long double.

В языке С++ введен также логический тип bool.Данные этого типа могут принимать лишь два значения: true (истина) и false (ложь).

 

Сложные типы данных – массивы, структуры – struct, объединения или смеси – union.

 

Данные целых и вещественных типов находятся в определенных диапазонах, т.к. занимают разный объем оперативной памяти. Вещественные типы при этом обладают еще конечной точностью хранения данных, т.е. верно хранят лишь первые несколько цифр числа; для хранения остальных (чье количество бывает даже бесконечным - например, у числа π , или у числа ⅓ ) не хватает места. В Табл. 1. приведены свойства различных типов для системы программирования C++ Builder. В других системах программирования, поддерживающих язык Си, может отличаться размер того или иного конкретного типа, например int, и соответственно будет отличаться его допустимый диапазон значений (например, тип long int может превосходить по размеру тип int). Однако последовательность возрастания размеров и точности для каждой группы типов всегда одинакова:

char ≤ short int ≤ int ≤ long int ≤ long long int

float ≤ double ≤ long double

 

Таблица 1.

Тип данных Размер (байт) Диапазон значений Точность, десятичных знаков
сhar -128 … 127  
unsigned сhar 0 … 255  
short int -215… 215–1 (-32768…32767)  
int -231…231–1 (-2147483648…2147483647)  
long int -231…231–1 (-2147483648…2147483647)  
long long int –263... 263–1 (примерно )  
unsigned short int 0…216–1 (0…65535)  
unsigned int 0…232–1 (0…4294967295)  
unsigned long int 0…232–1 (0…4294967295)  
unsigned long long int   0…264–1 (примерно 0… )  
float ±3,14*10-38…±3,14*1038 7-8
double ±1,7 *10-308… ±1,7 *10308 15-16
long double ± 1,1 * 10-4932… ± 1,1 * 104932 19-20

 

Заметим, что для целочисленных типов данных, чье название содержит слово int и еще какое-либо слово перед ним, слово int можно не писать, и обычно оно опускается (в Табл.1 необязательное int указано мелким шрифтом).

2.2. Декларация (объявление) объектов

Все объекты (переменные, функции и пр.), с которыми работает программа, в языке Си необходимо декларировать, т.е. объявить компилятору об их присутствии в программе. При этом возможны две формы декларации:

- описание, не приводящее к выделению памяти;

- определение, при котором под объект будет выделен объем оперативной памяти, в соответствии с его типом; в этом случае объект можно сразу инициализировать, т.е. задать его начальное значение.

Кроме констант, которые можно задавать в исходном тексте, все объекты программы должны быть явно декларированы по следующему формату:

<атрибуты> <список ID объектов>;

элементы списка разделяются запятыми, а атрибуты - разделителями. Например: int i,j,k; float a,b;

Объекты программы в общем случае имеют следующие атрибуты:

<класс памяти> - характеристика способа размещения объектов в памяти (статическая, динамическая), определяет область види­мости и время жизни переменной (по умолчанию - auto), данные атрибуты будут рассмотрены позже;

<тип> - характеристика механизма интерпретации данных, т.е. это совокупность информации о том, сколько объекту нужно выделить памяти, какой вид имеет представление информации и какие действия над ней допустимы (по умолчанию - int).

Класс памяти и тип – атрибуты необязательные и могут отсутст­во­вать, тогда их значения установятся по умолчанию.

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

int i,j,k;

char r;

double gfd;

 








Дата добавления: 2015-09-18; просмотров: 561;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.007 сек.