Файл: Pobegaylo_A._C_Cplus_dlya_studenta.pdf

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 13.12.2020

Просмотров: 4086

Скачиваний: 28

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
background image

  

 
 

Г Л А В А  

 
 
 

Встроенные типы данных  

и переменные 

2.1. Базовые типы данных 

Тип  данных

  определяется  как  множество  значений  и  множество 

операций, допустимых над этими значениями. В табл. 2.1 приве-

дены 

  базовые  типы  данных

,  предопределенные  в  языке  про-

граммирования С. 

Таблица 2.1.

 Базовые типы данных 

Тип данных 

Длина в байтах 

Диапазон значений 

char 

0...255 или -128 ... 127 

int 

Не менее 2 

Зависит от длины 

float 

-3.4E-38 ... 3.4E+38 

double 

-1.8E-308 ... 1.8E+308 

 

В стандарте языка C длина в байтах и, соответственно, диапазон 
типа  данных 

int

  не  определены  точно  и  зависят  от  системы,  на 

которой реализован компилятор. Под системой понимается мик-

ропроцессор и операционная система, на которой функционирует 

компилятор.  Однако  предполагается,  что  этот  тип  данных,  по 
крайней мере, содержит диапазон целых чисел от 

-32768

 до 

32767

Диапазоны типов данных 

float

 и 

double

 приведены с округлени-

ем до первого знака после точки. Точные границы этих диапазо-

нов указаны в заголовочном файле float.h. 

  

 


background image

Часть I. Язык программирования С 

32 

Кроме того, в языке программирования C определен тип данных 

void

,  который  определяет  пустое  множество  значений.  Этот  тип 

данных используется только в следующих случаях: 

 

для определения функций, которые не возвращают значения; 

 

для определения функций, которые не имеют параметров; 

 

для определения родовых указателей. 

Все эти случаи будут подробно рассмотрены в соответствующих 
разделах. 

2.2. Модификаторы типов 

Для  более  точного  выбора  диапазона  значений  базового  типа 
данных используются

 модификаторы типов

, которые делятся на 

две группы: модификаторы длины и модификаторы знака. 

Моди-

фикаторы  длины

  задаются  следующими  ключевыми  сло- 

вами: 

 

short

 — короткое представление; 

 

long

 — длинное представление. 

Модификаторы знака

 задаются следующими ключевыми словами: 

 

signed

 — значение данного типа имеет знак; 

 

unsigned

 — значение данного типа не имеет знака. 

Использование  модификаторов  типов  данных  подчиняется  сле-
дующим правилам: 

 

с  типом  данных 

char

  используются  только  модификаторы  

знака; 

 

с типом данных 

int

  могут  использоваться  как  модификаторы 

длины, так и модификаторы знака; 

 

с типом данных 

float

 по стандарту языка C модификаторы не 

используются,  хотя  некоторые  компиляторы  воспринимают 
тип 

long float

 как тип 

double

 

с  типом  данных 

double

  используется  только  модификатор 

длины 

long

, использование с типом данных 

double

 модифика-

тора длины 

short

 вызовет ошибку. 


background image

Глава 2. Встроенные типы данных и переменные 

33 

2.3. Спецификаторы типов 

Комбинация  модификаторов  типа  данных  и  базового  типа  дан-
ных  называется 

спецификатором  типа  данных. 

При  этом  отме-

тим следующие два момента. 
Во-первых,  в  некоторых  случаях  для  краткого  обозначения  спе-
цификатора типа данных может использоваться только ключевое 
слово, обозначающее модификатор типа данных. 
Во-вторых,  при  определении  спецификатора  типа  порядок  пере-
числения ключевых слов, обозначающих модификаторы и тип, не 
имеет значения. Перечислим спецификаторы типов данных, при-
нимая во внимание второе замечание и учитывая правила исполь-
зования модификаторов с простыми типами данных. 
Спецификаторы  символьных  типов  данных  приведены  в 
табл. 2.2. 

Таблица 2.2.

 Спецификаторы символьных типов данных 

Спецификатор типа 

Длина в байтах 

Диапазон значений 

char 

0 ... 255 или -128 ... 127 

signed char 

-128 ... 127 

unsigned char 

0 ... 255 

 
Спецификаторы  целочисленных  типов  данных  приведены  в 
табл. 2.3. 

Таблица 2.3.

 Спецификаторы целочисленных типов данных 

Спецификатор типа 

Длина 

в байтах 

Диапазон значений 

short int 

-32768 ... 32767 

short 

-32768 ... 32768 

signed short int 

-32768 ... 32767 

signed short 

-32768 ... 32767 


background image

Часть I. Язык программирования С 

34 

Таблица 2.3

 (окончание) 

Спецификатор типа 

Длина 

в байтах 

Диапазон значений 

unsigned short int 

0 ... 65535 

unsigned short 

0 ... 65535 

signed int 

Не менее 2 

Зависит от длины 

signed 

Не менее 2 

Зависит от длины 

int 

Не менее 2 

Зависит от длины 

unsigned int 

Не менее 2 

Зависит от длины 

unsigned 

Не менее 2 

Зависит от длины 

long int 

–2147483648 ... 2147483647 

long 

–2147483648 ... 2147483647 

signed long int 

–2147483648 ... 2147483647 

signed long 

–2147483648 ... 2147483647 

unsigned long int 

0 ... 4294967295 

unsigned long 

0 ... 4294967295 

 
Спецификаторы типов данных с плавающей точкой приведены в 
табл. 2.4. 

Таблица 2.4.

 Спецификаторы типов данных с плавающей точкой 

Спецификатор типа 

Длина в байтах 

Диапазон значений 

float 

-3.4E-38 ... 3.4E+38 

double 

-1.8E-308 ... 1.8E+308 

long double 

10 

-1.2E-4932 ... 1.2E4932 

 
Спецификаторы  типов  данных  определяют  полный  набор  типов 
данных, 

встроенных

  в  язык  программирования  С.  Встроенные 

типы  данных  также  называются 

предопределенными

,  или 

стан-

дартными

, или 

фундаментальными

 типами данных. 


background image

Глава 2. Встроенные типы данных и переменные 

35 

Типы данных, построенные на основе встроенных типов данных, 
называются 

сложными

  (compound).  Поэтому  встроенные  типы 

данных  часто  также  называются 

простыми

  (simple).  К  сложным 

типам  данных  относятся  указатели,  массивы,  перечисления, 
структуры  и  объединения.  Все  эти  типы  данных  будут  рассмот-
рены в дальнейшем. 

2.4. Переменные 

Переменная

  или 

объект

 —  это  поименованная  область  памяти,  

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

  спецификатор_типа список_идентификаторов;

 

где 

спецификатор_типа

  является  одним  из  спецификаторов,  рас-

смотренных  в  предыдущем  разделе,  а 

список_идентификаторов

 

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

  float d; 
  int   i, j, k; 
  long double   b; 
  unsigned long u; 

Не может быть объявлена переменная типа 

void

, т. к. компилято-

ру неизвестно, сколько памяти нужно отводить под такую пере-
менную. 

 

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

При своем объявлении переменным могут присваиваться началь-
ные значения или, другими словами, переменные могут инициа-
лизироваться. Для инициализации переменных используется опе-


Смотрите также файлы