Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
shpory_si.docx
Скачиваний:
33
Добавлен:
25.09.2019
Размер:
205.61 Кб
Скачать

2. Основные типы данных. Классификация их типов. Модификация базовых типов.

Типом данных называется набор предопределеннфх значений и набор операций, которые можно выполнить

над переменной данного типа. Переменные можно инициализировать ы месте их описания.

Пример:

int heigh=71;

float k=26034.12;

Переменная любого типа может быть объявлена как немодифицируемая. Это достигается добавлением

ключевого слова const к спецификатору-типа. Объекты с типом const представляют собой данные,

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

Отметим, что если после слова const отсутствует спецификатор-типа, то подразумевается

спецификатор типа int. Если ключевое слово const стоит перед объявлением составных типов (массив,

структура, смесь, перечисление), то это приводит к тому, что каждый элемент также должен являться

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

Примеры:

const double A=2.128E-2;

const B=286; // подразумевается const int B=286

Целый тип данных

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

диапазон значений и размер области памяти, выделяемой под переменные (таблица 5).

Таблица 5

Тип

Размер памяти в байтах

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

char

1

от -128 до 127

int

Для IBM XT,AT,SX,DX 2

 

short

2

от -32768 до 32767

long

4

от -2 147 483 648 до 2 147 483 647

unsigned shar

1

oт 0 до 255

unsigned int

Для IBM XT,AT,SX,DX 2

 

unsigned short

2

от 0 до 65535

unsigned long

4

от 0 до 4 294 967 295

Ключевые слова signed и unsigned необязательны. Они указывают, как интерпретируется нулевой бит

объявляемой переменной, т.е., если указано ключевое слово unsigned, то нулевой бит

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

В случае отсутствия ключевого слова unsigned целая переменная считается знаковой. В том случае,

если спецификатор типа состоит из ключевого типа signed или unsigned и далее следует

идентификатор переменной, то она будет рассматриваться как переменная типа int. Например:

unsigned int n;

unsigned int b;

int c; //подразумевается signed int c

unsigned d; //подразумевается unsigned int d

signed f; //подразумевается signed int f

Типы данных с плавающей точкой

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

типа:

Таблица 6

Тип

Размер памяти в байтах

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

float

4

от 3,4*10 -38 до 3,4*10 + 38

double

8

от 1,7 *10 -3 0 8 до 3,4*10 + 3 0 8

long double

10

от 3,4*10 - 4932 до 1,1 *10 +4932

Пример:

float f, a, b;

double x,y;

Символы

Символьный тип в языке С относится к целым типам данных. Отметим, что модификатор-типа char

используется для представления символа (из массива представление символов) или для объявления

строковых литералов.

Таблица 7

Тип

Размер памяти в байтах

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

char

1

от -128 до 127

signed char

1

от -128 до 127

unsigned char

1

от 0 до 255

Отметим также, что восьмеричные и шестнадцатеричные константы также могут иметь модификатор

unsigned.

Например:

0xA8C (int signed );

01786l (long signed );

0xF7u (int unsigned );

Тип void

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

аргумента функций, как базовый тип для указателей и в операуии приведения типов.

Преобразование типов

Приведение типов – изменение (преобразование) типа объекта. Для выполнения преобразования

необходимо перед объектом записать в скобках нужный тип:

(имя-типа) операнд;

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

Пример:

int i;

double x;

x=(double)i+2.0;

В этом примере целая переменная i с помощью операции приведения типов приводится к плавающему

типу, а затем уже участвует в вычислении выражений.

К символам модификации текущего типа относят:

Символ * - означает декларацию указателя на объект исходного типа

Символ [] – декларация массивов объектов

Символ () – декларация функции

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