1.1.1. Используемые символы
Множество символов используемых в языке СИ можно разделить на пять групп.
1. Символы, используемые для образования ключевых слов и идентификаторов (табл.1). В эту группу входят прописные и строчные буквы английского алфавита, а также символ подчеркивания. Следует отметить, что одинаковые прописные и строчные буквы считаются различными символами, так как имеют различные коды.
Прописные буквы латинского алфавита | A B C D E F G H I J K L M N O P Q R S T U V W X Y Z |
Строчные буквы латинского алфавита | a b c d e f g h i j k l m n o p q r s t u v w x y z |
Символ подчеркивания | _ |
2. Группа прописных и строчных букв русского алфавита и арабские цифры (табл.2).
Прописные буквы русского алфавита | А Б В Г Д Е Ж З И К Л М Н О П Р С Т У Ф Х Ц Ч Ш Щ Ы Ь Э Ю Я |
Строчные буквы русского алфавита | а б в г д е ж з и к л м н о п р с т у ф х ц ч ш щ ъ ы ь э ю я |
Арабские цифры | 0 1 2 3 4 5 6 7 8 9 |
3. Знаки нумерации и специальные символы (табл. 3). Эти символы используются с одной стороны для организации процесса вычислений, а с другой — для передачи компилятору определенного набора инструкций.
Символ | Наименование | Символ | Наименование |
---|---|---|---|
, | запятая | ) | круглая скобка правая |
. | точка | ( | круглая скобка левая |
; | точка с запятой | > | фигурная скобка правая |
: | двоеточие | фигурная скобка левая | |
? | вопросительный знак | меньше | |
‘ | апостроф | > | больше |
! | восклицательный знак | [ | квадратная скобка |
| | вертикальная черта | ] | квадратная скобка |
/ | дробная черта | # | номер |
\ | обратная черта | % | процент |
~ | тильда | & | амперсанд |
* | звездочка | ^ | логическое не |
+ | плюс | = | равно |
— | мину | « | кавычки |
4. Управляющие и разделительные символы. К той группе символов относятся: пробел, cимволы табуляции, перевода строки, возврата каретки, новая страница и новая строка. Эти cимволы отделяют друг от друга объекты, определяемые пользователем, к которым относятся константы и идентификаторы. Последовательность разделительных символов рассматривается
компилятором как один символ (последовательность пробелов).
5. Кроме выделенных групп символов
в языке СИ широко используются так называемые, управляющие последовательности, т.е.
специальные символьные комбинации, используемые в функциях ввода и вывода информации. Управляющая последовательность строится на основе использования обратной дробной черты (\) (обязательный первый символ) и комбинацией латинских букв и цифр (табл.4).
Управляющая последовательность | Наименование | Шеснадцатеричная замена |
---|---|---|
\a | Звонок | 007 |
\b | Возврат на шаг | 008 |
\t | Горизонтальная табуляция | 009 |
\n | Переход на новую строку | 00A |
\v | Вертикальная табуляция | 00B |
\r | Возврат каретки | 00C |
\f | Перевод формата | 00D |
\» | Кавычки | 022 |
\’ | Апостроф | 027 |
\0 | Ноль-символ | 000 |
\\ | Обратная дробная черта | 05C |
\ddd | Символ набора кодов ПЭВМ в восьмеричном представлении | |
\xddd | Символ набора кодов ПЭВМ в шестнадцатеричном представлении |
Последовательности вида \ddd и \xddd (здесь d обозначает цифру) позволяет представить символ из набора кодов ПЭВМ как последовательность восьмеричных или шестнадцатеричных цифр соответственно. Например символ возврата каретки может быть представлен различными способами:
\r — общая управляющая последовательность,
\015 — восьмеричная управляющая последовательность,
\x00D — шестнадцатеричная управляющая последовательность.
Следует отметить, что в строковых константах всегда обязательно задавать все три цифры в
управляющей последовательности. Например отдельную управляющую последовательность \n (переход на новую строку) можно представить как \010 или \xA, но в строковых константах необходимо задавать все три цифры, в противном случае символ или символы следующие за управляющей последовательностью будут рассматриваться как ее недостающая часть.
«ABCDE\x009FGH» данная строковая команда будет напечатана с использованием определенных функций языка СИ, как два слова ABCDE FGH, разделенные 8-ю пробелами, в этом
случае если указать неполную управляющую строку «ABCDE\x09FGH»,то на печати появится ABCDE=|=GH, так как компилятор воспримет последовательность \x09F как символ «=+=».
Отметим тот факт, что, если обратная дробная черта предшествует символу не являющемуся управляющей последовательностью (т.е. не включенному в табл.4) и не являющемуся цифрой, то эта черта игнорируется, а сам символ представляется как литеральный.
символ \h представляется символом h в строковой или символьной константе.
Кроме определения управляющей последовательности, символ обратной дробной черты (\) используется также как символ продолжения. Если за (\) следует (\n), то оба символа игнорируются, а следующая строка является продолжением предыдущей. Это свойство может быть использовано для записи длинных строк.
11 thoughts on “1.1.1. Используемые символы”
Почему-то все статьи, начиная от 1.8. ДИРЕКТИВЫ ПРЕПРОЦЕССОРА и дальше, выдают «404, Не найдено». Это так и задумано, или что-то сломалось?
Символы управления в программировании
При создании программного обеспечения разработчикам приходится не только использовать стандартные возможности и инструменты выбранного языка, но и знать специальные команды, а также управляющие символы. О них и зайдет речь далее.
Особое внимание будет уделено символу «t». Он используется в самых популярных языках программирования для обозначения специальной команды управления.
Особенности T
T – латинская буква, используется в IT достаточно давно, но ее утверждение как часть Unicode состоялось только в 1993 году. Парной зеркальной скобки не имеет. Композиционные исключения отсутствуют.
У заглавной T несколько способов выражения:
У строчной t они будут следующими:
Строчной рассматриваемый символ был официально закреплен в Unicode 1.1 тогда, когда и заглавный.
Управляющие символы
Управляющие символы – это символы в кодировке, которым не приписано графическое изображение, но которые применяются для управления устройствами, передачи данных и иных целей.
Сейчас в основном используются:
Это приводит к тому, что управляющие символы или не используются, или применяются не по прямому назначению.
В стандарте POSIX (переносимом интерфейсе операционных систем) обязательно используются символы так называемого переносимого набора. Он включает в себя 103 элемента. Они должны присутствовать в любой кодировке, а также в языках программирования.
В Python
В Питоне, как и в других ЯП, часто встречаются такие «знаки»:
- \n – отвечает за перевод каретки (указателя) на следующую строку;
- \r – перевод на начало текущей строки;
- \b – перевод на один элемент (знак) назад.
Запись типа «\t» — это табуляция. Обозначение произошло от «tab». Данная «команда» — это своеобразная «красная строка». Отвечает за появление отступа.
Выше – наглядный пример того, как работает соответствующие элементы в программном коде Pascal.
В C++
Escape-последовательности – это символы, которые выталкиваются в поток вывода, необходимые для форматирования информации, отображаемой на дисплее устройства. Иногда в C++ помогают печатать некоторые «управляющие знаки».
Символ | За что отвечает |
\t | Организовывает горизонтальную табуляцию |
\n | Новая строка |
\r | Переводит каретку на начало текущей строки |
\v | Вертикальная табуляция |
\» | Ничего никуда не переводит. Позволяет проставить двойные кавычки |
\’ | Обозначает знак апострофа |
\\ | Приводит к печати обратного слеша |
\0 | Тоже не переводит каретку в ту или иную область. Вместо этого печатает нулевой символ |
\? | Знак вопроса |
\a | «Спикер» компьютера. Активирует компьютерный специализированный сигнал. |
Все эти элементы должны оформляться в двойных кавычках. Если в C++ нужно вывести то или иное сообщение, предложенные вниманию элементы записываются прямо в нем. Там, где нужно. Если пренебрегать данным принципам, строка будет считана без учета управляющих элементов.
Выше – пример того, как выглядит программа с рассматриваемыми компонентами. В 9 строке в выходной поток поступает «сигнал», отвечающий за перевод каретки на две табуляции. Далее происходит печать сообщения.
В 10 строчке происходит возврат каретки с печатью характерного сообщения. Оно займет место надписи, которая была на предыдущем шаге. Строка 11 отвечает за перевод «текста» в оформленный в кавычки. Строка 12 нужна для того, чтобы при запуске приложения воспроизводился характерный звук.
ASCII
Таблица ASCII впервые возникла в 1963 году. В ней были закреплены управляющие «знаки». Всего их 29 штук. Большинство из них находилось в диапазоне 00-1F.
Соответствующие компоненты применялись не для того, чтобы осуществлять перевод каретки на компьютере, а для телетайпов и видеотерминалов. Вводились вместе с клавишей ctrl. Она обнуляла в коде введенной клавиши бит 6.
Сейчас управляющие символьные обозначения ASCII нигде, кроме терминальных эмуляторов, не используются. Напрямую поддерживается ввод перевода строки, а также табуляции. Большинство представленных элементов на деле не имеют практического применения.
Особенности переносимого набора
Обычно является основным набором всех современных языков программирования. На коды символов отсюда накладываются определенные ограничения:
- NULL не может кодироваться числом;
- десятичные цифры идут по возрастанию, а коды соседних элементов различаются на единицу;
- для одного элемента при кодировании достаточно одного байта;
- при использовании в языке C типа char, получающиеся коды должны быть неотрицательными.
Символ t использовать для перевода каретки проще простого. Никаких особенностей и ограничений он не имеет.
Как лучше разобраться в теме
Чтобы научиться делать перевод строк в программировании и операционных системах, а также разобраться в принципах создания приложений с нуля, рекомендуется пройти дистанционные онлайн-курсы.
На них в срок до 12 месяцев пользователи смогут разобраться с выбранным ЯП, а также любым его инструментом. Программа подбирается с учетом первоначального спектра знаний и навыков у ученика. В процессе обучения гарантируется постоянное кураторство, а также богатый практический опыт. Подтверждаются полученные навыки и умения при помощи официального электронного сертификата.
Хотите освоить современную IT-специальность? Огромный выбор курсов по востребованным IT-направлениям есть в Otus!