Язык программирования Си для персонального компьютера - [8]

Шрифт
Интервал

Ключевое слово fortran используется для организации связи программ, написанных на языках Си и Фортран. По действию оно аналогично ключевому слову pascal. Ключевое слово asm применяется для записи в программе на языке Си ассемблерных инструкций. Специальные ключевые слова, начинающиеся с подчеркивания, представляют собой имена псевдопеременных, соответствующих регистрам микропроцессора. Ключевые слова cdecl, pascal, interrupt, near, far, huge, const, volatile объясняются подробно в разделе 3.3.3 "Описатели с модификаторами".

Комментарии

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

/* <символы> */

<символы> должны принадлежать множеству представимых символов. Символ новой строки также допустим внутри комментария. Это означает, что комментарии могут занимать более одной строки программного текста. Внутри комментария недопустима комбинация символов */. Это означает, что комментарии не могут быть вложенными.

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

Следующие примеры иллюстрируют использование комментариев:

/* Комментарии помогают документировать программу.*/

/* Комментарии могут содержать ключевые слова, например while и for */

/********************

Комментарий может занимать

несколько строк.

********************/

Так как комментарии не могут содержать вложенных комментариев, то следующий пример будет ошибочным:

/* Недопустимы /* вложенные */ комментарии */

Компилятор языка Си распознает первую комбинацию символов */ после слова "вложенные" как конец комментария. Затем компилятор языка Си попытается обработать оставшийся текст и выявить в нем лексемы языка Си, что приведет к ошибке.

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

В СП ТС существует опция компиляции, допускающая вложенные комментарии.

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

Исходная программа

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

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

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

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

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

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

Для того чтобы программа на языке Си могла быть скомпилирована и выполнена, она должна содержать по крайней мере одно определение — определение функции. Эта функция определяет действия, выполняемые программой. Если же программа содержит несколько функций, то среди них выделяется одна главная функция, которая должна иметь имя main. С нее начинается выполнение программы; она определяет действия, выполняемые программой, и вызывает другие функции. Порядок следования определений функций в исходной программе несуществен.

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

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

inl у = 2;

extern int printf(char *, ..,); /* объявление функции */

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

{

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

int w;

z = у + х; /* выполняемые операторы */

w = y – x;

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

}

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

Исходные файлы

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


Рекомендуем почитать
Великие князья Владимирские и Владимиро-Московские. Великие и удельные князья Северной Руси в татарский период с 1238 по 1505 г.

Андрей Васильевич Экземплярский — русский историк, успешно окончил историко-филологический факультет Санкт-Петербургского университета. Еще в студенческие годы под руководством K. H. Бестужева-Рюмина работал с польскими источниками по истории Смутного времени. Был преподавателем в гимназиях Польши, в Екатеринбурге и Перми. Принимал участие в работе над Энциклопедическим словарем Брокгауза и Евфрона. Исследование «Великие и удельные князья Северной Руси в татарский период» — авторитетнейший источник о жизни и деятельности русских князей периода феодальной раздробленности.


Чудо общения с Богом

Мы можем общаться с Богом! Какая потрясающая истина! Но это только начало. Его воля в том, чтобы наши взаимоотношения становились все более близкими и глубокими. Он сказал, что хочет открыться нам в любви, славе и святости. И поскольку Сам Бог бесконечен, то и развитию отношений с Ним также нет предела. Эти отношения не только с одним, каким-то особенным человеком, Бог приглашает в общение и желает говорить с каждым верующим. Книга "Чудо общения с Богом" – реальная помощь тем, кто хочет жить в каждодневном общении со своим Творцом!


Все о грибах. Рецепты. Виды. Советы

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


Винный гид покупателя

Эта книга не просто энциклопедический перечень виноделов и виноградарей, но одновременно и учебник, и покупательский гид. Ее цель — превратить вас в более знающего и уверенного покупателя, достаточно осведомленного о «закулисных» деталях, чтобы при покупке вина вы могли сделать самый разумный выбор.


Секреты безопасной покупки подержанного автомобиля

Выбор и покупка подержанного автомобиля в России до недавнего времени были лотереей. Проигрыш в этой лотерее означал сотни тысяч рублей, выпущенных на ветер. Однако эта книга, представляющая собой краткое руководство по приобретению б/у машины, а также услуги нашего сервиса «АвтоКод» помогут свести риск нарваться на мошенников к нулю!


Телефонный компас

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