
- •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.Перегруженные конструкторы.
Билет 20
1 Операции арифметического типа, преобразование типа в операции присвоения.
Арифметические операции
+ Прибавляет величину, находящуюся справа, к величине, стоящей слева
- Вычитает величину, стоящую справа, из величины, указанной слева
- Будучи унарной операцией, изменяет знак величины, стоящей справа
* Умножает величину справа на величину, находящуюся слева
/ Делит величину, стоящую слева, на величину справа. Результат усекается, если оба операнда целые числа
% Дает остаток от деления величины слева на величину, стоящую справа (только для целых чисел)
++ Прибавляет 1 к значению переменной, стояшей слева (префикная форма), или к переменной, стояшей справа (постфиксная форма)
-- Аналогично ++, но вычитает 1
Большинство операторов С выполняют преобразование типа, чтобы привести операнды выражения к некоторому общему типу. Оператор простого присвоения присваивает значение своего правого операнда левому операнду.
Пример
В данном примере значение y преобразуется в тип double и присваивается x.
double x; int y; x = y;
2 Главная функция и способы передачи аргументов.
Функция main ( ) обязательно присутствует в каждой программе. Она получает управление первой после запуска программы на выполнение (является точкой входа в программу). В остальном это обычная функция, которой могут передаваться аргументы и которая может возвращать значение в точку вызова.
Для того чтобы был возможен доступ к аргументам, функцию main( ) следует описать:
[тип]main(int c)
{
тело функции
}
Функция main( ) может возвращать значение. Особенностью функции main( ) является то, что возвращаемое значение передается через операционную систему. Она может передавать код возврата только в одном байте. Поэтому для функции main( ) возвращаемое значение имеет тип int, в котором действительным будет только младший байт. Как и для обычной функции, возврат значения из main( ) выполняет оператор return. Дополнительно передача возвращаемого значения из функции main( ) и любых других функций может выполняться библиотечной функцией exit( ). Функция exit( ) завершает исполнение программы и передает код возврата в операционную систему.
3. Абстрактные структуры данных. Понятие шаблона структуры.
Абстрактные структуры данных предназначены для удобного хранения и доступа к информации. В языке Си есть следующие базовые абстрактные структуры данных: списки, стеки, массивы, очереди, множества, графы.
Шаблон структуры - это схема, описывающая содержание структуры.
struct <имя структуры>
{
<тип> <имя 1-го элемента>;
………
<тип> <имя последнего элемента>;
};
В {} указываются компоненты структуры. Компоненты структуры - данные любого типа. Если шаблон описан внутри функции - он доступен только этой функции, если вне функции - он доступен любой функции программы.
Билет n 21
1. Операции логического типа, одноместные и двуместные операции.
К логическим операциям относятся операция логического И (&&) и операция логического ИЛИ (||). Операнды логических операций могут быть целого типа, плавающего типа или типа указателя, при этом в каждой операции могут участвовать операнды различных типов.
Операнды логических выражений вычисляются слева направо. Операции выполняются не над битами, а над значениями операндов.
Логическое И (&&) - двуместная операция даёт значение 1, если оба операнда равны 0. Если один из операндов равен 0, то результат также равен 0. Если значение первого операнда равно 0, то второй операнд не вычисляется. Пример: a&&b; (3<5)&&(3>1)=(истина)&&(истина)=истина
Логическое ИЛИ (||) - двуместная даёт значение 0, если оба операнда имеют значение 0, если какой-либо из операндов равен 1, то результат операции равен 1. Если первый операнд имеет ненулевое значение, то второй операнд не вычисляется. Пример: a||b; (3<5)||(0>1)=(истина)&&(ложь)=истина
Логическое отрицание НЕ (!) – одноместная операция. Пример: !a; !(5<7)=!(истина)=ложь.