Char это какой тип
Перейти к содержимому

Char это какой тип

  • автор:

Типы данных

Succ — возвращает следующий символ литерного множества; Pred — возвращает предыдущий символ литерного множества; Ord — возвращает значение кода литеры; Chr — возвращает значение литеры по ее коду, является обратной по отношению к функции Ord.

Например, Succ(‘0′)=’1’ — символ, следующий за символом 0, равен символу 1. Pred(‘3′)=’2′ — символ, предшествующий символу 3, равен 2; Chr(65)=’A’ — символ, соответствующий коду 65, равен А; Ord(‘A’)=65 — код символа А равен 65.

Оглавление
  • Тип данных char
  • Тип данных string
  • Стандартные функции для работы со строками
  • Стандартные процедуры для работы со строками

Вы используете гостевой доступ (Вход)

Эта страница: General type: incourse. Context Книга: Теоретический материал (Паскаль) (context id 1486). Page type mod-book-view.

Символьный тип (Char)

Переменная типа char может принимать значения из определенной упорядоченной последовательности символов. Переменная этого типа занимает 1 байт и принимает одно из 256 значений кода ASCII (американский стандартный код для обмена информацией).

Символы упорядочены в соответствии с их кодом, поэтому к данным символьного типа применимы операции отношения.

В программе вместо символа можно использовать его код, состоящий из решетки (#) и номера кодируемого символа, например, #51 . Обычно символы, имеющие экранное представление, записывают в явном виде, заключив в апострофы (например, ‘A’ , ‘b’ , ‘*’ ).

Две стандартные функции позволяют поставить последовательность символов в соответствие множеству целых неотрицательных чисел (порядковым номерам символов последовательности).

  • ord(ch) – выдает номер символа (нумерация с нуля),
  • chr(i) – выдает i -ый символ из таблицы символов.

Пример. ord(‘W’) выдает номер символа W в последовательности символов. chr(65) выдает 65-ый символ этой последовательности.

var c: char; i: integer; begin c := chr(65); i := ord('W'); writeln(c); writeln(i); end.
A 87

Кроме того, символьные переменные можно передавать в следующие функции:

  • pred(ch) – возвращает предыдущий символ;
  • succ(ch) – возвращает следующий символ;
  • upcase(ch) – преобразует строчную букву в заглавную. Обрабатывает буквы только латинского алфавита.

Также можно использовать процедуры inc и dec.

Char это какой тип

Теперь применим полученные знания о представлении текстовой информации на практике. В языке программирования Паскаль для работы с текстовой информацией есть специальный символьный тип переменных, который называется char (от английского character). Переменные этого типа занимают в оперативной памяти по `1` байту и, соответственно, могут принимать `256` различных значений. Значениями переменных этого типа являются элементы какой-либо однобайтовой кодовой таблицы (например, KOI-`8` или Windows-`1251`). Какие именно символы являются значениями данного типа, зависит от того, какая кодовая таблица используется в момент выполнения (а не написания) программы. То есть одна и та же программа, например, печатающая изображение всех символов кодовой таблицы, на компьютерах с различными текущими кодировками будет иметь различные результаты работы.

Переменным символьного типа можно присваивать значения при помощи оператора присваивания. При этом есть два способа записи символьных констант. Первый способ – записать явное изображение символа, заключив его в апострофы. Пусть, например, переменная C имеет тип char. Присвоим ей значение: C:= ‘a’; Описанный способ записи символьных значений удобно применять практически всегда. Единственный недостаток этого способа заключается в том, что так невозможно представить служебные символы, которые не имеют явных изображений (в кодовой таблице это первые `32` символа). Поэтому существует ещё один способ записи символьных констант – сначала указать спецсимвол решётку ( # ), а потом код интересующего нас символа. Например, C:=#13; Недостаток этого способа заключается в том, что нужно помнить коды всех символов, поэтому обычно его применяют только для записи символов без явного изображения.

Переменные типа char можно выводить на экран при помощи оператора вывода и вводить с клавиатуры. Апострофы при вводе набирать не нужно (каждый апостроф также будет считаться отдельным символом). Служебные символы вводятся следующим образом: нужно зажать alt и на правой цифровой клавиатуре набрать код символа (например, 13).

К переменным типа char можно применять операции сравнения ( > , < , >= , ). При этом сравниваются коды символов и большим признаётся символ, имеющий больший код (то есть символ, находящийся дальше от нулевого). Результатом операции сравнения является логическое значение – true или false .

Существует `5` стандартных функций для работы с переменными символьного типа:

Функция

Действие

Тип

аргумента

Тип

результата

printТип Char

1. либо набор печатных символов из алфавита, зафиксированного в описании языка (для большинства языков англоязычного происхождения этот алфавит соответствует кодовому набору ASCII);
2. либо произвольная комбинация нулей и единиц, размещаемых в одном байте.

Во второй интерпретации (свойственной языкам линии Си) литеральными константами типа CHAR по-прежнему могут быть печатные символы из принятого в языке алфавита, но возможно использование и числовых констант, задающих желаемое содержимое байта. В этом случае, как правило, над значениями типа CHAR возможно выполнение не только операций сравнения, но и операций целочисленной арифметики.

Наконец, в некоторых языках явно различают тип CHAR как чисто символьный тип и тип сверхмалых целых (TINY INTEGER) как тип целых чисел со значениями, умещающимися в один байт.

В современных компьютерах, как правило, поддерживается целочисленная байтовая арифметика, обеспечивающая как первую, так и вторую интерпретацию типа CHAR.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *