ЧАСТЬ 3

ИНФОРМАТИКА

Электронное учебно-методическое пособие

 

 
 

 

4.8. Основные типы данных

Основные типы данных, наиболее непосредственно отвечающие средствам аппаратного обеспечения [10]:

char short int long float double

Первые четыре типа используются для представления целых, последние два – для представления чисел с плавающей точкой.

Переменная типа char имеет размер, естественный для хранения символа на данной машине (обычно байт), а переменная типа int имеет размер, соответствующий целой арифметике на данной машине (обычно слово).

Диапазон целых чисел, которые могут быть представлены типом, зависит от его размера. В C++ размеры измеряются в единицах размера данных типа char, поэтому char по определению имеет размер «единица». Соотношение между основными типами можно записать так:


1 = sizeof(char) <= sizeof(short) <="sizeof(int)" <="sizeof(long)" sizeof(float) <="sizeof(double)"


В целом, предполагать что-либо ещё относительно основных типов неразумно. В частности, то, что целое достаточно для хранения указателя, верно не для всех машин. К основному типу можно применять прилагательное const. Это даёт тип, имеющий те же свойства, что и исходный тип, за исключением того, что значение переменных типа const не может изменяться после инициализации.

const float pi = 3.14;
const char plus = '+';

Символ, заключённый в одинарные кавычки, является символьной константой. Часто константа, определённая таким образом, не занимает память; просто там, где требуется, её значение может использоваться непосредственно. Константа должна инициализироваться при описании. Для переменных инициализация необязательна, но настоятельно рекомендуется. Оснований для введения локальной переменной без её инициализации очень немного.

К любой комбинации этих типов могут применяться арифметические операции:

+ – плюс, унарный и бинарный;
- – минус, унарный и бинарный;
* – умножение;
/ – деление;

а также операции сравнения:

== – равно;
!= – не равно;
< – меньше;
> – больше;
<= – меньше или равно;
>= – больше или равно.

Целое деление даёт целый результат: 7/2 есть 3. Над целыми может выполняться операция % получения остатка: 7%2 равно 1.

При присваивании и арифметических операциях C++ выполняет все осмысленные преобразования между основными типами, чтобы их можно было сочетать без ограничений:

double d = 1;
int i = 1;
d = d + i;
i = d + i;

Операции, создающие из основных типов новые типы:

* – указатель на;
*const – константный указатель на;
& – ссылка на;
[] – вектор*2;
() – функция, возвращающая.

Например:

char* p // указатель на символ
char *const q // константный указатель на символ
char v[10] // вектор из 10 символов

Все векторы в качестве нижней границы индекса имеют ноль, поэтому в v десять элементов: v[0] ... v[9].

 

 


© Сибирская государственная геодезическая академия (СГГА), 2011