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

Экзаменационные вопросы

  1. Общая характеристика языка С и его характерные отличия от языка PASCAL.

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

  3. Модуль в языке С. Организация многофайловой программы, заголовочные файлы, директива #include, прототипы функций.

  4. Оператор присваивания и оператор ветвления. Особенности оператора присваивания и вычисления условий в языке С. Примеры операторов присваивания и ветвления.

  5. Объявление массивов с языке С. Организация циклов. Цикл с предусловием и постусловием. Цикл for и его связь с циклом while. Примеры.

  6. Оператор переключатель. Инструкция break. Примеры применения оператора переключателя.

  7. Числовые типы данных языка С. Целочисленные (десятичные, восьми и шестнадцатиричные) и действительные константы. Именованные константы и способы их задания в языке С.

  8. Перечисленный тип в языке С. Особенности, возможности и примеры его использования.

  9. Понятие блока в языке С. Объявления и инициализация переменных и массивов в С.

  10. Обзор операций языка С. Приоритеты операций. Операции низкого и высокого уровней. Примеры операций.

  11. Выражения в языке С. Правила вычисления выражений. Приоритеты операций и правило ассоциативности. Приведение типов в С и С++. Операция последования (скобки).

  12. Символьный тип в языке С. Символьные константы. Представление строк в С. Библиотека string. Примеры функций библиотеки string.

  13. Указатели и ссылки в языке С. Константные указатели и ссылки. Операции с указателями и ссылками.

  14. Массив как указатель в языке С. Особенности индексации массива при записи кода. Массив как параметр функции. Многомерные массивы.

  15. Функции в языке С. Объявление, описание и вызов. Особенности передачи параметров (по значению, ссылке, указателем, константной ссылке). Перегрузка функций и параметры по умолчанию.

  16. Функции в языке С. Встраиваемые функции и макросы. Передача функции как параметр. Функция как указатель на функцию. Массив указателей на функции.

  17. Структуры в языке С. Объявление типа и переменных. Использование элементов структур. Вложенные структуры и массивы. Примеры построения вложенных структур и массивов.

  18. Объединения в языке С. Объявление типа и переменных. Использование элементов объединений. Битовые поля.

  19. Классы и типы памяти. Время жизни и область видимости объектов. Локальные и глобальные объекты. Механизм управления стеком.

  20. Классы и типы памяти. Время жизни и область видимости объектов. Локальные и глобальные объекты. Механизм управления кучей.

  21. Форматный вывод и ввод. Функции printf и scanf библиотеки stdio.

  22. Форматные преобразования в памяти. Функции sprintf и sscanf библиотеки stdio.

  23. Работа с текстовыми файлами. Функции fopen, fclose, fprintf, fscanf библиотеки stdio.

  24. Работа с записеориентированными файлами. Функции fopen, fclose, fprintf, fscanf библиотеки stdio.

  25. Работа с бинарными файлами. Функции fopen, fclose, fwrite, fread, fseek библиотеки stdio.

  26. Технологические основы языков программирования высокого уровня. Структурное и модульное программирование.

  27. Технологические основы языков программирования высокого уровня. Простые и сложные задачи. Причины возникновения сложности. Решение проблемы сложности задач.

  28. ООП и объектная модель. Основные принципы объектной модели.

  29. Анализ, проектирование и программирование. Объектный подход, алгоритмическая и объектно-ориентированная декомпозиция. Достоинства и недостатки ООП.

  30. Абстрактные типы данных. Понятие класса. Инкапсуляция. Объявление класса. Поля и методы. Секции public и private. Скрытие данных.

  31. Объявление класса. Поля и методы. Секции public и private. Скрытие данных. Пример разработки класса “Комплексное число”. Реализация методов класса. Встроенные методы.

  32. Константные поля. Константные методы. Использование константных ссылок в списке параметров методов класса. Пример разработки класса “Комплексное число”.

  33. Способы создания объектов. Доступ к данным и методам объекта. Указатель this.

  34. Статическое и динамическое создание объектов внутри методов. Ссылки в заголовках методов. Примеры.

  35. Создание объектов. Конструкторы. Виды конструкторов.

  36. Конструктор копирования. Пример разработки конструктора копирования.

  37. Уничтожение объектов. Деструкторы.

  38. Статические поля и методы класса. Дружественные функции и классы.

  39. Пример разработки класса “Вектор”. Реализация операций без использования перегрузки.

  40. Перегрузка операций. Особенности перегрузки для унарных, бинарных операций. Перегрузка операции [].

  41. Перегрузка операций. Перегрузка операции присваивания. Операция присваивания и конструктор копирования.

  42. Суть проблемы моделирования. Инкапсуляция, модульность и иерархия как средства решения проблемы. Виды иерархий. Наследование и агрегация. Реализация агрегации в C++. Пример.

  43. Наследование в C++. Простое (одиночное) наследование. Public, private и protected-наследование. Некоторые правила наследования.

  44. Наследование в C++. Простое (одиночное) наследование. Пример последовательного проектирования иерархии классов геометрических фигур. Перекрытие (замещение) методов.

  45. Раннее и позднее связывание. Механизм виртуальных методов.

  46. Механизм виртуальных методов. Применение виртуальных методов для разработки классов “Точка” и “Круг”.

  47. Чисто виртуальные методы и абстрактные классы. Абстрактный класс в примере “Геометрические фигуры”.

  48. Множественное наследование. Виртуальное наследование.

  49. Перегрузка функций в C++. Сигнатура. Алгоритм проверки соответствия сигнатуре.

  50. Шаблоны функций. Шаблоны классов. Инстанцирование и специализация.

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