- •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. Группы сообщений.
11) Указатели. Инициализация указателей. Операции с указателями. Ссылки.
Указатели служат для хранения адресов областей памяти.
3 вида указателей:
- на объект
- на функцию
- на void
Указатель на объект содержит адрес области памяти, в которой хранятся данные определенного типа.
формат: тип *имя;
Указатель на функцию содержит адрес начала машинного кода какой-либо функции.
формат: тип (*имя) (список типов аргументов);
Указатель на void применяется в случаях, когда конкретный тип объекта, адрес которого требуется хранить, не определен. Указателю на void можно присваивать значение указателя любого типа, а также сравнивать его с любым указателем.
Инициализация указателей:
1) присваивание указателю имени существующего объекта:
- с помощью операции получения адреса(&)
- с помощью значения другого инициализированного указателя
- с помощью имени массива или функции, которые трактуются как адрес
2) присваивание указателю адреса области памяти в общем виде
3) присваивание пустого (нулевого) значения
4) выделение участка динамической памяти и присваивание ее адреса указателю:
- при помощи операции С++ new
- при помощи Си-функции malloc
Допустимые операции с указателями:
- разадресация или косвенное обращение к объекту (*) – предназначена для доступа к величине, адрес которой хранится в указателе. Конструкцию *имя_указателя можно считать именем переменной, на которую ссылается указатель.
- присваивание (=)
- сложение с целой константой
- вычитание 2ух указателей
- сравнение 2ух указателей
- приведение к типу другого указателя или к целому
Арифметические операции:
- инкремент перемещает указатель к следующему элементу массива, декремент- к предыдущему. Значение указателя изменяется на величину sizeof(тип указателя)
- увеличение или уменьшение указателя на константу приводит к изменению его значения на величину этой константы, умноженную на размер типа указателя
- разность двух указателей – это разность их значений, деленная на размер типа указателя
- суммирование 2 указателей не допускается
Ссылка – синоним имени, указанного при инициализации ссылки
формат: тип &имя = инициализатор;
После инициализации ссылке не может быть присвоена другая переменная
12)Массивы. Динамические массивы. Строки.
Массив – конечная именованная последовательность однотипных величин.
Объявление массива: float a[10];
В С++ элементы нумеруются с нуля. Инициализирующие значения для массивов записываются в фигурных скобках. Размерность массива Может быть задана только целой положительной константой или константным выражением. Если при описании массива не указана размерность, должен присутствовать инициализатор. Идентификатор массива (его имя) можно рассматривать как указатель на его нулевой элемент.
Динамические массивы создаются при помощи операции new, при этом необходимо указать тип и размерность. Альтернативный способ – использование функции malloc.
int n=100;
float *p=new float [n];
Многомерные массивы объявляются указанием каждого измерения в квадратных скобках.
Строка – массив символ, заканчивающийся нуль-символом (‘\0’). Строку можно инициализировать строковой константой.
