- •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.Перегруженные конструкторы.
2. Функции преобразования и тестирования.
Библиотека содержит функции преобразования и
тестирования символов.
_____________________________________________________________________
Функция Назначение
_____________________________________________________________________
int isalnum(int c) Проверяет, является ли символ алфавитным или цифровым (ложь=0, истина<>0)
int isalpha(int c) Проверяет, является ли символ текстовым(символом алфавита)
int isascii(int c) Проверяет, принадлежит ли значение аргумента с диапазону допустимых значений ASCII-кода (0-127)
int iscntrl(int c) Проверяет, является ли символ управляющим
int isdigit(int c) Проверяет, является ли символ десятичной цифрой (0-9)
int isgraph(int c) Проверяет, является ли символ графическим (когда-либо воспроизводимым символом, исключая пробел)
int islower(int c) Проверяет, является ли символ строчной буквой (нижнего регистра)
int isprint(int c) Проверяет, является ли символ печатным (воспроизводимым, включая пробел)
int ispunct(int c) Проверяет, является ли символ знаком пунктуации
int isspace(int c) Проверяет, является ли символ пробельным (пробел, новая строка, перевод строки, возврат каретки, TAВ)
int isupper(int c) Проверяет, является ли символ прописной буквой (верхнего регистра)
int isxdigit(int c) Проверяет, является ли символ шестнадцатиричной цифры (0-9, A-F(a-f))
int tolower(int c) Возвращает строчный эквивалент своего аргумента (если аргумент - строчная буква, она не изменяется)
int toupper(int c) Формирует прописной вариант буквы
_____________________________________________________________________
Функции семейства is* возвращают нулевое значение, если результат проверки - ложный и не нулевое при истинном результате проверки.
Функции семейства to* возвращают значение своего символьного аргумента, возможно преобразованное.
Аргумент типа int должен быть представимым в формате unsigned char,либо быть макросом EOF (в противном случае поведение функции не определено).
Поведение некоторых функций зависит от конкретной "культурной среды".
3. Уровни описания и реализации структур данных.
Структура данных - это связи между данными, которые тем или иным образом выделены как элементы структуры. К структурным данных относятся массивы, множества, стеки, очереди, деки, списки, графы и т.п. При этом элементами структуры, в свою очередь, снова м б структуры данных. Если структура данных не м б представлена в виде структур данных более простой природы, то такие структуры нередко наз первичными, или атомарными, данными. Для хранения данных создаются переменные. Конкретные данные выступают в качестве значения переменной. Каждая переменная идентифицируется своим именем (идентификатором). Тип переменной говорит о том, какие действия м производить над хранящимися в переменной данными. Атомарные типы данных - целый, вещественный, символьный, логический. М определять атомарные типы и строить из них составные типы любой сложности. Существуют различные методы объединения простых типов в составные. Осн методы позволяют строить след объекты: массивы, записи, множества. Это так называемые стат типы. Более сложные объединения обычно не описываются как стат типы, а динамически создаются во время выполнения проги, причем их размер и вид могут изменяться - списки, кольца, деревья и, вообще, графы. Определение каждой структуры данных включают в себя:
-список действий, кот м выполнять над этой структурой;
-формально-логическое определение как объекта, кот-е задает разбиение объекта на более элементарные объекты и определенные над ними операции;
-описание физического представления структуры, которое определяет расположение данных в памяти компа, а также способы кодирования операций в конкретном языке программирования.
struct Line {
unsigned char Color; // цвет линии
struct Point p1, p2; // корд-ты начала и конца отрезка
};
Для обеспечения доступа к отдельным элементам структуры исполняются выражения выбора элемента, кот-е имеет 2 синтаксических формы: выражение.идентификатор, выражение–>идентификатор
