Основы программирования для автоматизированного проектирования и решения творческих задач. Романенко А.В - 14 стр.

UptoLike

Составители: 

Для того, чтобы программа могла быть скомпилирована и выполнена, она должна содержать как минимум одну функ-
цию. Эта функция определяет действия, выполняемые программой, с нее начинается выполнение программы, она вызывает
другие функции:
тип main (параметры функции)
{
тело функции
}
В качестве типа возвращаемого значения можно использовать типы int и void. mainстандартное название главной функ-
ции в программе на языке С. Главная функция, также как и любая другая, может получать аргументы. Однако то, что функ-
ция main при запуске программы вызывается операционной системой, накладывает ограничения на структуру этого списка.
Его состав рассматривается в части этой книги, посвященной функциям.
Приведем пример программы на языке С.
П р и м е р 6
#include <stdio.h>
int main()
{
printf("Здравствуй, мир!!!");
return 0;
}
8 ОПРЕДЕЛЕНИЯ И ОПИСАНИЯ ПРОГРАММНЫХ ОБЪЕКТОВ.
ПРОДОЛЖИТЕЛЬНОСТЬ СУЩЕСТВОВАНИЯ
ПРОГРАММНЫХ ОБЪЕКТОВ
В процессе работы программам практически всегда необходимо осуществлять временное хранение некоторой инфор-
мации в промежутках между ее использованием в операциях. Этой цели служат программные объекты. Программным объ-
ектом в языке С принято считать некоторую область оперативной памяти ЭВМ, занятую информацией. Для обращения к
этой области памяти программе необходимо знать адрес ее начала и длину в байтах. Одним из частных случаев программно-
го объекта является переменная. Для создания переменных в языке С используются определения и описания. Определение
сообщает компилятору о необходимости немедленного размещения в оперативной памяти программного объекта, задает его
имя и атрибуты. Описание же только сообщает свойства программного объекта с которыми ассоциируется его имя, так как
сам объект создан в другой части программы, с которой налаживает связи компоновщик после компиляции.
Определение переменных заданного типа в языке С имеет следующий формат:
спецификатор модификатор тип имя = инициализатор;
здесь спецификаторописатель класса памяти; модификаторописатель особых свойств объекта; типописатель одного
из основных типов данных (см. раздел 2); имяидентификатор, задающий название программного объекта; инициализатор
возможное определение начального значения программного объекта.
Описание объекта становится определением, если описывает переменную; содержит инициализатор; полностью описы-
вает функцию (включая ее тело); описывает структуру или объединение вместе с их компонентами.
В языке С определены три типа продолжительности существования программных объектов: локальная, статическая и
динамическая. Локальная продолжительность существования связана с функцией
или блоком (составным оператором, внутри которого определяются новые программные объекты). Все локальные объ-
екты создаются только в момент начала обработки функции или блока и уничтожаются при завершении их работы. Стати-
ческая продолжительность существования также связана с функциями или блоками. Создаются такие объекты в момент
первого обращения к функции или блоку, а уничтожаются они в момент завершения работы программы. Объекты с динами-
ческой продолжительностью существования создаются отдельно в процессе работы программы и удаляются из памяти
ЭВМ с помощью специальных функций.
Продолжительность существования программного объекта и его размещение в памяти ЭВМ задает класс памяти. Для
явного определения класса памяти объекта используются спецификаторы. Спецификаторы классов памяти языка С перечис-
лены в табл. 5.
5 Спецификаторы класса памяти
auto
Задается только внутри блоков. Этим объектам память вы-
деляется при входе в блок и освобождается при выходе из
него автоматически. Вне блока объекты класса auto не су-
ществуют
register
Аналогичен классу auto, но для размещения значений объ-
ектов используются регистры процессора, а не основная
память. В случае отсутствия свободной регистровой памя-
ти компилятор обрабатывает объекты класса register по-
добно классу auto