АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция

Обработка символьных данных

Читайте также:
  1. Cкоростная автоматическая обработка
  2. А Порядок работы на станции при тахеометрической съемке. Вычислительная и графическая обработка результатов съемки.
  3. А. Термическая обработка
  4. Абстрактные структуры данных
  5. Автоматизированная система обработки данных правовой статистики
  6. Авторское право - правовое положение авторов и созданных их творческим трудом произведений литературы, науки и искусства.
  7. Алгоритм шифрования данных IDEA
  8. Американский стандарт шифрования данных DES
  9. Анализ данных при исследовании систем управления
  10. Анализ матричных данных (матрица приоритетов)
  11. Аппаратура линии связи: аппаратура передачи данных, оконечное оборудование, промежуточная аппаратура.
  12. Архитектура, управляемая событиями. Типы данных Win32. Оконная процедура (функция). Оконный класс.

Поскольку символы в языке С++ упорядочены, к ним можно применять операции отношения (>, >=, <, <=, ==,!=). Это дает возможность записывать логические выражения с символьными данными в условных операторах. Например, оператор

if (ch =='!') ch ='.';

сравнивает значение переменной ch с символом ‘!’ и в случае их равенства следующая команда заменяет в символьной переменной ch восклицательный знак точкой.

Символьные данные могут использоваться и в операторах цикла for. Так, при выполнении операторов:

for(ch='a'; ch>='d'; ch++) printf("%с",ch);

в строку экрана выводится последовательность:

a b с d

Если значение символьной переменной вывести с помощью спецификатора для целых чисел %d, то на экране отобразится код символа. Например:

for(ch='a'; ch>='d'; ch++) printf("%d ",ch);

на экран будет выведено:

97 98 99 100

Над символьными данными можно выполнять арифметические операции сложения и вычитания. Так, например, операция ch++; из предыдущего примера увеличивает код символа, хранящегося в переменной ch на 1. Или, выполняя операцию ch='a'-'A'; будет получена разница кода большой (А) и маленькой буквы (а) латинского алфавита. Так, например, если в символьной переменной ch1 хранится маленькая буква алфавита, то, выполнив действия:

char ch,ch1,ch2;

ch='a'-'A';

ch1='k';

ch2=ch1-сh;

printf("%c-%d %c-%d\n",ch1,ch1,ch2,ch2);

в переменную ch2 запишется та же буква, только большая, а на экран будет выведено

k-107 K-75

Строки

Значением строки является любая последовательность символов. Причем для компьютера – это набор байтов.

Строковая константа - это строка, заключенная в кавычки, например:

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

В С++ есть две возможности работы со строками: функции, унаследованные из библиотеки С (заголовочный файл <string.h> или <cstring>), и библиотечный класс С++ string. Рассмотрим обе эти возможности.

Наследие языка С: Строковая переменная или строка представляет собой массив символов, заканчивающийся нуль-символом, поэтому и объявляется она именно так:

сhar st[30];

В квадратных скобках указывается максимальное число символов в строке st.

Под значение строковой переменной в памяти компьютера отводится 30 байт, пронумерованных от 0 до 29, где 30 - объявленный размер строки.

Строка отличается от несимвольного массива тем, что она заканчивается кодом 0 - признаком окончания строки. По местоположению этого специального символа определяется фактическая длина строки.

Начальное значение строки можно задать при ее объявлении следующим образом:

char s[80] = "Язык программирования Си";

Символы в кавычках будут записаны в начало массива s, а затем - признак окончания строки '\0'.

При описании строки можно также написать так:

char s[] = "Язык программирования Си";

В этом случае компилятор подсчитает символы в кавычках, выделит памяти на 1 байт больше и занесет в эту область саму строку и завершающий ноль.


1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 |

Поиск по сайту:



Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.004 сек.)