В таблице ASCII строго определены символы, имеющие коды от 0 до 127. В этот диапазон входят коды символов для цифр, латинских букв (как строчных, так и заглавных), знаков препинания и некоторых специальных символов ('#', '%', '~' и другие). Также здесь расположены коды управляющих символов, которые на экране не отображаются, но выполняют определенные функции, такие как перенос строки, отступ или звуковой сигнал. В расширенной таблице ASCII для символов национальных алфавитов, таких как русский, используются коды от 128 до 255.
В языке программирования C, при работе с числовыми кодами, доступна только основная часть таблицы ASCII, то есть символы с кодами от 0 до 127. Хотя тип char может принимать значения в диапазоне от -128 до 127.
Символы цифр, от '0' до '9', получили коды от 48 до 57. Этот факт часто используется для преобразования символов цифр в числа. Зная, что символ '0' имеет код 48, можно определить число, представленное символом '5' с кодом 53, просто вычитая 48 из 53. Таким образом, выполняя операцию '5' - '0', получается число 5.
Коды для заглавных английских букв (прописных) идут последовательно от 65 (A) до 90 (Z), а для строчных — от 97 до 122.
-
Создайте программу, в которой объявляются две переменные символьного типа. Одну из них присвойте символу '4', а другую – '7'. Используя функцию printf(), отобразите разность и сумму чисел, представленных этими символами.
-
Переменная not_num содержит строку из трех символов-цифр, например "528". Из этой строки нужно сформировать соответствующее число и присвоить его переменной num. Затем следуют вывести на экран результат выражения num – 10. (Подсказка: строка — это массив символов, поэтому вы можете извлекать символы по их индексам. В результате преобразования первый символ массива будет показывать сотни, второй — десятки, а третий — единицы.)
-
Символ A в английском алфавите имеет код 65. Напишите программу, которая определяет, какие символы находятся на 5, 12 и 19 позициях этого алфавита.
Управляющие символы
Управляющие символы в программных кодах зачастую обозначаются парой символов, поскольку один символ не может адекватно представлять их функцию. Эти символы обладают уникальными задачами. Например, буква 'a' отображается одним символом, но символ создания новой строки не имеет конкретного знака. Чтобы обойти это, мы используем комбинации, такие как '\n', чтобы выразить непечатаемый символ.
Представлены некоторые, но не все, управляющие символы и их предназначения:
'\n' — создание новой строки и переход на нее;
'\t' — табуляция (отступ в несколько пробелов);
'\r' — возврат каретки (перевод курсора в первую позицию текущей строки);
'\b' — возврат курсора на один символ назад с удалением этого символа.
В программном языке помимо невидимых управляющих существуют и специальные символы, которые обозначаются уникальными способами. Такие символы, как кавычки, одиночные кавычки или обратная косая черта, могут вызывать синтаксические недоразумения, если просто вставить их в программу в непрерывном виде. Для этого они обозначаются с использованием парных комбинаций:
'\\' — обратный косая черта;
'\'' — одиночная кавычка;
'\"' — двойная кавычка (не в строке можно просто '"');
'\0' — пустота, символ с кодом 0 по таблице ASCII.
Задания
-
Разработайте программу, которая использует табуляцию, вывод строк в двойных и одиночных кавычках (апострофах), стирание предыдущего символа и возврат каретки. Для последних двух случаев вставьте управляющие символы внутрь строки и проверьте, как строка будет выведена, если в середине стоит нулевой символ.
-
Отобразите на экране символьные значения управляющих символов и их коды по таблице ASCII. Пример вывода:
\n - 10 \t - 9 \b - 8 \r - 13
-
Экспериментальным путем выясните, как можно вывести символ % на экран. (Есть два метода).