Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
lektsii_po_si.doc
Скачиваний:
12
Добавлен:
12.11.2018
Размер:
11.78 Mб
Скачать

Структура программы.

Структура программы. После выполнения препроцессорной обработки в тексте программы не остается ни одной препроцессорной директивы. Теперь программа представляет собой набор описаний и определений. Если не рассматривать (в этой главе) определений глобальных объектов и описаний, то программа будет набором определений функций.

Среди этих функций всегда должна присутствовать функция с фиксированным именем main. Именно эта функция является главной функцией программы, без которой программа не может быть выполнена. Имя этой главной функции для всех программ одинаково (всегда main) и не может выбираться произвольно. Таким образом, исходный текст программы в простом случае (когда программа состоит только из одной функции) имеет такой вид:

директив_ препроцессора void main( )

{

определения _объектов;

исполняемые_операторы;

}

Две директивы препроцессора #define и #include мы уже ввели. Для целей этой главы их вполне достаточно. Напомним только, что директивы препроцессора могут размещаться не только в начале программы. Они при необходимости могут быть помещены в любом месте текста программы. Однако заголовочные файлы, с которыми всегда приходится иметь дело, рекомендуется помещать в начале текста программы. Именно эта особенность отмечена в предложенном формате программы. Теперь можно писать несложные программы на языке Си.

Перед именем каждой функции программы следует помещать сведения о типе возвращаемого функцией значения (тип результата). Если функция ничего не возвращает, то указывается тип void. Функция main() является той функцией программы, которая запускается на исполнение по командам операционной системы. Возвращаемое функцией main( ) значение также передается операционный системе. Если программист не предполагает, что операционная система будет анализировать результат выполнения его программы, то проще всего указать, что возвращаемое значение отсутствует, т.е. имеет тип void. Если сведения о типе результата отсутствуют, то считается по умолчанию, что функция main возвращает целочисленное значение типа int.

Каждая функция (в том числе и main) в языке Си должна иметь набор параметров. Этот набор может быть пустым, тогда в скобках после имени функции помещается служебное слово void либо скобки остаются пустыми. В отличие от обычных функций главная функция main( ) может использоваться как с параметрами, так и без них. Состав списка параметров функции main( ) и их назначение будут рассмотрены в главе 5. Сейчас только отметим, что параметры функции main( ) позволяют организовать передачу данных из среды выполнения в исполняемую программу, минуя средства, предоставляемые стандартной библиотекой ввода-вывода.

Вслед за заголовком void main( ) размещается тело функции. Тело функции - это блок, последовательность определений, описаний и исполняемых операторов, заключенная в фигурные скобки. Определения и описания в блоке будем размещать до исполняемых операторов. Каждое определение, описание и каждый оператор завершается символом ';' (точка с запятой).

Определения вводят объекты, необходимые для представления в программе обрабатываемых данных. Примером таких объектов служат именованные константы и переменные разных типов. Описания уведомляют компилятор о свойствах и именах объектов и функций, определенных в других частях программы. Операторы определяют действия программы на каждом шаге ее выполнения.

Чтобы привести пример простейшей осмысленной программы на языке Си, необходимо ввести оператор, обеспечивающий вывод данных из ЭВМ, например на экран дисплея. К сожалению (или как особенность языка), такого оператора в языке Си НЕТ! Все возможности обмена данными с внешним миром программа на языке Си реализует с помощью библиотечных функций ввода-вывода.

Для подключения к программе описаний средств ввода-вывода из стандартной библиотеки компилятора используется директива #include <stdio.h>.

Название заголовочного файла stdio.h являегся аббревиатурой: std - standard (стандартный), / - input (ввод), о - output (вывод), h - head (заголовок).