怎样判断一个字符是数字、字母或其它类别的符号?
来源:学生作业帮助网 编辑:六六作业网 时间:2024/12/25 03:43:30
怎样判断一个字符是数字、字母或其它类别的符号?
怎样判断一个字符是数字、字母或其它类别的符号?
怎样判断一个字符是数字、字母或其它类别的符号?
下面列出了这些函数:
---------------------------------------------------------------------------------------
函数 字符类别 返回非零值的字符
---------------------------------------------------------------------------------------
isdigit() 十进制数 0--9
isxdigit() 十六进制数 0--9,a—f,或A--F
isalnum() 字母数字符号 0--9,a--Z,或A--Z
isalpha() 字母 a--Z或A--Z
islower() 小写字母 a--Z
isupper() 大写字母 A--Z
isspace() 空白符 空格符,水平制表符,垂直制表符,换行符,换页符,或回车符
isgraph() 非空白字符 任何打印出来不是空白的字符(ASCII码从21到7E)
isprint() 可打印字符 所有非空白字符,加上空格符
ispunct() 标点符 除字母数字符号以外的所有非空白字符
iscntrl() 控制字符 除可打印字符外的所有字符(ASCII码从00到1F,加上7F)
----------------------------------------------------------------------------------------
与前文提到过的使用标准库函数的好处相似,调用上述这些宏而不是自己编写测试字符类别的程序也有三点好处.首先,这些宏运算速度快,因为它们的实现方式通常都是利用位屏蔽技术来检查一个表,所以即使是进行一项相当复杂的检查,也比真正去比较字符的值要快得多.
其次,这些宏都是正确的.如果你自己编写一个测试程序,你很容易犯逻辑上或输入上的错误,例如引入了一个错误的字符(或漏掉了一个正确的字符).
第三,这些宏是可移植的.信不信由你,并非所有的人都使用同样的含PC扩充字符的ASCII字符集.也许今天你还不太在意,但是,当你发现你的下一台计算机使用的是Unicode字符集而不是ASCII字符集,你就会庆幸自己原来没有按照字符集中的字符值来编写程序.
头文件ctype.h中还定义了两个可以对字母进行大小写转换的函数,即函数toupper()和tolower().