- •2. Применение условной компиляции и определений: директивы #ifdef и их синтаксис.
- •3. Сокрытие и защита данных. Доступ к защищенному члену данных.
- •1.Синтаксис языка Си, зарезервированные имена.
- •2.Форматированный и неформатированный ввод-вывод.
- •Форматированный ввод с клавиатуры
- •3.Сценарии создания объектов: с инициализацией по умолчанию, со специальной инициализацией, путем копирования других объектов
- •1. Структура программы на Си, трансляция и создание загрузочного модуля.
- •2.Агрегаты данных, описание агрегатов через шаблоны, вложенные описания
- •3. Интерфейс класса. Свойство защищенности интерфейса класса
- •1. Классификация функций, функции пользователя и стандартные.
- •2. Модификаторы «[],(),*» в объявлениях.
- •3. Наследование, инкапсуляция и полиморфизм, иерархия классов.
- •1.Вызов функций: параметры и аргументы.
- •2. Функции преобразования и тестирования.
- •3. Уровни описания и реализации структур данных.
- •Билет №6
- •2. Структуры данных struct, поля битов в структуре
- •Билет 7
- •1. Библиотеки функций и их подключение.
- •2. Спецификаторы и модификаторы в объявлениях
- •3. Объекты класса и члены данных.
- •Билет 8
- •Ввод-вывод как средство связи пользователя с пк.(билет2)
- •3.Правила перегрузки операторов. Приоритеты операторов.
- •1.Библиотечные функции ввода-вывода символов и строк, функции gets и puts.
- •3.Константы и переменные скалярного типа.
- •3.Объявление класса: private, protected, public элементы класса.
- •Ключевые слова public и private
- •Билет №10
- •1. Ввод-вывод данных, функции printf и scanf, спецификации преобразования.
- •Идентификаторы и зарезервированные слова.
- •Билет 11
- •1.Простой и составной оператор.
- •2.Базовые типы данных и перечислимый тип enum, объявление перечислимого типа через шаблон, использование перечислимого типа вместо констант.
- •3.Статические элементы класса.
- •Билет n 12
- •1.Операторы принятия решений: применение операторов решения.
- •2.Классы памяти и область действия объектов программы.
- •3.Приватные конструкторы. Конструкторы с аргументами.
- •Билет 13
- •1.Условный оператор if.
- •2.Функция и указатель на функцию: объявление.
- •3.Деструкторы: общедоступные, приватные
- •Билет №14
- •1.Вычисляемый оператор-переключатель группового выбора switch
- •2.Классы памяти, область действия объявления
- •3.Принципы разработки структуры проекта, блок-схемы проекта
- •Билет №15
- •1.Организация цикла в программе, цикл с предусловием while
- •2.Рекурсивные функции
- •3.Ссылки и указатели: указатели и ссылки как члены данных
- •1.Организация цикла в программе, цикл с постусловием do - while.
- •2.Объединение данных union.
- •3.Понятие объекта и класса.
- •Билет 17
- •1. Организация цикла в программе. Цикл с инициализацией и модификацией for
- •2. Директивы препроцессора: директива #define, синтаксис.
- •3. Отладка программных комплексов: этапы отладки, методы отладки, организация тестирования программ.
- •1.Функции для работы со строками символов.
- •2.Примеры абстрактных структур: таблицы.
- •3.Понятие проекта программы: структура проекта.
- •Билет №19
- •1. Преобразование типов явное и неявное.
- •2. Таблицы указателей на функции и вызов функции из таблицы
- •3. Доступ к глобальным и локальным данным, область видимости для идентификаторов, объявленных внутри класса
- •Билет 20
- •1 Операции арифметического типа, преобразование типа в операции присвоения.
- •2 Главная функция и способы передачи аргументов.
- •3. Абстрактные структуры данных. Понятие шаблона структуры.
- •Билет n 21
- •1. Операции логического типа, одноместные и двуместные операции.
- •2.Разбор аргументов в главной функции и их использование.
- •3. Форматы данных и их применение.
- •Билет №22
- •1.Адресные операции: указатели в адресных операциях.
- •2.Функции ввода-вывода: классификация функций, ввод-вывод символов и строк.
- •3.Перегрузка операторов, правила перегрузки операторов, приоритеты
- •2.Описание файла.
- •3.Классификация функций-членов класса
- •Билет №24
- •1.Определение массива и его описание, индексирование массива.
- •3.Операторы new и delete.
- •1.Связь между массивами и указателями
- •2.Файлы данных: структура данных в файле.
- •3. Примеры абстрактных структур: очереди
- •1.Обращение к элементам массива
- •2.Директивы препроцессора: директива #include и способы включения файла
- •3.Вызов функций-элементов
- •Билет 27
- •1.Классы: использование указателя this.
- •2.Спецификаторы и модификаторы в объявлениях
- •1.Строки и массивы строк символов.
- •2.Файловый ввод-вывод потоком: поиск в файле, добавление и удаление данных.
- •3.Объявление структур через шаблон.
- •1.Массив ссылок
- •2 Поиск в файле, добавление и удаление данных.
- •3.Понятие стиля программирования: «ясность», «краткость», «эффективность».
- •Билет №31
- •1.Размерность массива и представление в памяти.
- •2.Файловый ввод-вывод записями, доступ к данным.
- •3.Перегрузка функций.
- •Билет 32
- •Билет 33
- •3.Скобочные операторы: оператор вызова функции operator() и оператор индексирования [].
- •Билет 34
- •1 Стиль оформления выражений
- •Классификация данных по назначению, структуре и формату.
- •Управление динамической памятью: функции распределения памяти.
- •Принцип модульности: совокупность модулей (функций) и файлов, разделение на модули.
- •Билет №36
- •2.Макроподстановки: директива #define, синтаксис.
- •Билет 28
- •1.Многомерные массивы, способы описания, инициализация.
- •2.Режимы открытия и модификации файла.
- •3.Перегруженные конструкторы.
3.Принципы разработки структуры проекта, блок-схемы проекта
Проект – это совокупность исходных файлов, распределенных каким-то образом по подкаталогам проекта. Проект может содержать один или более проектных файлов для построения исходных текстов, что может считаться целью проекта. А может вообще не содержать проектных файлов, если целью является предоставление исходных файлов другим проектам.
Как минимум в проекты входят исходные файлы (*.cpp) и заголовочные файлы (*.h, *.hpp).
Тип проекта обычно задается при создании, это может быть исполняемый файл, статическая библиотека и т.д.
Проект может нуждаться в подпроектах. Подпроект — это исходные тексты (и не только) другого проекта, импортированные в структуру каталогов проекта.
Билет №15
1.Организация цикла в программе, цикл с предусловием while
В языке Си основной структурой, управляющей повторением, служит цикл с предусловием while (пока). Он имеет следующий формат: while (условие) оператор;
Оператор while используется при реализации циклических алгоритмов, для выполнения некоторых фрагментов кода энное число раз, пока выполняется условие.
Цикл заканчивается, когда условие оператора становится ложным или в теле цикла появляется оператор break. Пример:
int a = 1;
while (a<10) // цикл будет выполняться, пока переменная а меньше 10
{
a++; // увеличиваем на единицу
}
Циклы с предусл сначала проверяют условие, а потом уже выполняют блок цикла => могут не выполнится ни разу, если условие ложно.
2.Рекурсивные функции
Функция называется рекурсивной, если во время ее обработки возникает ее повторный вызов, либо непосредственно, либо косвенно.
Прямой (непосредств) рекурсией является вызов ф-ции внутри тела этой ф-ции.
long fact( int n)
{ if (n <=1) return l;
else return (n * fact ( n -1 )); // функция fact вызывает саму себя
} - рекурсивная ф-ция, вычисляющую факториал числа n.
Косвенной рекурсией является рекурсия, осущ рекурсивный вызов ф-ции посредством цепочки вызова других ф-ций. Все ф-ции, входящие в цепочку, тоже считаются рекурсивными. Например:
a(){.....b().....}
b(){.....c().....}
c(){.....a().....} .
Все функции a,b,c являются рекурсивными, т. к. при вызове одной из них, осуществляется вызов других и самой себя.
В рекурсивной функции обязательно должно присутствовать хотя бы одно условие, при выполнии которого последовательность рекурсивных вызовов должна быть прекращена.
3.Ссылки и указатели: указатели и ссылки как члены данных
Ссылка представляет собой синоним имени, указанного при инициализации ссылки. тип & имя
Ссылки применяются чаще всего в качестве параметров функций и типов возвращаемых функциями значений. Ссылка, в отличие от указателя, не занимает дополнительного пространства в памяти.
Указатели предназначены для хранения адресов областей памяти. Указатель не является самостоятельным типом, он всегда связан с каким-либо другим конкретным типом.
тип * имя
Звездочка относится непосредственно к имени, поэтому для того, чтобы объявить несколько указателей, нужно ставить её перед именем каждого из них.
int *a, b, *c
Билет номер 16
