Обработка символьных данных
Поскольку символы в языке С++ упорядочены, к ним можно применять операции отношения (>, > =, <, < =, = =,! =). Это дает возможность записывать логические выражения с символьными данными в условных операторах. Например, оператор 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 Строки Значением строки является любая последовательность символов. Причем для компьютера – это набор байтов. Строковая константа - это строка, заключенная в кавычки, например: “Язык программирования” Строковая переменная или строка представляет собой массив символов, поэтому и объявляется она именно так: сhar st[30]; В квадратных скобках указывается максимальное число символов в строке st. Под значение строковой переменной в памяти компьютера отводится МАХ байт, пронумерованных от 0 до МАХ-1, где МАХ - объявленный размер строки. Строка отличается от несимвольного массива тем, что она заканчивается кодом 0 - признаком окончания строки. По местоположению этого специального символа определяется фактическая длина строки. Начальное значение строки можно задать при ее объявлении следующим образом: char s[80] = " Язык программирования Си"; Символы в кавычках будут записаны в начало массива s, а затем - признак окончания строки '\0'. При описании строки можно также написать так: char s[] = " Язык программирования Си"; В этом случае компилятор подсчитает символы в кавычках, выделит памяти на 1 байт больше и занесет в эту область саму строку и завершающий ноль.
|