国际访客建议访问 Primers 编程伙伴 国际版站点 > C 教程 > ctype.h 以获得更好的体验。

# C 语言标准库头文件 ctype.h

请查看 C 语言标准库头文件列表 了解更多相关 API。

这个头文件提供 字符类型检测 的相关功能,例如判断一个字符是否是字母、数字或标点符号等,并可以对字母进行大小写转换。

# 函数

| 函数 | 标准 | 说明 | | :- | :- | :- | 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 | 将字符转换为大写字母

# 推荐阅读

# 示例

#include <stdio.h>
#include <ctype.h>  // 包含字符处理函数

int main(void) {
    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(): %
本文 更新于: 2025-11-27 09:38:06 创建于: 2025-11-27 09:38:06