Ответ:
· Целочисленные:
o char:
§ Содержимое: целочисленное значение ASCII кода
§ Размер (ANSIC): 1
§ Размер (MSVisualC/C++): 1
§ Диапазон значений: -128…127 или 0…255
o Int:
§ Содержимое: целое число
§ Размер (ANSIC): 2/4
§ Размер (MSVisualC/C++): 4
§ Диапазон значений: -2147483648…2147483647
· Вещественные:
o float.
§ Содержимое: ПЗ-число одинарной точности
§ Размер (ANSIC): 4
§ Размер (MSVisualC/C++): 4
§ Диапазон значений: 3,4е-38 или 3,4е+38
o double.
§ Содержимое: ПЗ-число двойной точности
§ Размер (ANSIC): 8
§ Размер (MSVisualC/C++): 8
§ Диапазон значений: 1,7е-308 или 1,7е+308
Переменная (объект) – именованная область памяти, к которой имеется доступ из программы.
Каждая переменная должна иметь определенный тип, который характеризует:
· Размер занимаемой памяти.
· Диапазон значений, которые она может хранить.
· Набор операций, применимых к этой переменной.
Описание переменных:
· Все переменные должны быть описаны до их использования
· Описание состоит из спецификатора типа (возможно с модификатором) и следующего за ним списка переменных, которые будут иметь указанный тип.
Пример:
int i, j, k, pmax;
short int abc, pmin;
float radix, a, b, s_m;
long double k, kr;
char ch, ch1;
unsignedcharsymbol;
Инициализация переменных:
· Переменная может быть инициализирована некоторым значением уже при описании.
Пример:
unsigned char t='t’;
int i=0, j, k, s=1;
float ro, eps=1e-6;
· Глобальные и статические переменные автоматически инициализируются «0».
· Локальные переменные имеют неопределенное значение до первого присваивания.
· Некоторые компиляторы (в т.ч. MS Visual C/C++) позволяют при описании инициализировать.переменную значением другой переменной (или выражением, содержащим другие переменные), описанной ранее – «динамическая инициализация».
Константа – фиксированное значение, которое не может изменяться программой
Типы констант:
· Целочисленные константы.
o Могут быть записаны только в СС10, СС8, СС16.
o Каждой константе соответствует определенный тип. Тип выбирается компилятором – "наименьший" по размеру целый тип, подходящий для хранения константы.
Пример:
short int -> unsigned short –> int -> unsigned int -> long -> unsigned long
o Явное указание типа целочисленной константы возможно с использованием модификаторов (суффиксов).
Пример:
L,l (long), U,u (unsigned), 123, +123, -123, 123U, 1L, 0123L, 0x323UL
· Вещественные константы.
o Действительное десятичное число.
o Все константы с плавающей точкой имеют тип double. Можно явно присвоить константе тип float, добавив к ней суффикс F.
Примеры:
15.75, 1.575Е1, 1575е-2, 25.,.75,.0075е2, 1.1F
· Символьные константы.
o Символьная константа — это буква, цифра, знак пунктуации или специальный символ, заключенный в апострофы.
o Значение символьной константы равно коду представляемого ею символа.
o Символьные константы имеют тип int и при преобразовании типов дополняются знаком.
Примеры:
'T', '\n', '\08', 'sdf', E
· Строковые константы.
o Строковая константа (литерал) – последовательность символов, заключенная в кавычки.
o Строковая константа может содержать печатные и управляющие символы.
o Строка хранится в памяти с добавлением символа '\0', означающего "конец строки".
o Строка имеет тип char[] (строку символов).
Примеры:
"School N 2" // 11 байтов, "XUS sjhdkasdh" // 14 байтов.
Именованные константы.
· Модификатор const:
o Переменная определенного типа, для которой запрещены изменения.
o Область видимости соответствует области памяти переменной без модификатора const (локальная).
o Значение переменной устанавливается во время исполнения программы.
o Возможные значения соответствуют значениям переменных базовых типов.
o Выполняется проверка типов.
o Стиль C++.
o Описывается как переменная с модификатором const и обязательной инициализацией.
Пример:
const int i=50.
const double pi=3.14159.
· Директива #define
o Именованная константа.
o Не требует памяти для хранения.
o Реализуется путем простой текстовой подстановки во время компиляции программы.
o Область видимости – глобальная (для C) или локальная (для С++).
o Возможные значения – любые.
o "Классический" C.
o Описывается с использованием директивы #define.
Пример:
#define SIZE 10
#define begin {
#define MAX(X,Y) (X>Y)?X:Y