Операторы
Тип 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 L – long double
1.82 f – float
Тип | Диапазон | Размер | |
от | до | ||
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;