Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции_С++_последная.doc
Скачиваний:
42
Добавлен:
07.05.2019
Размер:
876.54 Кб
Скачать

1.5. Общая структура программы

Язык С и С++ часто называют языком среднего уровня. Это означает, что он объединяет лучшие свойства языков высокого уровня, возможности и гибкость языка ассемблера.

Язык С и С++ является структурированным языком, отличительной чертой которого является обособление кода и данных. Структурированные языки являются современными, и в настоящее время неструктурированность является признаком устаревших языков программирования.

Основным структурным элементом языка С и С++ является функция. Именно функции служат строительными блоками, из которых создается программа. Они позволяют разбивать программу на модули, решающие отдельные задачи. Одним из способов структурирования и обособления программы, написанной на языках С и С++ являются, блоки. Блок – это группа операторов, логически связанных между собой и рассматриваемых как единое целое. В языке С\С++ блок можно создать с помощью фигурных скобок, ограничивающих последовательность операторов.

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

//Область директив препроцессора (include, define, …)

#include <iostream.h>

//Объявления глобальных типов, переменных и констант

//Функции

Function 1

{

//Объявления локальных типов, переменных и констант

//Операторы

}

Function N

{

//Объявления локальных типов, переменных и констант

//Операторы

}

//Главная функция программы

void main ()

{

//Объявления локальных типов, переменных и констант

//Операторы

}

Программы обычно начинаются с директив препроцессора (начинаются с символа "#"), которые, по сути, не являются конструкциями языка С и обрабатываются до фактической компиляции программы. Их смысл – подстановка некоторого кода в программу. Так, к примеру, очень часто используется директива #include, которая включает в файл с исходным кодом программы текст внешнего заголовочного файла (с расширением .h). Заголовочные файлы содержат определения глобальных типов, констант, переменных и функций.

Данная схема не имеет такого жесткого порядка, как на языке Паскаль, однако она считается традиционной.

Традиционно программы на языке С используют расширение *.с, как программу на языке С, а программу, записанную в файл с расширением *.срр, – как программу на языке С++.

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

В начале программы располагается область директив препроцессора, из которых наиболее часто используются include и define. Далее располагаются полные описания пользовательских функций, и после них определяется функция main.

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

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

Выполнение программы по умолчанию заканчивается при завершении работы main, но может прерваться в любом месте при возникновении критической ошибки или в предусмотренном случае. Для этого обычно используют функцию exit () из библиотеки stdlib.