#ctype.h
这个头文件提供 字符类型检测 的相关功能,例如判断一个字符是否是字母、数字或标点符号等,并可以对字母进行大小写转换。
示例:
#include <stdio.h>
#include <ctype.h> // 包含字符处理函数
int main() {
char ch;
printf("请输入一个字符: ");
scanf("%c", &ch);
// 检查字符类型
printf("\n字符 '%c' 的类型判断:\n", ch);
printf("isalnum(): %s\n", isalnum(ch) ? "是" : "否"); // 字母或数字
printf("isalpha(): %s\n", isalpha(ch) ? "是" : "否"); // 字母
printf("isdigit(): %s\n", isdigit(ch) ? "是" : "否"); // 数字
printf("islower(): %s\n", islower(ch) ? "是" : "否"); // 小写字母
printf("isupper(): %s\n", isupper(ch) ? "是" : "否"); // 大写字母
printf("isspace(): %s\n", isspace(ch) ? "是" : "否"); // 空白字符
printf("ispunct(): %s\n", ispunct(ch) ? "是" : "否"); // 标点符号
printf("isprint(): %s\n", isprint(ch) ? "是" : "否"); // 可打印字符
printf("isgraph(): %s\n", isgraph(ch) ? "是" : "否"); // 可显示字符(非空格)
printf("iscntrl(): %s\n", iscntrl(ch) ? "是" : "否"); // 控制字符
// 字符转换
printf("\n字符 '%c' 的转换结果:\n", ch);
printf("tolower(): %c\n", tolower(ch)); // 转换为小写
printf("toupper(): %c\n", toupper(ch)); // 转换为大写
return 0;
}
运行结果:
请输入一个字符: 8 字符 '8' 的类型判断: isalnum(): 是 isalpha(): 否 isdigit(): 是 islower(): 否 isupper(): 否 isspace(): 否 ispunct(): 否 isprint(): 是 isgraph(): 是 iscntrl(): 否 字符 '8' 的转换结果: tolower(): 8 toupper(): 8
请输入一个字符: c 字符 'c' 的类型判断: isalnum(): 是 isalpha(): 是 isdigit(): 否 islower(): 是 isupper(): 否 isspace(): 否 ispunct(): 否 isprint(): 是 isgraph(): 是 iscntrl(): 否 字符 'c' 的转换结果: tolower(): c toupper(): C
请输入一个字符: % 字符 '%' 的类型判断: isalnum(): 否 isalpha(): 否 isdigit(): 否 islower(): 否 isupper(): 否 isspace(): 否 ispunct(): 是 isprint(): 是 isgraph(): 是 iscntrl(): 否 字符 '%' 的转换结果: tolower(): % toupper(): %
#函数
函数 | 标准 | 说明 |
---|---|---|
isalnum | C89 | 判断字符是否是字母或数字 |
isalpha | C89 | 判断字符是否是字母 |
islower | C89 | 判断字符是否是小写字母 |
isupper | C89 | 判断字符是否是大写字母 |
isdigit | C89 | 判断字符是否是数字 |
isxdigit | C89 | 判断字符是否是十六进制数字 |
iscntrl | C89 | 判断字符是否是控制字符 |
isgraph | C89 | 判断字符是否是可显示字符,包含数字、字母、标点符号 |
isspace | C89 | 判断字符是否是空白(white-space)字符,包含空格、水平制表符、竖直制表符、回车符、换行符、换页符 |
isblank | C99 | 判断字符是否是空白(blank)字符,空格、水平制表符 |
isprint | C89 | 判断字符是否是可打印字符,包含数字、字母、标点符号、空白 |
ispunct | C89 | 判断字符是否是标点符号 |
tolower | C89 | 将字符转换为小写字母 |
toupper | C89 | 将字符转换为大写字母 |