Структура простой программы си. Какова общая структура программы, написанной на языке Си? Переменные и массивы

СТРУКТУРА ПРОСТОЙ ПРОГРАММЫ

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

РИС. 2.4. Структура функции в языке Си: заголовок и тело.

Из книги C++ автора Хилл Мюррей

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

Из книги Домашний архитектор. Подготовка к ремонту и строительству на компьютере автора Булат Виталий

Структура программы Super Home Suite Рассмотрим главное окно программы Super Home Suite (демонстрационной версии 3.5.2) (рис. 2.1). Рис. 2.1. Главное окно программы Super Home SuiteВверху расположено системное меню, включающее разделы команд для управления программой, редактированием данных,

Из книги Информатика и информационные технологии: конспект лекций автора Цветкова А В

Структура программы Окно программы PromOffice Euroremont (рис. 3.1) состоит из нескольких частей. Вверху находится горизонтальная панель с главным меню, под ней – панель инструментов. Остальную область окна занимают панели для работы с данными. В последней версии программы в правом

Из книги Информатика и информационные технологии автора Цветкова А В

1. Структура программы на ассемблере Программа на ассемблере представляет собой совокупность блоков памяти, называемых сегментами памяти. Программа может состоять из одного или нескольких таких блоков-сегментов. Каждый сегмент содержит совокупность предложений языка,

Из книги Язык программирования С# 2005 и платформа.NET 2.0. автора Троелсен Эндрю

47. Структура программы на ассемблере Программа на ассемблере представляет собой совокупность блоков памяти, называемых сегментами памяти. Программа может состоять из одного или нескольких таких блоков-сегментов. Каждый сегмент содержит совокупность предложений

Из книги Язык программирования Си для персонального компьютера автора Бочков C. О.

Структура простой программы на C# Язык C# требует, чтобы вся логика программы содержалась в рамках определения некоторого типа (вспомните из главы 1, что термин тип используется для обозначения любого элемента множества {класс, интерфейс, структура, перечень, делегат}). В

Из книги Создаем вирус и антивирус автора Гульев Игорь А.

СТРУКТУРА ПРОГРАММЫ Исходная программа Исходная программа представляет собой совокупность следующих элементов: директив препроцессора, указаний компилятору, объявлений и определений. Директивы препроцессора специфицируют действия препроцессора по преобразованию

Из книги Язык Си - руководство для начинающих автора Прата Стивен

Структура и процесс загрузки COM-программы Что же представляет собой COM-программа, как она загружается в память и запускается?Структура COM-программы предельно проста – она содержит только код и данные программы, не имея даже заголовка. Размер COM-программы ограничен

Из книги Linux и UNIX: программирование в shell. Руководство разработчика. автора Тейнсли Дэвид

Структура и процесс загрузки EXE-программы В отличие от COM-программ, EXE-программы могут состоять из нескольких сегментов (кодов, данных, стека). Они могут занимать больше 64Кбайт.EXE-файл имеет заголовок, который используется при его загрузке. Заголовок состоит из

Из книги Конец холивара. Pascal vs C автора Кривцов М. А.

ПРИМЕР ПРОСТОЙ ПРОГРАММЫ НА ЯЗЫКЕ СИ Давайте рассмотрим простую программу на языке Си. Следует сразу сказать, что такой пример нужен нам лишь для выявления некоторых основных черт любой программы, написанной на языке Си. Далее мы дадим пояснения к каждой строке, но, перед

Из книги Linux и все, все, все... Статьи и колонки в LinuxFormat, 2006-2013 автора Федорчук Алексей Викторович

18.5.1. Простой цикл for Этот цикл просто выводит на экран список, который состоит из " 1 2 3 4 5". Чтобы получить доступ к каждой переменной, в качестве параметра имя_переменной указывается "loop".$ pg for_i#!/bin/sh# for_ifor loop in 1 2 3 4 5doecho $LOOP doneПриведенный выше сценарий выводит следующие данные:$

Из книги Описание языка PascalABC.NET автора Коллектив РуБоард

1. Структура программы на языке Pascal В программе на Pascal выделяют следующие основные разделы: заголовок программы, описания, операторы. Разделы отделяются друг от друга точкой с запятой. В конце программы ставится точка. Каждый раздел начинается со своего ключевого

Из книги автора

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

Из книги автора

Создаём простой пул Освоив ранее основные понятия, мы научились понимать ZFS. Для обратной же задачи – чтобы ZFS понимала нас – нужно ознакомиться с её командами. Главные из них – две: zpool для создания и управления пулами, и zfs для создания и управления наборами данных.

