Обработка символьных данных
Поскольку символы в языке С++ упорядочены, к ним можно применять операции отношения (>, >=, <, <=, ==, !=). Это дает возможность записывать логические выражения с символьными данными в условных операторах. Например, оператор
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 байт больше и занесет в эту область саму строку и завершающий ноль.
Дата добавления: 2015-02-10; просмотров: 1277;