Типы данных
В предыдущем уроке было показано, что в зависимости от величины, числа могут храниться в одном, двух или четырех байтах памяти (и даже больше). Например, в одном байте могут храниться числа от 0 до 255 (от 00000000 до 11111111 в двоичной форме) , в двух байтах – от 0 до 65535 (от 0000000000000000 до 1111111111111111), а в четырех – от 0 до 4 294 967 295 (от 00000000000000000000000000000000 до 11111111111111111111111111111111).
Иногда нужно использовать не только положительные, но и отрицательные числа (числа, которые меньше нуля). Поэтому приведенные выше диапазоны чисел делят на две части, половина диапазона представляет отрицательные числа, а другая половина – положительные. Например, диапазон для 1 байта от 0 до 255 превратится в диапазон от -128 до 127, для двух байт – от -32768 до 32767, для четырех байт – от -2 147 483 648 до 2 147 483 647.
Оперативная память компьютера – память, которая работает только в то время, когда компьютер включен. Она необходима для работы программ и хранения в ней данных. Минимальная ячейка памяти имеет размер 1 байт. Каждая ячейка имеет свой номер, который называется адресом. Самый первый байт памяти будет иметь адрес 0, следующий байт будет иметь адрес 1, следующий – 2, потом 3, 4, 5 и т.д. Если в компьютере установлено 4 Гб оперативной памяти, значит последняя ячейка (байт) памяти будет иметь адрес 4 294 967 295.
Адреса нужны для того, чтобы мы точно знали, где хранятся наши данные или данные программ. Однако, работать с адресами не очень удобно, поэтому во многих языках программирования есть средства, избавляющие программиста от необходимости знать адрес, где хранятся какие-то данные. Вместо того чтобы самому искать адрес свободной ячейки памяти, куда можно поместить свои числа, можно объявить переменную.Переменная – это именованная область памяти для хранения данных, которые в процессе работы программы могут меняться.
Переменная имеет 3 обязательные составляющие:
Имя. Вместо того, чтобы знать адрес ячейки памяти, можно назначить этой ячейке имя и обращаться к ней по имени.
Значение. Другими словами, это число, которое хранится в ячейке памяти в данный момент.
Тип. Тип определяет, какие значения может принимать переменная, какие операции допустимы с этими значениями и, как данные представлены в памяти компьютера.
Что же такое тип? Мы уже рассмотрели, что хранить целые числа можно в 1-ом, 2-х или 4-х байтах памяти. А тип, как раз определяет, сколько байт памяти занимает наша переменная и, какие числа допустимо хранить в переменной.
В следующей таблице приведены основные целые типы для среды Turbo C++, которую. вы уже установили, выполняя задание первого урока, а также сколько байт занимает переменная данного типа и какие числа в ней могут храниться:
Название типа | Объем памяти в байтах | Минимальное значение переменной | Максимальное значение переменной |
---|---|---|---|
char | 1 | -128 | 127 |
unsigned char | 1 | 0 | 255 |
int | 2 | -32768 | 32767 |
unsigned int | 2 | 0 | 65535 |
long int | 4 | -2 147 483 648 | 2 147 483 647 |
unsigned long int | 4 | 0 | 4 294 967 295 |
Чтобы объявить переменную в языке C++, необходимо сначала указать тип, затем имя переменной, а затем ее значение (последнее не обязательно делать сразу). Например:
int a = 100;
Такая запись означает, что мы запрашиваем область памяти объемом 2 байта, называем эту ячейку памяти именем a, и кладем туда число 100. В конце обязательно ставится точка с запятой (;).
Можно объявить сразу несколько переменных, и не обязательно сразу им присваивать какие-то значения – в таком случае значение переменной будет не определено:
long int a,b,c; - объявляем 3 переменных типа long int.
Чтобы изменить значение переменной, используется оператор « = ».
b = 5; - присваиваем переменной b значение 5.
Скачайте следующую программу , написанную на языке C++, поместите скачанный файл TYPES.CPP в папку C:\TCPP\BIN\
Запустите DOSBox (Как настроить эту программу можно посмотреть ЗДЕСЬ ).
Нажмите клавишу F3. Выберите файл TYPES.CPP и нажмите клавишу Enter.

На экране вы должны увидеть открытую программу:

Разберем эту программу построчно:
#include<iostream.h> - подключаем модуль iostream.h. В этом модуле содержится функция cout, которая используется в этой программе ниже. Она необходима для вывода информации на экран. Если не подключить iostream.h, то функция cout не заработает.
#include<conio.h> - подключаем модуль conio.h, содержащий функции clrscr() и getch();
void main(){ - описываем заголовок функции main. Это главная функция. Она должна быть в каждой программе на языке С++. void – это тип функции main. Void – означает, что наша функция ничего не возвращает (нам пока это не нужно). Пустые скобки () означают, что у этой функции нет входных параметров. Любая функция начинается c открывающейся фигурной скобки {, а заканчивается закрывающейся фигурной скобкой }.
int a,b,c; - объявляем три переменные типа int.
a=5; - присваиваем переменной a значение 5;
b=8; - присваиваем переменной b значение 8;
c=a+b; - присваиваем переменной c сумму значений переменной a и переменной b.
clrscr(); - это функция очистки экрана.
cout<<"result="<<c; - как уже говорилось выше функция cout выводит на экран информацию. С помощью оператора << мы направляем в эту функцию информацию, которую хотим вывести на экран. Сначала мы выводим строку «result=», а затем выводим значение переменной с.
getch(); - это функция ждет нажатия клавиши. Если не использовать эту функцию, то программа после вывода результата просто закроется, но благодаря функции getch() программа не закроется, пока не будет нажата любая клавиша.
} – конец функции main.
Чтобы запустить программу, нажимаем комбинацию клавиш Alt+R, выбираем в появившемся меню пункт Run и нажимаем клавишу Enter. Ни в коем случае не нажимайте для запуска программы комбинацию клавиш Ctrl+F9 – это закроет DOSBox!

На экране появится результат работы программы:

При нажатии на любую клавишу программа закроется.
Задание: 1) Теперь самостоятельно попробуйте изменить значение переменных a и b, после чего снова запустите программу и посмотрите результат. 2) Какие типы можно использовать для переменной, если ей нужно присвоить номер текущего года?