Символы

Отдельные символы могут храниться в переменных типа char. Значения символов указываются в апострофах. В примере объявляется переменная символьного типа и ей сразу присваивается значение '#'.

char с = '#';

Также в переменную типа char можно помещать числовые значения. Такое присваивание будет трактоваться как "поместить в переменную символ с указанным кодом".

Пример

char с = 107; // теперь c = 'k' (латинская буква) - символу с кодом 107

Сравнение символов

Два символа равны только если равны их коды.

Один символ считается больше другого, если его код больше.

Пример

сa = 'R'; cb = 'F'; if (ca > cb) { // эти команды будут выполнены, так как // код буквы 'R' больше кода буквы 'F' }

Пример

if ((c >= 'A' && (c <= 'Z'))) { // если символ лежит в диапазоне от 'A' // до 'Z' включительно. // иными словами символ является заглавной // английской буквой }

Арифметические операции

Над символами можно совершать математические операции. Это будет трактоваться как "возьмем код этого символа и сделаем операцию над указанным числом".

Пример

char c = 'G'; c = c + 10; // теперь в переменной находится символ 'Q'

Данные операции открывают возможность делать циклы со счетчиками в виде символов, если это удобно в задаче.

Пример

for (char w = 'a'; w <= 'z'; w++) { // какие-то действия }

Символы можно использовать в любых местах, где допускается использование целого числа.

char c = 'R'; int x = c - 'A' + 1; // в переменной x находится "расстояние" от заданного символа // до начала алфавита // другими словами: номер заданной буквы от начала алфавита // + 1 добавлено для нумерации, начиная с 1

Символьные функции

Для работы с символами существуют, например, следующие функции:

1. toupper(символ). Если символ является английской буквой, он будет преобразован к верхнему регистру. Если нет, то символ будет возвращен без преобразования.

char c = 'g'; c = toupper(c); // теперь в переменной находится символ 'G'

2. tolower(символ). Если символ является английской буквой, он будет преобразован к нижнему регистру. Если нет, то символ будет возвращен без преобразования.

char c = 'Q'; c = tolower(c); // теперь в переменной находится символ 'q'
Последнее изменение: Суббота, 15 Август 2020, 02:34