- •4. Понятие объекта программы. Виды объектов: константа, переменная, функция. Задание (определение) объектов программы.
- •Константы
- •1. Понятие алгоритма. Свойства алгоритма.
- •9. Неодродные типы (структура). Характеристика основных составляющих неоднородных типов.
- •10. Понятие ссылочного типа (тип указатель). Характеристика основных составляющих типа указатель.
- •11. Понятие файла. Виды файлов: текстовые, двоичные. Способы обращения к элементам файлов. Операции над файлами.
- •14. Языковые средства вычислений над данными: выражение, оператор присваивания. Синтаксис и симантика выражения и опретора присваивания.
- •12. Совместимость типов. Преобразование типов.
- •Циклические управляющие структуры
- •18. Понятие структурного программирования.
- •19. Понятие подпрограммы и модульного программирования. Цели модульного программирования. Виды подпрограмм: функция, процедура.
- •Подпрограммы
- •20. Синтаксис и семантика функции языка с.
- •22. Понятие формального параметра. Использование формального параметра для передачи данных в подпрограмму (исходных данных и результатов).
- •23. Понятие фактического параметра подпрограммы. Правила связывания формального и фактического параметров.
- •25. Понятие рекурсии. Глубина рекурсии. Механизм реализации рекурсий в языках программирования.
- •24. Модульно - блочная структура программы и правила локализации объектов.
- •Местом или областью локализации может быть:
- •Способ связывания:
Способ связывания:
Этот атрибут возник для программ с модульной структурой.
Определение соответствующего имени объекта (переменной, константе, функции) в программе состоящей из нескольких модулей. Внутри модуля способ связывания – внутренний.
Выделение памяти и связь с именем происходит на этапе трансляции. Для объектов определенных в программе с модульной структурой может быть определено внешнее связывание – это связывание определяется в тех случаях когда объект определенный в одном модуле должен быть использован в другом. Для функций по умолчанию установлено внешнее связывание по этому функция определенная в одном модуле может быть определена в другом. Для переменных внешнее связывание задается только явно. Для этого используется еще один атрибут называемый класс памяти – определяет размещение объекта в ОЗУ продолжительность его существования и его способ связывания.
Классы:
1.Автоматическая память (auto) – этот класс выделяется объектам блока, выделяется либо в стеке либо в регистре. Объекты этого класса имеют локальную продолжительность существования.
2.Статическая память (static) – этот класс приписан объектам явно и задает статическую продолжительность существования, память выделяется в сегменте данных.
3.Внешняя память (extern) – задает статическую продолжительность существования внешний способ связывания память выделяется в сегменте программы данных. Функции по умолчанию приписываются к классу extern.
Для переменных класс приписывается явно. При определении объекта ему приписывается не только тип но и класс памяти, продолжительность существования, тип связывания, область действия имени и т.д.
Явно задается только класс памяти.
Общее определение обьекта:
[класс памяти][модификатор] тип имя [инициализатор] ([] – говорит о том что то что внутри может быть опущено).
При определении объекта переменной или константы класс extern не используется. Этот класс используется при описании объектов. По определению ему задается имя, и другие атрибуты, тип, выделение памяти.
Описание – информация для транслятора об объекте.
Описание: [класс памяти][модификатор] тип имя, но без инициализатора так как это информация только для транслятора.