Язык программирования Си для персонального компьютера - [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—допустим).
Ключевые слова
Ключевые слова — это предопределенные идентификаторы, которые имеют специальное значение для компилятора языка Си. Их использование строго регламентировано. Имена объектов программы не могут совпадать с ключевыми словами.
список ключевых слов:
auto | continue | else | for | long | signed | switch | void |
break | default | enum | goto | register | sizeof | typedef | while |
case | do | extern | if | return | static | union | |
char | double | float | int | short | struct | unsigned |
При необходимости можно с помощью директив препроцессора определить для ключевых слов другие имена. Например, при наличии в программе макроопределения
#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 не реализовано.
Пособие представляет собой школьный курс химии в виде расчетных и химических формул, пояснений к ним, а также уравнений реакций.Пособие составлено с учетом существующих в настоящее время стандартов среднего (полного) общего образования по химии для базового и профильного уровня. Материал пособия, соответствующий только профильному уровню, обозначен в тексте знаком «*».Пособие предназначено учащимся образовательных учреждений для повторения курса химии при подготовке к семинарам, зачетам, выпускным и вступительным экзаменам.
В книге рассказывается история главного героя, который сталкивается с различными проблемами и препятствиями на протяжении всего своего путешествия. По пути он встречает множество второстепенных персонажей, которые играют важные роли в истории. Благодаря опыту главного героя книга исследует такие темы, как любовь, потеря, надежда и стойкость. По мере того, как главный герой преодолевает свои трудности, он усваивает ценные уроки жизни и растет как личность.
Данный справочник посвящен важнейшим вопросам современной иммунологии. В нем подробно рассматриваются различные иммунодефицитные состояния и методы их диагностики, все известные на сегодня болезни и расстройства иммунной системы, проблемы вакцинологии, традиционные и нетрадиционные методы лечения иммунной системы. Книга адресована практикующим врачам-иммунологам, а также широкому кругу читателей.
Многим гражданам, претендующим на пенсию, порой трудно понять, какой размер пенсии у них должен быть, когда возникает право на нее, куда следует обращаться за назначением пенсии, какие документы необходимо представить для расчета пенсии, как правильно документально оформить трудовой стаж… Ответы на эти и массу других вопросов вы сможете найти в этой книге.Особая ценность издания – в многочисленных примерах, где рассмотрены самые разнообразные варианты расчета и начисления пенсий, и перечне документов, необходимых для оформления всех видов пенсий.Рассчитано на широкий круг читателей.
В шпаргалке в краткой и удобной форме приведены ответы на все основные вопросы, предусмотренные государственным образовательным стандартом и учебной программой по дисциплине «Хозяйственное право».Книга позволит быстро получить основные знания по предмету, повторить пройденный материал, а также качественно подготовиться и успешно сдать зачет и экзамен.Рекомендуется всем изучающим и сдающим дисциплину «Хозяйственное право» в высших и средних учебных заведениях.
В книге рассказывается история главного героя, который сталкивается с различными проблемами и препятствиями на протяжении всего своего путешествия. По пути он встречает множество второстепенных персонажей, которые играют важные роли в истории. Благодаря опыту главного героя книга исследует такие темы, как любовь, потеря, надежда и стойкость. По мере того, как главный герой преодолевает свои трудности, он усваивает ценные уроки жизни и растет как личность.