- •1. Структура программы на языке Си. Алфавит языка. Базовые типы данных
- •2.Константы в программах
- •3.Операции, выражения Операция приведения типа Операции отношения.
- •Include — вставляет текст из указанного файла
- •Ifdef — осуществляет условную компиляцию при определённости символической константы
- •Ifndef — осуществляет условную компиляцию при неопределённости символической константы
- •5. Функции ввода-вывода printf() и scanf(). Ввод-Вывод символьных и строковых данных. . Потоковый ввод-вывод
- •7. Операторы передачи управления
- •8.Арифметические операции. Преобразование типов при выполнении операций. Операция присваивания. . Операция присваивания и ее сокращенные формы.
- •9.Операции отношений и логические операции. Операции сравнения
- •10. Операторы безусловной и условной передачи управления. .
- •11.Операции «,» и «?».
- •12. Характеристика базовых типов, операции с ними, инициализация данных.
- •13. Организация циклических алгоритмов. Операторы цикла.. Вложенные циклы. Операторы continue, break и return
- •14.Функции exit и abort
- •15. Оператор выбора альтернатив (переключатель)
- •16. Символьные строки. Способы задания строк. Ввод и вывод строк. Основные функции работы со строками. . Ввод-Вывод символьных и строковых данных
- •17. Общая характеристика стандартных математических функций (библиотека math.H).
- •18. Одномерный массив - описание, инициализация, обращение к элементам
- •19.Указатели, операции «*» и «&».Операция sizeof
- •*Операция sizeof
- •20. Инициализация указателей
- •1. Указатель на объект известного типа. Содержит адрес объекта опреде-ленного типа.
- •2. Указатель типа void. Применяется, еcли тип объекта заранее не опреде-лен.
- •3. Указатель на функцию. Адрес, по которому передается управление при вызове функции.
- •21. Указатели на указатели. Многомерные массивы. Адресная функция
- •22. Связь указателей с массивами.
- •25. Указатель на функции. Массив указателей на функции
- •26. Классы памяти и область действия переменных. Классы памяти, атрибуты auto, register, static, extern.
- •27. Структуры. Шаблон структуры. Способы обращения к полям структуры.
- •Тип_элемента_1 имя_элемента_1; тип_элемента_2 имя_элемента_2;
- •Тип_элемента_n имя_элемента_n;
- •29. Работа с динамической памятью. Операции new, delete
- •30. Работа с файлом. Необходимые действия при обработке файлов.
- •31. Работа с файлами. Открытие, закрытие файлов
- •32.Основные функции обработки файлов. Функции произвольного доступа
- •33.Вложенные структуры
- •34.Массивы структур
- •35.Размещение структурных переменных в памяти
- •36.Объединения
- •37.Перечисления
- •38.Позиционирование в файле
27. Структуры. Шаблон структуры. Способы обращения к полям структуры.
*Структуры
Структура – это составной тип данных, в котором под одним именем объ-единены данные различных типов. Отдельные данные структуры называются полями
Объявление структуры осуществляется с помощью ключевого слова struct, за которым указывается ее имя и список элементов, заключенных в фи-гурные скобки:
struct имя
{
Тип_элемента_1 имя_элемента_1; тип_элемента_2 имя_элемента_2;
...
Тип_элемента_n имя_элемента_n;
} ;
*Способы обращения к полям структуры.
К полям структуры можно обращаться через составное имя. Формат обращения:
имя_структуры.имя_поля
или
указатель_на_структуру–>имя_поля
28. Создание структурных переменных.
Создание структурной переменной возможно двумя способами: с использованием шаблона (типа) или без него.
Создание структурной переменной pt на основе шаблона выполняется следующим образом:
struct point //Определение типа структуры
{
int x;int y;
};
……
struct point pt; //Создание структурной переменной
Структурная переменная может быть задана уникальным образом:
struct //Определение анонимного типа структуры
{
char name[20];
char f_name[40];
char s_name[20];
} copymy; //Создание структурной переменной
При размещении в памяти структурной переменной можно выполнить ее инициализацию
29. Работа с динамической памятью. Операции new, delete
В процессе работы программы автоматически выделяется место в памяти для всех ее объектов. Как будет показано ниже, иногда требуется явно указать момент выделения памяти для некоторых объектов и размер выделяемой под них памяти.
Динамическое (т.е. осуществляемое в процессе работы программы) выделение памяти означает:
поиск свободного (т.е. не занятого пока никаким объектом) участка памяти требуемого размера;
объявление его занятым (чтобы никакая последующая операция выделения памяти не назначила его другому объекту);
присваивание его адреса какому-либо указателю, через который в дальнейшем будет осуществляться работа с этим участком
Для работы с динамической памятью в С++ введены две операции:
захват памяти - new,
освобождение захваченной ранее памяти - delete
Формат операции new для массивов:
указатель = new тип [количество] ;
Результат операции new, присваиваемый указателю – адрес начала области памяти для размещения данных указанного количества и типа. При нехватке памяти – результат NULL.
Формат операции delete:
delete указатель;
либо: delete [] указатель; (эти записи равносильны)
После выделения памяти с этим массивом можно работать, аналогично работе с обычным массивом, используя вышеописанную операцию косвенной адресации [].
30. Работа с файлом. Необходимые действия при обработке файлов.
Файлом называют способ хранения информации на физическом устройстве. Файл — это понятие, которое применимо ко всему — от файла на диске до терминала. В C++ отсутствуют операторы для работы с файлами. Все необходимые действия выполняются с помощью функций, включенных в стандартную библиотеку. Они позволяют работать с различными устройствами, такими, как диски, принтер, коммуникационные каналы и т.д