Язык программирования Си для персонального компьютера - [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 не реализовано.
Андрей Васильевич Экземплярский — русский историк, успешно окончил историко-филологический факультет Санкт-Петербургского университета. Еще в студенческие годы под руководством K. H. Бестужева-Рюмина работал с польскими источниками по истории Смутного времени. Был преподавателем в гимназиях Польши, в Екатеринбурге и Перми. Принимал участие в работе над Энциклопедическим словарем Брокгауза и Евфрона. Исследование «Великие и удельные князья Северной Руси в татарский период» — авторитетнейший источник о жизни и деятельности русских князей периода феодальной раздробленности.
Мы можем общаться с Богом! Какая потрясающая истина! Но это только начало. Его воля в том, чтобы наши взаимоотношения становились все более близкими и глубокими. Он сказал, что хочет открыться нам в любви, славе и святости. И поскольку Сам Бог бесконечен, то и развитию отношений с Ним также нет предела. Эти отношения не только с одним, каким-то особенным человеком, Бог приглашает в общение и желает говорить с каждым верующим. Книга "Чудо общения с Богом" – реальная помощь тем, кто хочет жить в каждодневном общении со своим Творцом!
Грибы – удивительное создание природы. Они вызывают восторг, когда их находишь в лесу, например, желтых лисичек во мху после теплого дождика, или красную шляпку подосиновика в траве на лужайке. Но какие же грибы вкусные в супчике или в жаркое! Эта книга сообщит полезную информацию о том, какие бывают грибы, о их свойствах и особой обработке. А также добавит в вашу коллекцию много новых блюд и заготовок, которые без сомнения нужно приготовить.
Эта книга не просто энциклопедический перечень виноделов и виноградарей, но одновременно и учебник, и покупательский гид. Ее цель — превратить вас в более знающего и уверенного покупателя, достаточно осведомленного о «закулисных» деталях, чтобы при покупке вина вы могли сделать самый разумный выбор.
Выбор и покупка подержанного автомобиля в России до недавнего времени были лотереей. Проигрыш в этой лотерее означал сотни тысяч рублей, выпущенных на ветер. Однако эта книга, представляющая собой краткое руководство по приобретению б/у машины, а также услуги нашего сервиса «АвтоКод» помогут свести риск нарваться на мошенников к нулю!
В книге рассказывается история главного героя, который сталкивается с различными проблемами и препятствиями на протяжении всего своего путешествия. По пути он встречает множество второстепенных персонажей, которые играют важные роли в истории. Благодаря опыту главного героя книга исследует такие темы, как любовь, потеря, надежда и стойкость. По мере того, как главный герой преодолевает свои трудности, он усваивает ценные уроки жизни и растет как личность.