Технология программирования
Программа экзамена по дисциплине
" Технология программирования"
(ИСТ-2-3, 2012-2013 уч. г. )
1. Общие сведения о языке Си. Место языка Си среди языков программирования.
- Структура программы на Си. Пример, илюстрирующий основные элементы программы.
- Этапы обработки программ. Роль лексического и синтаксического анализаторов, компилятора, компоновщика.
- Лексемы. Виды лексем. Разделители лексем. Правило работы лексического анализатора.
- Препроцессирование. Синтаксис подключения заголовочных и произвольных файлов. Обработка подключаемых файлов.
- Создание макроопределений (без параметров и с параметрами). Имена макроопределений.
- Правила выбора имен для объектов программы.
- Понятие типизации. Классификация языков программирования по уровням типизации.
- Виды блоков в программах.
- Понятие области действия.
- Понятие область видимости.
- Понятие времени жизни.
- Понятие инициализации, отличие от присваивания. Явная и неявная инициализации.
- Понятие класса памяти. Классы памяти языка Си.
- Класс auto. Автоматические переменные и их свойства.
- Объявления и определения переменных и функций, их роль в программах.
- Внешние (глобальные) переменные.
- Смысл объявлений extern и их использование компилятором.
- Класс static. Локальные и глобальные статические переменные и их свойства.
- Статические функции. Особенности их использования.
- Введение в типы данных. Основные понятия, роль типов данных в программах.
- Базовые типы языка Си (char, int, long, float, double)
- Синтаксис описания простых переменных.
- Функции как средство структурирования программ.
- Синтаксис определения функций.
- Операция sizeof. Назначение и синтаксис.
- Идентификаторы, значения и адреса переменных. Понятие l-value, r-value.
- Операции преобразования типа. Явные и неявные преобразования.
- Понятие указателя.
- Операции взятия адреса и разадресации (разыменования).
- Операции с указателями (взятие адреса, разадресация, сравнение указателей, адресная арифметика).
- Преобразование типа указателя. Указатель на void, особенности его применения.
- Недопустимые операции с указателями.
- Операторы цикла (for, while, do-while). Особенности выполнения каждого типа оператора.
- Вложенные циклы. Проблема выхода из вложенных циклов.
- Операторы break и continue.
- Условные операторы. Полная и короткая форма. Вложенные условные операторы.
- Оператор goto, его назначение. Метки, назначение, область видимости и использование.
- Переключатель switch. Синтаксис и принципы работы.
- Вызовы функций. Формальные и фактические параметры.
- Структура среды выполнения программы. Назначение отдельных областей.
- Два возможных способа передачи аргументов в функции. Способ передачи аргументов, принятый в Си.
- Порядок выполнения вызова функций. Фреймы вызова функций.
- Одномерные массивы. Определение массива в программе. Инициализация.
- Указатель на массив. Действия с указателями на массивы.
- Символьные строки как массивы. Приемы инициализации.
- Ввод и вывод строк.
- Операция запятая. Определение и объявление многомерных массивов.
- Инициализация многомерных массивов.
- Особенности интерпретации символьных строк в конструкциях разных типов.
- Массивы символьных строк и массивы указателей.
- Передача массивов в функции.
- Указатели на функции и их использование.
- Производные типы данных, принципы формирования. Правила чтения сложных описаний типов.
- Библиотечные функции для работы со строками. Вычисление длины строки, копирование строк, конкатенация строк, сравнени строк, поиск подстроки — назначение, аргументы, возвращаемые значения.
|