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

13)Типы данных, определяемые пользователем. Переименование типов. Перечисление.

Переименование (typedef):

typedef имя типа имя нового типа [размерность];

(typedef unsigned int uint)

Перечисление (enum):

enum [имя типа]{список контстант};

- переменные типа перечисление могут принимать значение только из списка констант

- константы перечисляются в списке через запятую и могут быть проинициализированы. При отсутствии инициализатора константа принимает значение 0, а последующим на единицу больше, чем значение предыдущей.

(enum month {jan,feb,mar,…,dec}

enum{one=1,two,three,ten=10,eleven}

month m; m=feb;

if (m==mar){операторы};

int a; a=two;)

- имена должны быть уникальными, а значения могут повторяться

- при выполнении арифметических операций перечисления преобразуются в целый

14)Типы данных, определяемые пользователем. Структуры. Битовые поля. Объединения.

Структуры (struct):

- это тип данных, который может содержать элементы разных типов

(struct [имя типа]

{тип1 имя элем.1;

тип2 имя элем.2;

…;} [список описателей];)

- элементы структуры называются полями и могут иметь любой тип, кроме типа этой же структуры

- если отсутствует имя типа, должен быть список описателей переменных, указателей или массивов

( struct

{char name[30]; int age; double oklad;}

workers[100], *pWorker;)

( struct Worker

{……………………….}; )

- для инициализации структуры значения ее элементов перечисляют в фигурных скобках в порядке описания элементов

( worker ivanov={“Иванов”, 31, 5600.0}; )

- инициализация массивов

( struct complex

{float real, imaginary;};

complex v[2]={1.0, 2.0},{3.0, 4.0} )

- доступ к полям структуры:

а) . (точка) при обращение через имя переменной

б) -> при обращении через указатель на «объект»

Битовые поля:

struct options

{bool centerx: 1;

bool centery: 1;

int shadow: 2;

int palette: 4;};

Элементы битовых полей могут быть любого типа.

Объединение (union):

- объединение представляет собой частный случай структуры, все поля которой располагаются по одному и тому же адресу:

union payment

{ char card[25];

long cash;};

- объединение может идентифицироваться только значением его первого элемента

15)Функции. Объявление и определение функций.

Функция – это именованная последовательность описаний и операций, выполняющая законченное действие

- может принимать параметры и возвращать значения

- должна быть объявлена и определена. Объявление должно находиться по тексту раньше точки ее вызова

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

формат: [класс] тип имя ([список параметров]) {тело функции}

Класс задает область видимости функции:

extern – глобальная видимость

static – видимость модуля (локальная)

Тип может быть любым кроме массива и функции. Если функция не должна возвращать значения, указывают тип void.

Список параметров определяет величины, которые требуется передать в функцию при ее вызове. Элементы списка параметров разделяются запятыми. Для каждого параметра указывается имя и тип. В объявлении, определении, вызове типы и порядок параметров для одной и той же функции должны совпадать.

Встроенные функции:

модификатор inline – рекомендует компилятору вместо обращения к функции подставить ее код в точку вызова

(inline int funcl();)

Вызов функции:

int sum(int,int);

int main()

{int a=2, b=3, c;

c=sum(a,b); return 0;}

int sum(int x, int y)

{return x+y;}

Использование статических локальных переменных:

void func(int a)

{int b=0;

static int c=0;

cout<<++a<<++b<<++c<<endl;}

void main()

{func(3); func(4);}

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