Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
PYaVU_otvyty.docx
Скачиваний:
2
Добавлен:
04.08.2019
Размер:
100.42 Кб
Скачать

Билет 6: Система типов языка

Языке "C" имеется только несколько основных типов данных:

CHAR один байт, в котором может находиться один символ из внутреннего набора символов.

INT Целое, обычно соответствующее естественному размеру целых в используемой машине.

FLOAT С плавающей точкой одинарной точности.

DOUBLE С плавающей точкой двойной точности.

Кроме того имеется ряд квалификаторов, которые можно использовать с типом

INT: SHORT (короткое), LONG (длинное) и UNSIGNED (без знака). Квалификаторы

SHORT и LONG указывают на различные размеры целых. Числа без знака

подчиняются законам арифметики по модулю 2 в степени N, где N — число битов в

INT; числа без знаков всегда положительны. Описания с квалификаторами имеют

вид:

SHORT INT X;

LONG INT Y;

UNSIGNED INT Z;

Cлово INT в таких ситуациях может быть опущено, что обычно и делается.

Количество битов, отводимых под эти объекты зависит от имеющейся машины;

Цель состоит в том, чтобы SHORT и LONG давали возможность в зависимости от

практических нужд использовать различные длины целых; тип INT отражает наиболее

"естественный" размер конкретной машины. Как вы видите, каждый компилятор

свободно интерпретирует SHORT и LONG в соответствии со своими аппаратными

средствами. Все, на что вы можете твердо полагаться, это то, что SHORT не длиннее, чем LONG.

Билет 7: Арифметические типы языка c

В языке "C" предусмотрено несколько основных типов объектов:

Объекты, написанные как символы (char). В символьных переменных можно хранить и другие величины, но реализация будет машинно-зависимой. ИМХО вряд ли можно тип char рассматривать как арифметический. Может это возможно теоретически, ведь символ это некий целый код, но логически это полный брЭд. Козину такого лучше даже не говорить ?

Можно использовать до трех размеров целых, описываемых как short int, int и long int. Длинные целые занимают не меньше памяти, чем короткие, но в конкретной реализации может оказаться, что либо короткие целые, либо длинные целые, либо те и другие будут эквивалентны простым целым.

Плавающие одинарной точности (float) и плавающие двойной точности (double) в некоторых реализациях могут быть синонимами.

Поскольку объекты упомянутых выше типов могут быть разумно интерпретированы как числа, эти типы будут называться арифметическими. Типы char и int всех размеров совместно будут называться целочисленными. Типы float и double совместно будут называться плавающими типами.

Арифметические типы:

Я существенно переделал таблицу, отформатировав её должным образом и вырезав из неё половину данных (кстати, не было указаны размеры double и float, поэтому их я поставил по типа «кажется…»):

Имя типа Диапозон Размер

Byte 0-255 Беззнаковое, 8 Бит

Int ?(-2*10^9 — 2*10^9) Знаковое, 32

Float +1.5*10^-45 - +3.4*10^38

Double +5.0*10^-324 - +1.7*10^308 8байт

Думаю, другие типы данных нам не понадобятся на экзамене.

Билет 8: Константы

Имеется несколько видов констант, которые перечислены ниже:

Целые константы. Целая константа состоит из последовательности цифр и читается восьмеричной, если начинается с нуля, или десятичной в противном случае (только сомневаюсь, что знание этого потребуется на экзамене). Последовательность цифр, которой предшествуют символы 0х или 0Х рассматривается как шестнадцатеричное целое (которые, кстати, включают в себя и буквы, как вы помните из темы «системы счисления»).

Длинные константы. Это десятичный, восьмеричные и шестнадцатеричные константы, за которыми следует l (эль маленькая) или L

Символические константы. Символьная константа это символ заключённый в одиночные кавычки, как, например: ‘x’. Значением символьной константы является численное значение этого символа в машинном представлении набора символов. Некоторые неграфические символы, одиночная кавычка и обратная косая черта могут быть представлены двумя символами в соотетствии с таблицей условных последовательностей. Например: “ \n ”, “ \’ ” и т.п.

Вещественные константы. Такая константа состоит из целой части, десятичной точки и дробной части, а так же буквы “e” или “E”. Как целая так и дробная часть являются последовательностью цифр. Либо целая, либо дробная часть (но не обе) может отсутствовать. В большинстве реализации эти константы считаются константами двойной точности. Примеры вещественных констант: 123.456, 5.61е-4

Строковые. Последовательность символов, заключённых в двойные кавычки. Например “Вот пример строковой константы” Отличие от символьных в том, что строка представляет собой массив из перечисленных элементов, в конце которого помещается ‘\0’. Таким образом, число байт, необходимых для хранения строк на 1 превышает число символов в строке (это нужно помнить).

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]