Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЭЛЕМЕНТЫ ЯЗЫКА C.doc
Скачиваний:
8
Добавлен:
05.11.2018
Размер:
476.16 Кб
Скачать
    1. Переменные и базовые типы данных

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

Переменная – это ячейка в памяти компьютера, которая имеет имя и хранит некоторое значение. Значение переменной может меняться во время выполнения программы. При записи в ячейку нового значения старое стирается.

С точки зрения компьютера все данные в памяти – это числа (более точно – наборы нулей и единиц). Тем не менее, вы (и компьютер) знаете, что с целыми и дробными числами работают по-разному. Поэтому в каждом языке программирования есть разные типы данных, для обработки которых используются разные методы.

В языке СИ существует несколько типов данных, которые можно назвать базовыми:

• символы (тип char – от английского character – символ);

• целые переменные – тип int (от английского integer – целый);

• вещественные переменные, которые могут иметь дробную часть (тип float – от английского floating point – плавающая точка);

• вещественные переменные с плавающей точкой двойной длины (точности) от английского double – двойной;

• пустой, не имеющий значения void.

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

На основе базовых типов вы можете создавать свои типы данных. Создать свой тип данных можно с помощью ключевого слова typedef. Об этом поговорим позже.

Ниже приведена таблица типов данных и объем памяти занимаемый каждым типом данных.

Тип

Размер в байтах (битах)

Интервал изменения

char

1  (8)

от -128

до 127

unsigned char

1  (8)

от 0

до 255

signed char

1  (8)

от -128

до 127

int

2  (16)

от -32768

до 32767

unsigned int

2  (16)

от 0

до 65535

signed int

2  (16)

от -32768

до 32767

short int

2  (16)

от -32768

до 32767

unsigned short int

2  (16)

от 0

до 65535

signed short int

2  (16)

от -32768

до 32767

long int

4  (32)

от -2147483648

до 2147483647

signed long int

4  (32)

от -2147483648

до 2147483647

unsigned long int

4  (32)

от 0

до 4294967295

float

4  (32)

от 3.4E-38

до 3.4E+38

double

8  (64)

от 1.7E-308

до 1.7E+308

long double

10  (80)

от 3.4E-4932

до 3.4E+4932

Напомню, что: 

1 байт   - 8   бит (разрядов)

2 байта - 16 бит   - слово

4 байта - 32 бита  - двойное слово.

В стандарте языка Си нет логического типа, величины которого могут принимать только значения ИСТИНА и ЛОЖЬ. Для этих целей используется любой целочисленный тип данных, при этом 0 соответствует значению ЛОЖЬ, а любое ненулевое целое число, например, -8, 2) – значению ИСТИНА. Однако в большинстве последних модификациях языка Си применяется специализированный тип данных bool, переменные этого типа могут принимать всего два значения true и false.

Переменные обычно объявляются в начале программы. Для объявления надо написать название типа переменных (int, float или char), а затем через запятую имена всех объявляемых переменных. При желании можно сразу записать в новую ячейку нужное число, как показано в примерах ниже. Если переменной не присваивается никакого значения, то в ней находится «мусор», то есть то, что было там раньше.

Примеры.

unsigned long int

a; // выделить память под целую переменную a

long double

b, c; // две вещественных переменных b и c

int Tu104, Il86=23, Yak42; // три целых переменных, в

// Il86 сразу записывается число 23

float x=4.56, y, z; // три вещественных переменных, в

// в x сразу записывается число 4.56

char c, c2='A', m; // три символьных переменных, в c2

// сразу записывается символ 'A'