- Этапы трансляции программы. Классификация ошибок. Отладка.
- Стиль программирования. Необходимость хорошего стиля программирования.
- Комментирование программ.
- Понятие алгоритма. Полное построение алгоритма.
- Структурное программирование. Разработка сверху-вниз.
- Основные элементы структурного программирования и их реализация на языке Си.
- Концепция типа данных. Типы данных в языке Си. Имена. Описания.
- Арифметические операции, операции отношения, приоритеты.
- Логические связки. Приоритеты. Тернарная операция.
- Преобразования типов (включая указатели).
- Массивы в языке Си. Описание, обращение к компонентам.
- Оператор ветвления. Вложенные ветвления.
- Переключатель (оператор
switch
).
- Префиксный и постфиксный инкремент и декремент.
- Побитовые операции. Тернарная операция.
- Операторы цикла
while
и do-while
. Бесконечные циклы.
- Оператор цикла
for
.
- Выбор подходящего оператора цикла.
- Операторы
break
и continue
.
- Функция
getchar()
. Перенаправление стандартного ввода.
- Функция
putchar()
. Перенаправление стандартного вывода.
- Форматный ввод.
- Форматный вывод.
- Последовательность как структура данных.
- Последовательный файл.
- Связывание имени файла в ОС с указателем файла.
- Чтение из последовательного файла и запись в последовательный файл.
- Инициализация переменных начальными значениями.
- Принципы определения модульной структуры задачи.
- Функции в языке Си. Описание функций, прототипы, вызовы.
- Возвращаемые значения функций
printf()
, scanf()
, getchar()
, putchar()
, fopen()
.
- Рекурсивный объект. Определение и примеры.
- Когда следует и когда не следует использовать рекурсию.
- Пример задачи, для решения которой не следует использовать рекурсию.
- Пример задачи, для решения которой желательно использовать рекурсию.
- Области видимости объектов данных. Глобальные, локальные, автоматические, статические переменные.
- Указатели: определение и описание. Унарные операции * и &. Использование указателей в выражениях.
- Связь между массивами и указателями.
- Передача параметров в функцию по адресу и по значению.
- Массив как параметр функции, и как возвращаемое значение функции.
- Функции как параметр другой функции.
- Макроопределения. Директива
#define
.