Из книги автора

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

Из книги автора

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

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

Использование языка программирования С в решении экономических задач

Программы и данные

Достоинства языка С

1) С – современный язык, его структура побуждает программиста использовать в своей работе методы: нисходящего проектирования, структурного программирования, модульную структуру программ.

2) С – эффективный язык. Программы на С отличаются компактностью и быстротой выполнения.

3) С – переносимый или мобильный язык.

4) С – мощный и гибкий язык.

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

6) С – удобный язык, он структурирован и вместе с тем не слишком ограничивает свободу программистам.

7) С – язык компелирующего типа. Так как С стандартизированный, аппаратно-независимый, широко доступный язык, приложение написанное на С часто могут выполняться с минимальными модификациями или даже без них на самых различных компьютерных системах. Компьютер, несмотря на его скорость и мощность вычислений, является простым устройством, которое манипулирует с двоичными числами. Одни двоичные числа интерпретируются компьютером, как команды, другие, как данные. Чтобы заставить компьютер выполнить что-нибудь полезное, нужно составить программу.

Программирование деятельность по составлению программы.

Программа -это описание алгоритма решения задачи, заданной на языке ЭВМ.

Команда предписание, определяющее очередной шаг.

Пример команды : С=А+В, где А, В-операнды, +- операция.

Операция -это то, что должна сделать ЭВМ согласно каждой команде.

Операнды -участники операции, то над чем и с чем выполняется операция. Набор элементарных операций из способов их описаний образуют систему команд языка программирования.

Пример №1:

# include

{void main(void) //заголовок головной функции программы

сout << “Здравствуй, С!\ n”;

1 строка : подключение вспомогательных библиотек, ориентированных на ввод и вывод данных разных типов в поток.

2 строка: заголовок головной функции программы. Cout-оператор вывода информации << – помещение в класс данных, \n-переход к новой строке вывода.

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

Использование С.

1. Программы и данные.

2. Схема выполнения программы на ЭВМ:

Пример №1:

# include < stdio.h>

printf ("Я учусь в БГУИР\ n");

1 строка: команда препроцессора include, включающая файл stdio.h, который описывает библиотечную функцию printf.

2 строка: определение функции с именем main, не получающей никаких аргументов. Инструкция main заключается в фигурные скобки. Функция main обращается к библиотечной ф-ции printf для печати, заданной в последовательности литер. Наклонная черта (\ n) - литера новая строка, переход к новой строке.

Для выполнения программы на ПВЭМ, необходимо сделать следующие действия:

1) Составить программу на языке программирования.

2) Транслировать ее в стандарте этого языка.

3) Связать ее с необходимыми программами и функциями.

4) Загрузить в оперативную память.

5) Выполнить и получить результат.


СХЕМА КОМПЕЛЯЦИИ

Транслятор – это компьютерная программа по переводу программы, написанной на языке программирования, в форму понятную для компьютера. На выходе компилятора получается файл с расширением obj. Исполняемый файл или загрузочный модуль представляет собой файл, содержащий откомпилированную и готовую к выполнению программу. Borland C++ является средой для разработки программ, которые включают в себя как компилятор, так и некоторые другие инструменты.

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

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

а) Общая структура программы на С без обращения к подпрограмме:

б) Общая структура программы на С с обращением к подпр-ме:

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

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

Листинг 1.1. Пример простой программы.

/* Пример простой программы*/
#include
int main()
{
printf(“Hello World!”);
return 0;
}

и обычно имеет расширение cpp, например, «ex1.cpp».

Следующий шаг – это компиляция исходного кода. Под компиляцией понимают процесс, при котором содержимое текстового файла преобразуется в исполняемый машинный код, понимаемый процессором компьютера. Однако компилятор создает не готовую к исполнению программу, а только объектный код (файл с расширением *.obj). Этот код является промежуточным этапом при создании готовой программы. Дело в том, что создаваемая программа может содержать функции стандартных библиотек языка С++, реализации которых описаны в объектных файлах библиотек. Например, в приведенной программе используется функция printf() стандартной библиотеки «stdio.h». Это означает, что объектный файл ex1.obj будет содержать лишь инструкции по вызову данной функции, но код самой функции в нем будет отсутствовать.

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

Рассмотрим более подробно пример программы листинга 1.1. Первая строка задает комментарии, т.е. замечания, помогающие лучше понять программу. Они предназначены только для чтения и игнорируются компилятором. Во второй строке записана директива #include, которая дает команду препроцессору языка С++ вставить содержимое файла ‘stdio.h’ на место этой строки при компиляции. В третьей строке определена функция с именем main, которая возвращает целое число (тип int) и не принимает никаких аргументов (тип void). Функция main() является обязательной функцией для всех программ на языке С++ и без ее наличия уже на этапе компиляции появляется сообщение об ошибке, указывающее на отсутствие данной функции. Обязательность данной функции обусловливается тем, что она является точкой входа в программу. В данном случае под точкой входа понимается функция, с которой начинается и которой заканчивается работа программы. Например, при запуске exe-файла происходит активизация функции main(), выполнение всех операторов, входящих в нее и завершение программы. Таким образом, логика всей программы заключена в этой функции. В приведенном примере при вызове функции main() происходит вызов функции printf(), которая выводит на экран монитора сообщение “Hello World!”, а затем выполняется оператор return, который возвращает нулевое значение. Это число возвращается самой функцией main() операционной системе и означает успешное завершение программы. Фигурные скобки {} служат для определения начала и конца тела функции, т.е. в них содержатся все возможные операторы, которые описывают работу данной функции. Следует отметить, что после каждого оператора в языке С++ ставится символ ‘;’. Таким образом, приведенный пример показывает общую структуру программ на языке С++.

Лекция № 1

Тема: Знакомство с языком C++. Операторы и типы данных

План

3. Переменные и их типы

4. Операторы и математические функции

5. Операторы ввода/вывода на языке С++

6. Пример программы на С++

1. История развития языка программирования С++

Языка C++, объединяющий в себе свойства языка С и объектно–ориентированного программирова­ния, стал один из главных языков программирования в 90–е годы и твердо продолжает оставаться таким в начале XXI века. Язык C++ получил в наследство от языка С такие качества, как эффективность, компакт­ность, быстрота выполнения и переносимость про­грамм. От объектно–ориентированного программи­рования язык C++ получил новую методологию программирования, позволяющую справиться с возрос­шей сложностью современных задач программирования. А такие элементы языка, как улучшенные шаблоны, привносят в язык C++ еще одну новую методологию программирования: обобщенное программирование. Это тройное наследство является для языка C++ одновре­менно и благословением, и проклятием. Оно делают язык очень мощным, но в то же время и сложным; а это означает, что программистам приходится больше изу­чать.

В последние несколько десятилетий компьютерная тех­нология развивалась поразительными темпами. Языки программирования также претерпели значительную эво­люцию. В 70–е годы такие языки программирования, как С и Pascal, помогли войти в эру структурного программи­рования, принесшего порядок в ту область, которая силь­но нуждалась в этом. Язык С предоставил в распоряже­ние программиста инструменты, необходимые для структурного программирования, а также обеспечил со­здание компактных, быстро работающих программ и возможность адресации аппаратных средств, например, возможность управления портами связи и накопителя­ми на магнитных дисках. Эти качества помогли языку С стать господствующим языком программирования в 80–е годы. Вместе с тем в эти годы появилась новая мо­дель программирования:объектно–ориентированное программирование, или ООП, воплощенное в таких язы­ках, как SmallTalk и C++.

Язык С

Сотрудник компании Bell Laboratories Кена Томпсона в 1969 году разработал язик B (би) для создания других программных систем. Однако этот язык был интерпретируемым, что не позволяло создавать на нем независимые исполняемые файлы. Тем не менее этот язык явился предшественником языка С.

В начале 70–х годов Денис Ритчи из компании Bell Laboratories занимался разработкой опе­рационной системы UNIX. Для выполнения этой ра­боты Ритчи нуждался в таком языке программирования, который был бы кратким, а также мог бы обеспечивать эффективное управление аппаратными средствами и создание компактных, быстро работающих программ. Традиционно такие потребности программистов удов­летворял язык ассемблера, который тесно связан с внут­ренним машинным языком компьютера. Однако язык ассемблера – это язык низкого уровня, т.е. он привязан к определенному типу процессора (или компьютера). Поэтому если программу на языке ассемблера необхо­димо перенести на компьютер другого типа, то ее при­ходится переписывать заново на другом языке ассемб­лера.

Операционная система UNIX пред­назначалась дли работы на разнообразных типах компь­ютеров (или платформах). А это предполагало использование языка высокого уровня. Язык высокого уровни ориентирован на решение задач, а не на конкрет­ное аппаратное обеспечение. Специальные программы, которые называются компиляторами, транслируют про­грамму на языке высокого уровня в программу на внут­реннем языке конкретного компьютера. Таким образом, используя отдельный компилятор для каждой платформы, одну и ту же программу на языке высокого уровня можно выполнять на разных платформах. Ритчи нуждал­ся в языке, который бы объединял эффективность и возможность доступа к аппаратным средствам, имеющи­еся у языка низкого уровня, с более общим характером и переносимостью, присущими языку высокого уровня. Поэтому на основе имеющегося языка программирования В Ритчи разработал язык С. Принято считать, что авторами языка являются Ритчи и Томпсон.

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

Язык С++

С развитием объектно–ориентированной технологии возможностей стандартного языка С уже было недостаточно. В результате появился язык С++.

Язык C++, так же как и язык С, является детищем ком­пании Bell Laboratories. Автор Бьярни Страуструп разработал этот язык в начале 80–х годов. По его собственным словам, «язык C++ был спроектирован главным образом так, чтобы мне и моим друзьям не приходилось программировать на ассемблере, С или различных современных языках высокого уровня. Его главная цель состояла в следующем: сделать так, что­бы отдельным программистам было легче и приятнее писать хорошие программы» .

Страуструп создал C++ на основе языка С, так как язык С был кратким, хорошо подходил для системного программи­ровании, был широко доступен и тесно связан с опера­ционной системой UNIX. Объектно–ориентированная часть языка C++ возникла под влиянием языка модели­рования Simula67. Страуструп добавил элементы ООП в язык С, не изменяя при этом существенно сам язык С.

Название C++ происходит от обозначения оператора инкремента ++ в языке С, который добавляет единицу к значению переменной. Название C++ подразумевает, что этот язык является усовершенствованной (++) версией языка С.

Обобщенное программирование

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

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

Программа C++ строится из отдельных блоков, на­зываемых функциями. Как правило, программа разделя­ется на ряд крупных задач, а затем для выполнения этих задач разрабатываются отдельные функции.

Большинство программ на С++ имеют следующий вид:

раздел подключения заголовочных файлов

заголовок программы (функции)

тело функции

Заголовок программы

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

Описание такой функции выполняют в разделе заголовка программы и записывают в виде:

Важно учитывать тот факт, что компилятор С++ различает регистр символов. Поэтому, имя функции, набранное в другом регистре (например: Main() или MAIN()), будет распознаваться как неправильное.

Раздел подключения заголовочных файлов

При создании исполняемого кода программ C++, так же как и в случае с программами С, используется пре­процессор. Это программа, которая обрабатывает исход­ный файл перед основной компиляцией. Чтобы вызвать этот препроцессор, не надо делать ниче­го особенного. Он запускается автоматически при ком­пиляции программы.

Каждая программа на С++ вначале имеет директиву вида:

#include

Эта директива приводит к тому, что препроцессор добавляет в программу содержимое файла iostream. Это типичное для препроцессора действие: добавление или изменение текста в исходном коде перед компиляцией.

Директива #include приводит к тому, что содержимое файла iostream пере­дается в компилятор вместе с содержимым исходного файла. В сущности, содержимое файлаiostream заменя­ет в программе строку #include . Исходный файл не изменяется, а объединенный файл, созданный из исходного файла и файла iostream, обрабатывается на следующем этапе компиляции.

Такие файлы, как iostream, называются файлами вклю­чения (поскольку они включаются в другие файлы) или заголовочными файлами (поскольку они включаются в начале файла). Компиляторы C++ поставляются со мно­гими заголовочными файлами, каждый из которых под­держивает отдельное семейство программных средств. Заголовочные файлы в языке С по традиции имеют рас­ширение h, это самый простой способ идентификации типа файла по его имени. Например, заголовочный файл math.hподдерживает различные математические функ­ции языка С++.

Заголовочные файлы находятся в папке Include среды разработки Turbo C++. Если при запуске программы выдается ошибка, указывающая на отсутствие подключаемого заголовочного файла, то в среде Turbo C++ необходимо выполнить настройку. Для этого выполните команду Options – Directories, в поле Include Directoriesвведите..\INCLUDE, а в поле Library Directories введите..\LIB.

Тело функции

Тело функции содержит инструкции для ком­пьютера, т.е. определяет то, что собственно делает фун­кция.

Тело функции имеет следующий вид:

описание переменных;

операторы;

Как видно тело функции заключается в фигурные скобки. Описание переменных будет рассмотрено в следующем разделе лекции.

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

Инструкция RETURN 0 указывает на завершение работы функции и возврат в вызывающую программу. В главной функции main() эту инструкцию можно не указывать.

