Экзаменационные
вопросы по специализации (язык
программирования С)
для 483, 488, 489 групп.
Язык программирования C. История создания и развития, стандарты языка С. Компиляторы языка. Общая структура программы, препроцессинг, компиляция и компоновка программы.
Базовые типы данных, квалификаторы. Переменные и константы, объявления переменных и констант. Преобразования типов в языке С.
Операции арифметические, отношения, логические, побитовые, инкремента и декримента, присваивания. Условные выражения языка С.
Условные операторы языка С.
Операторы цикла языка С.
Определение и вызов функций, возврат результата из функций в языке С. Локальные переменные функции, фрейм активации, рекурсивные вызовы функций.
Области видимости. Автоматические, внешние, статические и регистровые переменные. Инициализация переменных в языке С.
Препроцессор языка С. Макроподстановки и условная компиляция.
Указатели. Получения адреса переменной, косвенный доступ к значению переменной. Указатели как параметры функций. Адресная арифметика. Выделение и освобождение оперативной памяти в языке С.
Массивы. Массивы указателей, указатели на массивы. Многомерные массивы в языке С.
Указатели на функции. Указатели на строки. Аргументы командной строки языке С.
Структуры в языке С. Использование typedef для объявления структур. Передача структур в функции. Объединения. Битовые поля.
Массивы структур в языке С. Указатели на структуры. Создание АТД с помощью динамических структур.
Стандартный ввод-вывод. Перенаправление и конвееризация. Функции ввода-вывода в stdio.h. Форматированный ввод-вывод в языке С.
Работа с файлами в языке С.
Разработка параллельных программ на основе стандарта OpenMP в языке С.