Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Конспект лекций 1-21.docx
Скачиваний:
4
Добавлен:
01.03.2025
Размер:
434.58 Кб
Скачать

Лекция 6.

Программирование на языке С++

Структура программы. Назначение функции main. Объявление функции main. Назначение заголовочных файлов

Рассмотрим структуру исходной программы на Си и опеределим термины, используемые при описании языка.

Исходная программа — это совокупность следующих объектов: директив, указаний компилятору, объявлений и определений.

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

Указания компилятору — это команды, выполняемые компилято­ром во время процесса компиляции. Объявления задают имена и атрибуты переменных, функций и ти­пов, используемых в программе.

Определения — это объявления, определяющие переменные и функции.

Определение переменной в дополнении к ее имени и типу задает начальное значение объявленной переменной. Кроме того, определение предполагает распределение памяти для переменной.

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

Исходная программа может содержать любое число директив, ука­заний компилятору, объявлений и определений. Любой из объектов программы имеет определенный синтаксис, и каждая составляющая может появляться в любом порядке.

В следующем примере иллюстрируется простая исходная прог­рамма на языке Си.

int х = 1; /* Определение переменных */

int у = 2;

extern int printf(char *,...) /* Объявление функции */ main () /* Определение функции main */

{

int z; /* Объявление переменных */

int w;

z = у + х; /* Операторы */

w = у — х;

printf("z = %d \nw = %d \n", z, x); }

Эта исходная программа определяет функцию с именем main и объявляет функцию printf. Переменные х и у задаются своими опре­делениями. Переменные z и w только объявляются.

Каждая программа содержит главную программную функцию. В . Си главная программная функция должна быть поименована как main. Функция main служит точкой старта при выполнении программы и обычно управляет выполнением программы, организуя вызовы других функций. Программа обычно завершает выполнение по окончанию функции main, хотя она может завершиться и в других точках, в зависи­мости от окружающей обстановки.

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

Все функции, включая функцию main, могут быть объявлены с па­раметрами. Вызываемые функции получают значения параметров из вызывающих функций. Значения параметров функции main могут быть переданы из внешнего окружения. Например, они могут быть переданы из командной строки.

Соглашение Си требует, чтобы первые два параметра функции main (если они необходимы) назывались argc и argv.

Параметр argc определяет общее число аргументов, передаваемых функции maim Параметр argv объявляется как массив указателей, каждый элемент которого ссылается на строковое представление аргумента, пере­даваемого функции main. Третий параметр функции main (если он есть) традиционно задается с именем envp. Однако Си не требует этого имени. Параметр envp — это указатель на массив указателей строковых величин, которые определяют окружение, в котором выполняется программа.

Операционная система поддерживает передачу значений для argc, argv, и envp параметров, а пользователь поддерживает задание значений фактических параметров для функции main. Соглашение о передаче параметров в большей степени определяется операционной системой, чем самим языком Си.