Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Техн.прогр.в.2.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
962.56 Кб
Скачать

Структурированные типы данных

К структурированным типам данных относятся структуры и объединения.

struct <name> // структура

{

type1 name1a[,name1b[…]];

[type2 name2a[,name2b[…]];]

[…]

} [объявление_переменных_с_данным_типом];

union <name> // структура // объединение (все данные размещены с одного адреса в памяти).

{

type1 name1a[,name1b[…]];

[type2 name2a[,name2b[…]];]

[…]

} [объявление_переменных_с_данным_типом];

Замечание. Точка с запятой после объявления структуры и объединения является обязательной.

Примеры будут рассмотрены далее.

1.3. Константы

Целые константы задаются с помощью целых чисел без разделяющей точки и имеют тип int. Можно явно указать при помощи суффиксов тип long («l» или «L»), long long («ll» или «LL») или unsigned («u» или «U»).

Пример: 123L, 43u, 53lu, 63UL

Шестнадцитеричные константы определяются добавлением префикса "0х":

0x1F, 0xAD

Восьмиричные константы определяются добавлением префикса "0":

071, 016

Константа с плавающей точкой может включать семь частей: целая часть, десятичная точка, дробная часть, символ экспоненты, показатель десятичной степени (со знаком или без), суффикс. При отсутствии суффикса константы имеют представление double, суффикс f или F соответствует float, суффикс l или L – long double.

В записях вещественных констант могут опускаться (не одновременно): или целая или дробная часть; или десятичная точка или признак экспоненты; суффикс.

Примеры: 45.      .6      4.6      1.25f      3.5e-4      5E+6L

Перечислимые константы вводятся при помощи служебного слова enum. Это целочисленные константы, которым присвоены идентификаторы. Идентификаторы могут быть перечислены через запятую, тогда им последовательно присваиваются значения от нуля. Или для каких-нибудь из них могут быть указаны значения, которые меняют порядок присвоения.

Примеры:

enum {zero ,one, two, three} соответствует zero=0, one=1, two=2, three=3.

enum {one=1, two, three} соответствует one=1, two=2, three=3.

enum {ten=10, two=2, three} соответствует ten=10, two=2, three=3.

Символьные (литерные) константы – это один или несколько символов, заключённые в апострофы. Во время компиляции символьные константы заменяются их кодами. Для записи специальных символов используют эскейп-последовательности, которые состоят из двух-четырёх символов и начинаются с символа «обратный слеш». Например \n соответствует переводу строки (код 10), \r – возврат каретки (код 13), \t – табуляция (код 09) и т.д. Для записи некоторых символов также используются эскейп-последовательности: \\ – обратный слеш, \” – двойная кавычка, \’ – одинарная кавычка, \? – знак вопроса.

Использование символьных констант допустимо везде, где возможно использование целочисленных констант. Обратное также верно.

ВНИМАНИЕ Частой ошибкой является запись «\» вместо «\\», например, в полном имени файла.

Строковые константы – это набор символов, заключённый в двойные кавычки. В строковых константах также могут быть применены эскейп-последовательности. Для записи строковой константы, которая занимает несколько строк, в конце каждой из них должен быть использован символ «\».

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

Пример:

const int t = 0;

t = 5; // ошибка, нельзя переприсваивать значения константных переменных