Переменные. Диапазон значений простых типов

Операторы

Тип Void

Диапазон значений простых типов.

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

Символьный тип char

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

Обычно 1 байт.

Тип char может быть со знаком и без знака.

Представление типа char можно использовать для хранения целых чисел:

signed char: от -128 до +127.

unsigned char: от 0 до 255.

Число представляется в виде x=mdp, где

- m – мантисса,

- d - основание системы счисления,

- p – порядок.

  знак порядок мантисса
       

Типы с плавающей точкой бывают:

- float - вещественное одинарной точности.

- double -вещественное удвоенной точности.

- long double - вещественное максимальной точности.

Константы с плавающей точкой имеют тип double по умолчанию. При помощи суффиксов F,f и L,l можно явно указать тип константы.

2E+6 Llong double

1.82 ffloat

Тип Диапазон Размер
от до
signed char insigned char signed short int unsigned short int signed long int insigned long int float double long double - 128 0- - 32768 - 2 147 483 848 3.4е-38 1.7e-308 3.4e-4932 +127 2 147 483 848 4 294 967 295 3.4е+38 1.7e+308 1.1e+4932  

Размер типа int зависит от платформы. Получить размер можно при помощи функции sizeof:

для MsDos sizeof(int) = 2.

для Windows sizeof(int) = 4.

Информацию о диапазонах значений простых типов можно найти в специальных заголовочных файлах:

<limits.h> (<climits>)- значения целых типов.

<float.h> (<cfloat>)- значения вещественных типов.

Множество значений этого типа пусто.

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

Операторы бывают исполняемые и неисполняемые. Исполняемые операторы зада­ют действия над данными. Неисполняемые операторы служат для описания дан­ных, поэтому их часто называют операторами описания или просто описаниями.

Для описания сложного действия требуется последовательность операторов. Операторы могут быть объединены в составной оператор, или блок. В этом слу­чае они рассматриваются как один оператор.

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

Переменная - это поименованная область памяти, в которой хранятся данные определенного типа.

У переменной есть имя и значение.

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

Значение переменной можно изменять.

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

Переменные бывают глобальные и локальные.

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

Глобальной называется переменная, определенная вне любого блока. Область действия – весь файл от точки описания до конца файла.

Любая переменная должна быть описана перед ее использованием

Оператор описания переменной:

[< класс памяти>] [const]< тип > <имя> [<инициализатор>];

Например:

int a;

Инициализатор – позволяет присвоить переменной начальное значение при ее описании.

Имеет вид: = <значение> или (<значение>).

Например:

int x = 7;

const – модификатор, который указывает, что переменную нельзя изменять. Это именованная константа (или просто константа). Константа должна быть инициализирована при описании.

Например:

const int h = 100;

Класс памяти - необязательный параметр, который может принимать значения auto, extern, static и register.

Класс памяти определяет время жизни и область видимости программного объекта.

Время жизни может быть

- постоянным – в течение выполнения программы;

- временным – в течение выполнения блока.

Область видимости – это часть текста программы, из которой допустим обычный доступ к области памяти, связанной с идентификатором. Обычно область видимости совпадает с областью действия. Исключение - имя глобальной переменной совпадает с именем локальной.

auto – автоматическая переменная.

Для глобальных - не используется.

Для локальных - задается по умолчанию.

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

Освобождение памяти при выходе из блока, содержащего ее определение.

extern - внешняя переменная, т.е. она определяется в другом месте программы (в другом файле или в другом месте программы).

static - статическая переменная.

Время жизни – постоянное. Инициализируется один раз при первом выполнении программы, содержащей определение переменной.

Могут быть локальные и глобальные.

register - аналогично auto, но память выделяется в регистрах процессора. Если это невозможно, переменные обрабатываются как auto.

В одном операторе можно описать несколько переменных одного типа (разделяя их запятыми).

Например:

float x1,y1,x2,y2;


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: