Основные теоретические сведения
Поможем в ✍️ написании учебной работы
Поможем с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой

Этапы работы с программой на языке Си/Си++ в системе программирования

Все программы на языке Си и Си++ строятся по модульному принципу, т.е. состоят из множества модулей. Под модулем здесь имеется в виду библиотеки или ранее написанные части кода программы. Согласно принципам скрытия информации текст модуля обычно разделяют на заголовочный файл с расширением . h или . hpp и файл реализации с одним из расширений . c , . cpp , . obj , . lib , . asm .

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

Вначале с помощью текстового редактора формируется и сохраняется в файлах с расширением . cpp исходный текст программы. Затем осуществляется этап препроцессорной обработки, содержание которого определяется директивами препроцессора, расположенными в начале исходного кода. В частности, по директиве # include препроцессор подключает к тексту программы заголовочные файлы стандартных библиотек. Результатом работы препроцессорной обработки является формирование полного текстового кода программы, который в явном виде не доступен программисту и достаточно объемен из-за подключаемых заголовочных файлов. Далее происходит компиляция программы, в ходе которой могут быть обнаружены синтаксические ошибки, которые должны быть устранены. В случае успешной компиляции получается объектный код программы в файле с расширением . obj. После компиляции выполняется этап компоновки и редактирования связей, осуществляемый с помощью встроенных системных программ языка. В результате компоновки создается исполняемый двоичный код программы в файле с расширением . exe, который запускается на выполнение и который является результатом написания программы.

 

Рис.1 Структура процесса компиляции

 

Особенности выполнения перечисленных действий зависят от конкретного компилятора языка Си/Си++ и той операционной системы, в которой он работает. Технические подробности можно изучить по документации для конкретного программного продукта. Например, при работе с интегрированными средами фирмы Borland необходимая информация может быть получена из руководств пользователя.

В простейшем случае программа на языке Си и Си++ представляет собой набор описаний и определений, и состоит из набора функций. Среди этих функций всегда должна быть функция с именем main (для консольных программ) или WinMain (для программ в 32 – разрядных операционных систем). Данные функции являются точками входа и выхода, и без них программа не может быть выполнена. Если функция не возвращает никакого значения в результате своего выполнения, то перед именем функции помещается служебное слово void, обозначающее тип отсутствия значения. Также каждая функция должна иметь набор параметров, если параметры отсутствуют, то скобки оставляют пустыми или в них указывается void.

За заголовком размещается тело функции. Тело функции - это последовательность определений, описаний и исполняемых операторов, заключенных в фигурные скобки. Ниже приведен листинг простейшей программы на языке Си/Си++, вычисляющая объем цилиндра по радиусу и высоте, значения которых вводятся с клавиатуры.

// подключение средств консольного потокового ввода/вывода

#include <iostream.h> 

//подключение математических функций

#include <math.h>

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

void main ()

{

// объявление переменных

int r,v,h;

//вывод на экран

cout <<”\nВведите радиус и высоту цилиндра:";

//вывод на экран

cin >> r >> h;

//ввод значений с клавиатуры

v=M_PI*r*r*h;

cout <<"\nобъем цилиндра = " << v;

}

Основные элементы синтаксиса языка Си/Си++

Основные синтаксические правила и записи программ на языке Си/Си++ сводятся к следующему:

§ Прописные и строчные буквы считаются разными символами. При записи идентификатора могут использоваться латинские буквы, цифры и символ подчеркивания (_). Идентификатор не может начинаться с цифры и содержать в себе пробельный символ. Длина идентификатора не ограничена.

§ Пробельные символы могут размещаться в любом месте текста программы, но не внутри идентификатора.

§ Комментарии заключаются в скобки вида: /* текст комментария */ и могут вводиться в любом месте программы и занимать любое количество строк. Еще один способ введения комментария – размещение его после символов двойного слэша (//). Такой комментарий должен занимать конец строки и не должен переходить на следующую строку.

§Каждое (почти каждое) предложение языка кончается символом точка с запятой (;). 

§ В строке могут размещаться несколько операторов.

§ Фигурные скобки выделяют составной оператор ({}). Все операторы, заключенные между такими скобками воспринимаются как один оператор.

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

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

asm                  auto          bad_cast

bad_typeid      bool          break  

Case                 catch        char   

class                const        const_cast

Дата: 2019-02-02, просмотров: 276.