
- •7)Понятие структурного программирования. Базовые конструкции структурного программирования. Оператор «выражения».
- •8)Операторы ветвления. Условный оператор if. Оператор switch.
- •10)Операторы передачи управления. Оператор goto. Оператор break. Оператор continue. Оператор return.
- •11) Указатели. Инициализация указателей. Операции с указателями. Ссылки.
- •12)Массивы. Динамические массивы. Строки.
- •13)Типы данных, определяемые пользователем. Переименование типов. Перечисление.
- •14)Типы данных, определяемые пользователем. Структуры. Битовые поля. Объединения.
- •15)Функции. Объявление и определение функций.
- •16)Способы обмена данными между функциями. Глобальные переменные. Возвращаемое значение. Параметры функции. Передача массивов в качестве параметров. Параметры со значениями по умолчанию.
- •17)Рекурсивные функции. Функция main().
- •18)Перегрузка функций.
- •19)Шаблоны функции.
- •20)Директивы препроцессора. Директива #include. Директива #define. Директива #undef.
- •21)Директива препроцессора. Директивы условной компиляции.
- •22)Основные свойства объектно-ориентированного программирования. Понятие класса.
- •23)Классы. Описание класса. Описание объекта. Константные методы. Указатель this.
- •24)Конструкторы. Конструктор копирования. Статические элементы класса.
- •25)Деструкторы. Дружественные функции и классы.
- •26)Перегрузка операций. Перегрузка бинарных и унарных операций.
- •27)Перегрузка операций. Перегрузка операции присваивания. Перегрузка операции приведения типа. Перегрузка операции индексирования.
- •28)Наследование. Ключи доступа к элементам базового класса. Простое наследование.
- •29)Виртуальные методы. Механизм позднего связывания.
- •30)Абстрактные классы. Множественное наследование.
- •31)Шаблоны классов. Создание шаблонов. Использование шаблонов класса.
- •35)Форматирование данных при вводе - выводе в поток. Флаги и манипуляторы.
- •38)Модель программирования для os Windows. Механизм обработки сообщений в Windows. Группы сообщений.
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);}