Тема 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. Типы-функции. Описание и использование агрегированных данных.

Наши рекомендации