В тексте программ допускается использовать комментарии. В языке C++ комментарии обозначаются двойной на­клонной чертой (//). В программах C+ + можно использовать комментарии из языка С, которые заключены между символами /* и */.

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

Прежде чем приступить к написанию программ, необходимо изучить структуру программ на языке программирования С++. Своими словами, структура программ это разметка рабочей области (области кода) с целью чёткого определения основных блоков программ и синтаксиса. Структура программ несколько отличается в зависимости от среды программирования. Мы ориентируемся на IDE Microsoft Visual Studio, и по этому примеры программ будут показаны именно для MVS. Если вы используете другую IDE, то вам не составит труда перенести код из MVS в другие среды разработки, и вы поймете со временем, как это сделать.

Структура программ для Microsoft Visual Studio.

// struct_program.cpp: определяет точку входа для консольного приложения. #include "stdafx.h" //здесь подключаем все необходимые препроцессорные директивы int main() { // начало главной функции с именем main //здесь будет находится ваш программный код }

В строке 1 говорится о точке входа для консольного приложения, это значит, что данную программу можно запустить через командную строку Windows указав имя программы, к примеру, такое struct_program.cpp . Строка 1 является однострочным комментарием, так как начинается с символов // , подробнее о комментариях будет рассказано в следующей статье. В строке 2 подключен заголовочный файл "stdafx.h" . Данный файл похож на контейнер, так как в нем подключены основные препроцессорные директивы (те, что подключил компилятор, при создании консольного приложения), тут же могут быть подключены и вспомогательные (подключенные программистом).

include — директива препроцессора, т. е. сообщение препроцессору. Строки, начинающиеся с символа # обрабатываются препроцессором до компиляции программы.

Препроцессорные директивы также можно подключать и в строках, начиная после записи #include "stdafx.h" до начала главной функции. Причём такой способ подключения библиотек является основным, а использование "stdafx.h" — это дополнительная возможность подключения заголовочных файлов, которая есть только в MVS. С 4-й по 6-ю строки объявлена функция main . Строка 4 – это заголовок функции, который состоит из типа возвращаемых данных (в данном случае int), этой функцией, и имени функции, а также круглых скобок, в которых объявляются параметры функции.

int — целочисленный тип данных

Между фигурными скобочками размещается основной программный код, называемый еще телом функции. Это самая простая структура программы. Данная структура написана в Microsoft Visual Studio. Все выше сказанное остается справедливым и для других компиляторов, кроме строки 2. Контейнера "stdafx.h" нигде кроме MVS нет.

Структура программы для C++ Builder.

При создании консольного приложения мастер создания проектов создает автоматически следующий код:

//препроцессорная директива, автоматически подключённая мастером создания проектов #include int main() { return 0; }

Мы видим, что у функции тип данных — int . Это говорит о том что по завершении работы функция вернет какое-то целочисленное значение, в нашем случае 0. Целочисленное потому, что int – это тип данных для целых чисел, таких как 4, 5, 6, 456, 233 и т. д.

Главное помнить, что если тип возвращаемых данных у функции main — это int или любой другой, кроме void , то следует писать строку типа этой: return <возвращаемое значение>;

В строке 2 подключена библиотека vcl.h – её автоматически подключает мастер создания приложений, поэтому удалять её не следует, иначе проект не будет рабочим.

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

Например:

Int main(int argc, char* argv) { return 0; }

Такой пример структуры генерируется мастером в MVS2010. Данный main немного отличается. Подробнее рассмотрим позже, но скажу, что данный main имеет такой вид, так как изначально рассчитан на поддержку юникода.

Юникод — стандарт кодирования символов, позволяющий представить знаки практически всех письменных языков. Подробнее о юникоде поговорим позже.

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

Пример структуры программы MVS с подключенными библиотеками.

#include "stdafx.h" #include using namespace std; int main() { }

Имя подключаемых библиотек пишется внутри знаков больше, меньше. Заголовочные файлы и имя подключаемых библиотек – синонимы.

Синтаксис подключения заголовочных файлов:

#include <имя заголовочного файла>

Более старые заголовочные файлы подключаются так (этот стиль подключения библиотек унаследован у языка программирования C):

#include <имя заголовочного файла.h>

Различие состоит в том, что после имени ставится расширение.h .

Язык программирования С++ является регистрозависимым. Например:
Return 0; – не правильно, будет ошибка компиляции.
return 0; – правильно!!!

В данной статье рассмотрены структуры программ на С++ в таких средах как MVS и Borland. И как вы уже заметили, эти структуры почти не отличаются. Поэтому данная статья актуальна для любой IDE. Если вы ещё не определились с выбором IDE, прочитайте .