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

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

"Длинные строки могут быть раз\

биты на части."

идентична строке:

"Длинные строки могут быть разбиты на части."

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

Например, программа

main()

{

char *р;

p = "Данная программа — пример того, как можно"

" автоматически\nосуществлять объединение"

" строк в очень длинную строку;\n"

" такая форма записи может повысить"

" наглядность программ.\n";

printf("%s", p);

}

напечатает следующий текст:

Данная программа—пример того, как можно автоматически

осуществлять объединение строк в очень длинную строку;

такая форма записи может повысить наглядность программ.

Каждый символ символьной строки (в том числе каждый специальный символ) хранится в отдельном байте оперативной памяти. Нулевой символ ('\0') автоматически добавляется в качестве последнего байта символьной строки и служит признаком ее конца. Каждая символьная строка в программе рассматривается как отдельный объект; если в программе содержатся две идентичные символьные строки, то они будут занимать две различные области оперативной памяти.

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

Тип символьной строки—массив элементов типа char. Число элементов в массиве равно числу символов в символьной строке плюс один, поскольку нулевой символ (признак конца символьной строки) тоже является элементом массива.

Идентификаторы

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

В идентификаторах версии 1.5 СП ТС допускается знак $, однако, идентификатор не может с него начинаться.

Компиляторы языка Си в СП MSC и СП ТС имеют опцию, позволяющую изменять число значащих символов в идентификаторах.

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

Примеры идентификаторов:

temp1

top_of_page

skip12

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

add

ADD

Add

aDD

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

Компилятор языка Си не допускает использования идентификаторов, совпадающих по написанию с ключевыми словами.

Например, идентификатор while недопустим (однако идентификатор While—допустим).

Ключевые слова

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

список ключевых слов:

autocontinueelseforlongsignedswitchvoid
breakdefaultenumgotoregistersizeoftypedefwhile
casedoexternifreturnstaticunion 
chardoublefloatintshortstructunsigned 

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

#define BOOL int

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

Имеется также ряд специальных ключевых слов:

СП MSC:cdeclСП ТС:asm_cs_BX
 far cdecl_ds_ch
 fortran far_es_cl
 huge huge_ss_Cx
 near interrupt_AH_DH
 pascal near_AL_DI
 const pascal_AX_DL
 volatile const_BH_DX
 interrupt volatile_BL_SI
    _BP_SP

В версии 4.0 СП MSC ключевые слова const и volatile зарезервированы, но использовать их невозможно. В версии 5.0 СП MSC ключевое слово volatile реализовано лишь синтаксически, а const — полностью (как синтаксически, так и семантически). В СП ТС и const, и volatile полностью реализованы. В версии 4.0 СП MSC ключевое слово interrupt не реализовано.


Рекомендуем почитать
Сборник основных формул школьного курса химии

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


Православный календарь на 2013 год

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


Диагностический справочник иммунолога

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


Пенсия: расчет и порядок оформления

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


Хозяйственное право: Шпаргалка

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


Молодежный словарь

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