Экзаменационные вопросы по специализации (язык программирования С)
для 483, 488, 489 групп.


  1. Язык программирования C. История создания и развития, стандарты языка С. Компиляторы языка. Общая структура программы, препроцессинг, компиляция и компоновка программы.

  2. Базовые типы данных, квалификаторы. Переменные и константы, объявления переменных и констант. Преобразования типов в языке С.

  3. Операции арифметические, отношения, логические, побитовые, инкремента и декримента, присваивания. Условные выражения языка С.

  4. Условные операторы языка С.

  5. Операторы цикла языка С.

  6. Определение и вызов функций, возврат результата из функций в языке С. Локальные переменные функции, фрейм активации, рекурсивные вызовы функций.

  7. Области видимости. Автоматические, внешние, статические и регистровые переменные. Инициализация переменных в языке С.

  8. Препроцессор языка С. Макроподстановки и условная компиляция.

  9. Указатели. Получения адреса переменной, косвенный доступ к значению переменной. Указатели как параметры функций. Адресная арифметика. Выделение и освобождение оперативной памяти в языке С.

  10. Массивы. Массивы указателей, указатели на массивы. Многомерные массивы в языке С.

  11. Указатели на функции. Указатели на строки. Аргументы командной строки языке С.

  12. Структуры в языке С. Использование typedef для объявления структур. Передача структур в функции. Объединения. Битовые поля.

  13. Массивы структур в языке С. Указатели на структуры. Создание АТД с помощью динамических структур.

  14. Стандартный ввод-вывод. Перенаправление и конвееризация. Функции ввода-вывода в stdio.h. Форматированный ввод-вывод в языке С.

  15. Работа с файлами в языке С.

  16. Разработка параллельных программ на основе стандарта OpenMP в языке С.