Тема 11. Агрегированные типы данных.
Тема 1. Введение
Основные этапы решения задач с использованием ЭВМ. Понятие алгоритма. Методы формального описания алгоритмов. Схемы алгоритмов…
Понятие языка программирования…
Система программирования и инструментальные средства поддержки основных этапов проектирования прикладных программных продуктов с использованием алгоритмического языка программирования. Функциональное содержание процессов компиляции (трансляции, интерпретации) и построения загрузочных модулей, отладочных операций и тестирования.
Тема 2. Общая характеристика языков С и С++.
История создания С. Место языка С в общей иерархии алгоритмических языков программирования. Отличительные особенности языка и систем программирования С/С++... Основные различия С и С++…
Тема 3. Структура С-программ.
Понятия программы, модуля, программной единицы. Общая структура программы. Функции как базовая единица структуризации С-программы. Пользовательские и библиотечные функции. Заголовочные файлы. Препроцессор С/C++. Основные директивы препроцессора. Основные виды программных описаний в С/C++…
Тема 4. Простейшие программные описания.
Алфавит языка. Ключевые слова и символы. Понятие оператора. Инструкции и декларации. Синтаксис описания констант и переменных. Операторы и управляющие конструкции. Простые и составные операторы. Операторы, операции и выражения.
Тема 5. Основные управляющие конструкции языка.
Основные виды операторов – операторы присвоения, операторы циклов, условных и безусловных переходов, оператор выбора. Вспомогательные операторы continue, break, return. Простейшие средства консольного ввода-вывода. Эквивалентные представления операторов в схемах алгоритмов.
Тема 6. Общие сведения о типизации данных в С/С++.
Единая концепция образования типов данных в С/С++. Базовые типы данных. Скалярные типы. Арифметические типы данных, предварительные сведения об указателях, ссылках (для С++) и перечислениях enum. Целочисленные, вещественные и символьные данные. Неопределенный тип void. Модификаторы типов (short, long, unsigned). Физическая реализация базовых типов. Явные и неявные преобразования типов. Совместимость типов. Операции над базовыми типами. Арифметические и логические операции, операции отношения, битовая арифметика, сложные присвоения. Операции над указателями. Приоритеты операций и образование выражений. Базовые и пользовательские типы данных. Порядок образования типов в С и С++.
Тема 7. Функции
Декларация, реализация и вызов функции. Формальные и фактические параметры. Механизмы передачи параметров по значению и по адресу. Глобальные и локальные переменные. Область видимости и время жизни объектов. Классы памяти (auto, register, static, extern). Понятие рекурсии.
Тема 8. Базовые структуры данных. Массивы. Строки.
Агрегированные типы данных в С и С++. Понятие массива. Индексирование. Синтаксис описания массивов. Обращение к элементам массива. Инициализация массивов. Массивы и указатели. Арифметика указателей при индексировании. Двумерные и многомерные массивы. Строки и операции над ними. Базовые функции библиотеки string.h. Ввод-вывод массивов и строк.
Тема 9. Структуры и объединения.
Понятия структуры struct и объединения union. Шаблоны структур и объединений. Декларация типов-структур и объединений. Механизмы доступа к полям. Указатели на структуры и объединения. Инициализация структур и объединений.
Тема 10. Файлы и потоки.
Описание и внутреннее представление файлов. Логическая и физическая организация файлов. Текстовые и бинарные файлы. Базовые операции над файлами. Режимы доступа. Позиционирование в файле. Буферизация. Библиотечные функции работы с файлами. Понятие потока. Стандартные потоки в С++. Функции работы с потоками.
Тема 11. Агрегированные типы данных.
Способы агрегирования структур данных (на базе комбинирования массивов, структур, объединений). Типообразование и оператор typedef. Типы-функции. Описание и использование агрегированных данных.