- •3. Правила формального описания синтаксиса языка программирования
- •5. Идентификаторы языка Си
- •6. Понятие функции. Стандартная функция printf.
- •7. Стандартная функция scanf
- •8. Простейшие арифметические операции.
- •9. Операция присваивания. Оператор - выражение.
- •10. Использование в выражениях операндов разных типов. Операция преобразования типов.
- •11. Стандартные математические функции.
- •12. Простейшие функции, определяемые программистом.
- •13. Дополнительные арифметические операции. Дополнительные операции присваивания.
- •14. Побитовые операции.
- •15. Операции отношения. Операция определения размера данных.
- •16. Приоритеты операций.
- •17. Понятие о препроцессоре языка Си: директива «include», директива «define».
- •18. Основные положения структурного программирования. Понятие оператора (statement). Пустой и составной операторы.
- •19. Условный оператор и условная операция.
- •20. Оператор цикла «while». Оператор прерывания цикла. Оператор продолжения цикла. Множественный выбор. Оператор переключения.
- •21. Оператор цикла «do-while».
- •22.Перечисления. Работа с клавиатурой ibm pc
- •23. Массивы. Описание массива.
- •24. Ввод-вывод массива
- •25. Инициализация массива
- •26. Программа вычисления длины строки символов
- •32. Двумерные массивы (массивы массивов)
- •32. Адресная арифметика языка Си
- •33. Указатели и одномерные массивы
- •34. Указатели и двумерные массивы
- •35. Указатели и функции
- •36. Оператор typedef
- •39. Области видимости и глобальные данные
- •40. Время жизни переменных и классы памяти языка Си
- •41. Передача аргументов в функцию
- •42. Возврат значений из функций
- •47. Общий случай двумерного массива.
- •48. Особенности работы с массивами большого размера
- •49. Описание структуры.
- •50. Трактовка имени структуры.
- •51. Доступ к элементу структуры.
- •52. Инициализация структур.
- •53. Структуры и функции.
- •54. Поля бит в структурах.
- •55. Объединения.
- •56. Динамические данные.
- •57. Линейные списки.
- •58. Организация данных в виде стека.
- •59. Организация данных в виде очереди.
- •60. Организация данных в виде деревьев.
59. Организация данных в виде очереди.
Понятие очереди: первый пришел, первый ушел.
FIFO (FIRST IN FIRST OUT).
Описание очереди: такое же, что и стека, но надо хранить и начало и хвост очереди.
Тогда в вызывающей программе очередь описывается так: LIST *head = NULL, *tail = NULL;
Помещение элемента в очередь (в хвост списка):
60. Организация данных в виде деревьев.
Каждая вершина дерева представляет собой структуру, имеющую информационное поле и указатели поддеревья, исходящие из этой вершины. Максимальное количество поддеревьев, сходящихся в одной вершине, называется порядком дерева.
Описать дерево можно следующим образом:
typedef struct _NODE {
info_t info;
struct _NODE*left;
struct _NODE*right;
} NODE;
.
.
.
NODE *tree = NULL;
При организации работы с деревом программист с помощью функции malloc получает необходимые вершины дерева и, заполняя поля left и right, организует необходимые связи вершины дерева.