Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методичка по С Живицкая (Мет пособие).doc
Скачиваний:
127
Добавлен:
15.06.2014
Размер:
2 Мб
Скачать
☆

2.1.6. Таблица всех допустимых комбинаций базовых типов и модификаторов для 16-битных слов.

Тип (ключевое слово)

Длина битов

Диапазон

char

8

от -128 до 127

unsigned char

8

от 0 до 255

signed car

8

от -128 до 127

int

16

от -32768 до 32767

unsigned int

16

от 0 до 65535

signed int

16

от -32768 до 32767

short int

16

от -32768 до 32767

unsignet short int

16

от 0 до 65535

signet short int

16

от -32768 до 32767

long int

32

от -2147483648

unsigned long int

32

до 2147483647

signed long int

32

от 0 до 4294367295

float

32

от -2147483648

double

64

до -2147483648

long double

80

от 3,4е-38до 3,4е+38

от 1,7е-308до 1,7е+308

от 3,4е-4932до 3,4е+4932

Использование signedявляется избыточным, но допустимым для целочисленных типов, так как объявление целочисленных типов по умолчанию предпологает знаковое число. Различие между знаковыми и беззнаковыми целочисленными типами заключается в способе интерпритации старшего бита. В случае знакового типа компилятора генерируется код, предпологающий, что старший бит используется как знак числа. Если знаковый бит равен нулю, то число положительное и наоборот.

Например:

127=000000000 1111111,

-127=100000000 1111111.

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

Пример объявления данных:

inta,b;

unsignet (int) c, d;

float x.

Здесь объявляются переменные: а и b – целые, с и d – беззнаковые целые, х – вещественное число одинарной точности. Программа оперирует с различными данными, которые могут быть простыми и структурированными. Простые данные – это вещественные числа, текст и указатели. В языке С различаются понятия описание переменной и ее определение. Описание устанавливает свойства объекта, его тип, размер и т.д., а определение наряду с этим вызывает выделение памяти. Наряду с базовыми часто используется тип данных enum (ключевое слово) – этот тип предназначен для описания объектов из некоторого заданного множества.

Диапазон значения – от -32768 до 32767.

Пример объявления:

enum seasons {spr, sum, autumn, winter} a, b, c;

Здесь переменные a, b, c имеют тип enum seasons. Каждое из них может принимать значение одно из 4-х значений указанных в скобках. Имена, занесенные в seasons, представляют собой целые константы. Первая из них (spr) автоматически устанавливается в нуль и каждое следующее имеет значение на 1 больше, чем предыдущее, т.е spr-0, sum-1, autumn-2, winter-3 и т.д. Константе можно присвоить определенные значения целого типа (имена), не имеющих их, как и раньше будут назначены значения предыдущих констант, увеличенных на единицу.

Пример:

enum seasons {spr=5; sum=10; aut,winter}a, b, c;

После этого:

spr=5, sum=10, aut=11, winter=12.

2.1.7. Локальные и глобальныепеременные.

В языке С переменные делятся на локальные и глобальные. Глобальные переменные объявляются в файле исходного текста програмного модуля любой из функции и следовательно доступны для многих из них. Локальные переменные по отношению к ф-циям являются внутренними. Они начинают существовать при входе в ф-цию и уничтожаються при выходе из нее. Если локальные переменные записаны в списке параметров ф-ции, то объявление следует до первой открывающейся фигурной скобке. Для тех локальных переменных, которых нет в списках параметров, обьявление делается после первой открывающейся фигурной скобки.