Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Системне програмування.docx
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
74.23 Кб
Скачать

3.2.15. Структура программы на языке c

Программа на языке C представляет собой совокупность следующих элементов:

  • директив препроцессора;

  • указаний компилятору;

  • определений функций;

  • объявлений переменных и функций;

  • выполняемых операторов.

Директивы препроцессора определяют действия по преобразованию текста исходной программы перед компиляцией.

Указания компилятору – это специальные инструкции для компилятора языка C, зависящие от используемого компилятора.

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

Определение функции специфицирует тело (текст) функции, который представляет собой блок – последовательность операторов. Тело функции содержит объявления и/или выполняемые операторы. Началом блока служит символ "{", окончанием – символ "}". Определение функции имеет следующий синтаксис:

тип-возвращаемого-значения идентификатор-функции (параметр-1, параметр-2,)

где тип-возвращаемого-значения – один из типов переменных C (например, int или float), идентификатор-функции – имя функции, параметр-1, параметр-2, – параметры функции. Если функция имеет несколько параметров, они отделяются друг от друга запятыми. Если функции не передается никаких параметров, то в качестве единственного параметра (в соответствии со стандартом ANSI) задается ключевое слово void или просто пустые скобки.

В C недопустимо определение функции внутри другой функции, но можно определять блоки внутри функции.

Возвращаемое функцией значение определяется в теле функции с помощью оператора return (в теле функции может быть несколько операторов return). Оператор return имеет следующий синтаксис:

return выражение;

где выражение вычисляется и подставляется вместо вызова функции. Тип результата вычисления выражения должен совпадать с типом-возвращаемого-значения в определении функции.

Объявления переменных задают имена и атрибуты переменной, а объявления функций задают их имена, типы возвращаемых значений и атрибуты формальных параметров. Объявления функций (их называют также прототипами функций) могут находиться только вне определений функций. Переменные могут быть объявлены как вне определений функций, так и внутри функций или блоков. В первом случае переменные называются глобальными переменными или переменными верхнего уровня, поскольку область определения переменной в этом случае (ее называют также областью видимости переменной) – от точки объявления переменной до конца файла. Во втором случае переменные называются локальными переменными или переменными нижнего уровня. Область видимости локальных переменных – функция или блок, в котором они определены. В C все локальные переменные должны быть объявлены до первого выполняемого оператора функции или блока.

Выполняемые операторы определяют действия программы по реализации алгоритма ее работы.

Признаком окончания операторов объявлений и выполняемых операторов является символ ";".

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

Функция main возвращает целое значение (обычно при нормальном завершении программы в выражении в операторе return задается число 0). Пока будем считать, что в функцию main не передается никаких аргументов.

Если программа выполняется в интегрированной среде BorlandC++, то после выполнения оператора return окно выполнения программы автоматически закрывается. Чтобы этого не происходило, обычно перед оператором return обычно ставят оператор

getchar();

который вызывает функцию ввода символа. Эта функция, так же, как и функция printf(), находится в разделе stdio.h стандартной библиотеки C. В этом случае окно выполнения программы закрывается при вводе любого символа (или просто нажатия клавиши Enter). Иногда программа уже ожидает ввода символов. В этом случае необходимо два раза повторить вызов функции getchar().

Таким образом, общая структура (скелет) простой программы на языке C будет выглядеть следующим образом:

операторы #include

int main(void)

{

операторы объявления

выполняемые операторы

getchar ();

getchar ();

return 0;

}

Пример программы на языке C:

Вывести на дисплей результат вычислений по формуле:

при x=-0.951 и y=8.149.

/* Вызов головного модуля функций ввода-вывода */

#include <stdio.h>

/* Вызов головного модуля математических функций */

#include <math.h>

main() /* Описание главной функции */

{ /* Начало блока */

/* Описания и инициализация переменных */

float F, x=0.951, y=8.149;

const double pi=3.1415926;

/* Вычисление функции */

F=(pow(x,3)+1.0)/log(fabs(x))-

pow(sin(pi/4.0+0.5*y),2);

/* Печать исходных данных и результата */

printf("x=%f y=%f Функция F=%f\n",x,y,F);

} /* Конец блока */

На экран будут выведены следующие результаты:

x=0.951000 y=8.149000 Функция F=-38.001472