Специальные символы предназначены для представления пробельных и неграфических символов в строках и символьных константах. Обычно они используются для спецификации таких действий, как возврат каретки и табуляция для терминалов и принтеров, а также для представления символов, имеющих особый смысл (например, двойная кавычка). Специальный символ состоит из обратного слэша, за которым следует либо буква, либо знаки пунктуации, либо комбинация цифр. В таблице 1.2 приведен список специальных символов языка Си.
В СП ТС
шестнадцатеричное значение байта может задаваться не только как \х, но и как \Х.
В СП ТС, помимо перечисленных специальных символов, имеется еще один: \?—знак вопроса (код Ox3F). Он введен в состав языка Си для совместимости со стандартом ANSI на язык Си. Стандарт ANSI предусматривает использование пары знаков вопроса (??) в качестве признака последовательности, представляющей какой-либо символ, который может не иметь представления на клавиатуре терминала. Если же необходимо просто записать подряд два знака вопроса (например, в символьной строке), следует записать их так: ?\?.
В СП ТС, однако, не реализованы последовательности, начинающиеся знаками ??, поэтому использование специального символа \? необязательно.
Таблица 1.2.
Специальный символ |
Шестнадцатеричное значение в коде ASCII |
Наименование |
\n |
ОА |
Новая строка |
\t |
09 |
Горизонтальная табуляция |
\v |
0В |
Вертикальная табуляция |
\b |
08 |
Забой |
\г |
OD |
Возврат каретки |
\f |
ОС |
Новая страница |
\а |
07 |
Звуковой сигнал |
\’ |
2С |
Апостроф |
\" |
22 |
Двойная кавычка |
\\ |
5C |
Обратный слэш |
\ddd |
Байтовое значение в восьмеричном представлении |
|
\xdd |
Байтовое значение в шестнадцатеричном представлении |
Примечание. При работе с текстовым редактором ввод каждой строки завершается нажатием клавиши ENTER (ВВОД). Фактически при этом в текст вставляются два символа: возврат каретки и новая строка (с шестнадцатеричными значениями 0D и 0А в коде ASCII). Однако стандартные библиотечные функции ввода и вывода текстовой информации рассматривают эту пару символов как один символ — символ новой строки с шестнадцатеричным значением 0А. Этот символ представляется в символьных константах и символьных строках как \n. При чтении текстовой строки стандартные библиотечные функции заменяют упомянутую пару символов единственным символом новой строки, а при записи символа новой строки добавляют перед ним символ возврат каретки.