Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Shpory_po_programmirovaniyu_33_33_33_33_33.doc
Скачиваний:
44
Добавлен:
20.09.2019
Размер:
1.36 Mб
Скачать

53. Символьный тип данных. Стандартные функции обработки символов.

Определение принадлежности символов какому-либо множеству

В библиотеке ctype определен целый ряд функций, проверяющих принадлежность символа какому-либо множеству: множеству букв (isalpha), букв или цифр (isalnum), разделителей (isspase), знаков пунктуации (ispunct), цифр (isdigit), видимых символов (isgraph), букв верхнего регистра (isuper), букв нижнего регистра (islower), печатаемых символов (isprint) и т.д.

Аргументом каждой из этих функций является символ. Функция возвращает значение true, если символ принадлежит конкретному множеству символов, или false в противном случае.

Для определения кода символа можно использовать ф-цию char.

54. Понятие и описание строки.

В языке Си отсутствует специальный строковый тип.

Строка в Си – это массив символов.

В памяти ЭВМ строка представляется как массив элементов типа char, в конце которого помещается символ '\0' - завершающий нуль-символ. Это не цифра 0, а символ, у которого в кодовой таблице все нули (т.е. 00000000).

Строковая константа – это последовательность символов, заключенная в кавычки ("). Например, " Задача имеет множество решений". В памяти представляется как массив элементов типа char с завершающим нуль-символом ('\0').

Общий вид описания строки:

сhar <имя строки>[<длина строки с учетом нуль-символа>];

В языке Си отсутствует специальный строковый тип.

Строка в Си – это массив символов.

В памяти ЭВМ строка представляется как массив элементов типа char, в конце которого помещается символ '\0' - завершающий нуль-символ. Это не цифра 0, а символ, у которого в кодовой таблице все нули (т.е. 00000000).

Строковая константа – это последовательность символов, заключенная в кавычки ("). Например, " Задача имеет множество решений". В памяти представляется как массив элементов типа char с завершающим нуль-символом ('\0').

Общий вид описания строки:

сhar <имя строки>[<длина строки с учетом нуль-символа>];

Например, сhar S[100];

Или const int N=100;

сhar S[N]; //Удобно задавать длину строки с

помощью именованной константы

В такой строке можно хранить 99 символов и завершающий нуль-символ.

Примечание. Имя строки, как и любого массива – это указатель-константа. Поэтому ошибкой будет попытка использовать имя строки в некоторых операциях адресной арифметики. Например, нельзя выполнить такую "пересылку" строки символов в массив:

сhar a[20]; //Так

a="Строковая константа"; //нельзя

55. Понятие и описание динамической строки.

Для размещения строки в динамической памяти, необходимо описать указатель на сhar, а затем выделить память с помощью new или malloc (new предпочтительнее).

Например,

сhar *S3=new char[m]; //m должно быть уже определено

Или

сhar *S3;

S3=new char[m];

Примечание. Динамические строки, как и другие массивы, нельзя инициализировать.

Например, оператор,

сhar *S4="На нуль делить нельзя";

Создает не строковую переменную, а указатель на строковую константу, изменить которую невозможно. S4 – адрес первого символа строковой константы.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]