3671

18 分钟

#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(): %

#函数

函数标准说明
isalnumC89判断字符是否是字母或数字
isalphaC89判断字符是否是字母
islowerC89判断字符是否是小写字母
isupperC89判断字符是否是大写字母
isdigitC89判断字符是否是数字
isxdigitC89判断字符是否是十六进制数字
iscntrlC89判断字符是否是控制字符
isgraphC89判断字符是否是可显示字符,包含数字、字母、标点符号
isspaceC89判断字符是否是空白(white-space)字符,包含空格、水平制表符、竖直制表符、回车符、换行符、换页符
isblankC99判断字符是否是空白(blank)字符,空格、水平制表符
isprintC89判断字符是否是可打印字符,包含数字、字母、标点符号、空白
ispunctC89判断字符是否是标点符号
tolowerC89将字符转换为小写字母
toupperC89将字符转换为大写字母

创建于 2025/6/1

更新于 2025/6/5