
- •1.4.2 Типы и размеры данных в Си
- •1.4.3 Константы
- •1. Целые константы
- •2. Константа действительна
- •3. Символьная константа
- •4. Строчная константа
- •5. Константный выражение
- •Тема 2. Декларации
- •Тема 3. Операторы
- •3.2 Операторы отношений и сравнение на равенство
- •3.5 Операторы присваивания
- •3.5.1 Самый оператор присваивания
- •3.5.2 Другие операторы присваивания Сi
- •3.6 Iнкрементнi и декрементнi операторы
- •Тема 4. Управление
- •4.3 Переключение switch
- •4.4 Цикл While
- •4.5 Цикл for
- •4.6 Операция "," (запятая)
- •4.7 Цикл do - while
- •4.8 Инструкция break
- •4.9 Сontinue
- •4.10 Переходы и метки
- •Тема 5. Указатели и массивы
- •5.1 Указатели
- •5.2 Связь указателей и массивов
- •5.3 Связь между адресной арифметикой и индексированием массивов
- •5.4 Различие между именем массива и указателем (в роли именi массива)
- •5.5 Буквенные указатели
- •5.6 Массивы указателей
- •5.11 Функции проверки свойств символов
- •5.12 Функции преобразования строк
5.11 Функции проверки свойств символов
Функции проверки свойств символов содержащихся в библиотецi ctype.h
Все функции имеют тип int (отвечают на вопрос "Есть ли символ ...?"). Результат функций равен 1, если "символ есть ...", i равен 0 иначе.
Эти функции имеют аргумент типа int .
isdigit | isalpha | isalnum | isupper | islower
isdigit (c) - проверяет, является ли аргумент c цифрой (0:9).
isalpha (c) - проверяет, является ли аргумент c латинской буквой.
isalnum (c) - проверяет, является ли аргумент c латинской буквой или цифрой.
isupper (c) - проверяет, является ли аргумент c большой латинской буквой (верхней регистр).
islower (c) - проверяет, является ли аргумент c малой латинской буквой (нижний регистр).
Пример 15:
int c1 = '9 ', c2 =' s ', c3 =' G ', c4 =' y ', c5 =' = ';
int r1, r2, r3, r4, r5;
r1 = isdigit (c1); / * r1 = 1 * /
r2 = isalpha (c2); / * r2 = 1 * /
r3 = isalnum (c1); / * r3 = 1 * /
r3 = isalnum (c5) / * r3 = 0 * /
r4 = isupper (c3); / * r4 = 1 * /
r5 = slower (c4); / * r5 = 1 * /
5.12 Функции преобразования строк
Функции преобразования строки в число содержащихся в библиотецi stdlib.h
atof | atoi | Atol | strtod | strtol | strtoul Эти функции преобразуют строку цифр в целые значения и значения действительны.
atof - преобразует строку, представляющая действительное число, в значение типа double и возвращает значение этого типа. Если аргумент функции не может быть преобразован (например, если первый символ строки не является цифрой), поведение функции atof не определено.
Пример 16:
# Include <stdlib.h>
main ()
{
double d;
d = atof ("99.0"); / * d = 99.0 * /
}
atoi - преобразует аргумент (строку цифр), что представляет целое число, в значение типа int и возвращает значение типа int. Если аргумент функции не может быть преобразован, то поведение функции atoi не определено.
Пример 17:
# Include <stdlib.h>
main ()
{
int i;
i = atoi ("2593"); / * i = 2593 * /
}
atol - преобразует аргумент (строку цифр), что представляет собой число типа длинное целое, в значение типа Long и возвращает занчение типа long . Если аргумент функции не может быть преобразован, то поведение функции atol не определено. Если для хранения типа int и типа long используется 4 байта, то функции atoi и atolработают идентично.
Пример 18:
# Include <stdlib.h>
main ()
{
long l;
l = atol ("1000000"); / * l = 1000000 * /
}
strtod - преобразует последовательность символов, представляющих действительное число в значение типа double . Эта функция имеет два аргумента: строку (char *) и указатель строки. Строка содержит последовательность символов, которые должны быть преобразованы в тип double . Указателю присваивается адрес символа, является первым символом строки - остатка после преобразования части строки.
d = strtod (string, & stringPtr);
strtol - преобразует последовательность символов, представляющих целое число, в значение типа long . Эта функция имеет три аргумента: строку (char *), указатель строки и целое число. Строка содержит последовательность символов, которые должны быть преобразованы. Указателю присваивается адрес символа, является первым символом строки - остатка после преобразования части строки. Целое число определяет основу счисления , по которой производится преобразование.
x = strtol (string, & remainderPtr, 0);
strtoul - преобразует последовательность символов, представляющих целое типа unsigned long в значение типа unsigned long . Эта функция работает аналогично strtol .
x = strtoul (string, & remainderPtr, 0);