русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Символы

Символьный тип в языке C++ относится к целочисленным типам, однако запись символов имеет свои отличия.

Для работы с символами в языке C++ предусмотрены символьные типы (signed) char и unsigned char. Первый – это целое число со знаком, хранящееся в одном байте (его диапазон от -128 до 127), второй – беззнаковое однобайтовое число (его диапазон от 0 до 255). Эти типы чаще всего ис­пользуются для работы с символами, поскольку коды символов как раз помещаются в байт.

Существует несколько стандартов, опре­деляющих соответствие кодов символам. Для букв английского алфавита, цифр, знаков препинания и знаков операций используется стандарт ASCII, который определяет коды от 0 до 127. Для представления русских букв ис­пользуется стандарты, в которых русские буквы кодируются числами от 128 до 255 (или, соответственно, от -128 до -1). Таким образом, все символы могут быть представлены в одном байте (максимальное число символов, которое можно представить в одном байте – 255). Переменную символьного типа можно объявить так:

char с; // однобайтовое число со знаком

unsigned char u; // однобайтовое число без знака

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

'S' '&' '8' 'ф'

Числовым значением символьной константы является код соответствующего симво­ла, принятый в используемой операционной системе.

Поскольку, несмотря на двойственность своей природы, символы – это, прежде всего, целые числа, к ним применимы все операции, определенные для целых чисел. Поэтому вполне допустимо использование символов в выражениях:

'F' + 1

'а' < 23

а также присваивания им числовых значений:

char c = 45;

Символы, отображающие 26 больших (заглавных) букв английского алфавита от 'A' до 'Z' представлены последовательными возрастающими числовыми кодами, причем код символа 'B' больше кода символа 'A' на 1, а код символа 'Z' – на 25. Точно так же упорядочены коды символов, отображающих 26 малых (строчных) английских букв от 'a' до 'z', причем коды малых букв располагаются в таблице позже кодов больших букв. Разница между кодами одинаковых малых и больших букв ('a'-'A') составляет фиксированное значение 32, что в двоичной записи кодов означает наличие единицы в старшем, незнаковом разряде. Упорядочены также и коды символов, отображающих цифры от 0 до 9 (код символа '9' на 9 больше кода символа '0').

В кодировке ASCII два следующих оператора эквивалентны:

char с = 68; // 68 – код буквы D

char с = 'D';

Первый из них инициализирует символьную переменную c числовым значением 68. Второй присваивает этой переменной код латинской буквы D, который в кодировке ASCII равен 68.

Некоторые символы нельзя ввести в программу обычным способом. Это, например, символы, не представленные на клавиатуре или играющие особую роль в записи символов и строк. Для их обозначения используются специальные управляющие символьные константы, так называемые эскейп–последовательности, начинающиеся с обратной дробной черты. Эти последовательности стандартны и предопределены в языке. Вот некоторые из них:

\b возврат на один символ назад

\n новая строка

\r возврат каретки

\t горизонтальная табуляция

\' апостроф

\" двойные кавычки

\\ обратная дробная черта

Символьная константа может быть представлена и с использованием ее числового кода. Для этого ее восьмеричный или шестнадцатеричный (с префиксом 'x') числовой код записывается после обратной дробной черты:

const char zero = '\0'; // инициализация нуль-символом

const unsigned char bitmask = '\xFF';

cout << 'A' << (char)65 << '\101' << '\x41' << endl;// вывод AAAA

Алфавит большинства европейских языков мо­жет быть представлен однобайтовыми числами (то есть кодами в диапазоне от 0 до 255). В большинстве кодировок принято, что первые 127 кодов отводятся для символов, входящих в набор ASCII: ряд специальных сим­волов, латинские заглавные и строчные буквы, арабские цифры и знаки препинания. Вторая половина кодов – от 128 до 255 отводится под буквы того или иного языка. Фактически вторая половина кодовой таблицы ин­терпретируется по-разному, в зависимости от того, какой язык считается "текущим". Один и тот же код в разных кодировках может соответствовать различным знакам или буквам.

Просмотров: 556


Вернуться в оглавление



Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.