TITLE:c语言中的isalpha,isdigit,islower,isupper等一系列函数
已经全部验证检查,无任何错误
isalnum(测试字符是否为英文或数字)
相关函数 isalpha,isdigit,islower,isupper
表头文件 #include<ctype.h>
定义函数 int islower(int c)
函数说明 检查参数c是否为小写英文字母。
返回值 若参数c为小写英文字母,则返回TRUE,否则返回NULL(0)。
附加说明 此为宏定义,非真正函数。
范例
#include<ctype.h> #include<stdio.h> int main() { char str[]="c123@#FDsP[e?"; int i; for(i=0;str[i]!=0;i++) if(islower(str[i])) printf("%c is a lower-case character ",str[i]); }
执行
c is a lower-case character
s is a lower-case character
e is a lower-case character
isprint(测试字符是(否为可打印字符)
相关函数 isgraph
表头文件 #include<ctype.h>
定义函数 int isprint(int c);
函数说明 检查参数c是否为可打印字符,若c所对映的ASCII码可打印,其中包含空格字符,则返回TRUE。
返回值 若参数c为可打印字符,则返回TRUE,否则返回NULL(0)。
附加说明 此为宏定义,非真正函数。
范例
/* 判断str字符串中哪些为可打印字符包含空格字符*/ #include<ctype.h> #include<stdio.h> int main() { char str[]="a5 @;"; int i; for(i=0;str[i]!=0;i++) if(isprint(str[i])) printf("str[%d] is printable character:%c ",i,str[i]); }
执行
str[0] is printable character:a
str[1] is printable character:5
str[2] is printable character:
str[3] is printable character:@
str[4] is printable character:;
isspace(测试字符是否为空格字符)
相关函数 isgraph
表头文件 #include<ctype.h>
定义函数 int isspace(int c)
函数说明 检查参数c是否为空格字符,也就是判断是否为空格('')、定位字符(' ')、CR(' ')、换行(' ')、垂直定位字符('v')或翻页('f')的情况。
返回值 若参数c为空格字符,则返回TRUE,否则返回NULL(0)。
附加说明 此为宏定义,非真正函数。
范例
/*将字符串str[]中内含的空格字符找出,并显示空格字符的ASCII码*/ #include <ctype.h> #include<stdio.h> int main() { char *str="123c @# FD sP[e? "; int i; for(i=0;str[i]!=0;i++) if(isspace(str[i])) printf("str[%d] is a white-space character:%d ",i,str[i]); }
执行
str[4] is a white-space character:32
str[7] is a white-space character:32
str[10] is a white-space character:9 /* */
str[16] is a white-space character:10 /* */
ispunct(测试字符是否为标点符号或特殊符号)
相关函数 isspace,isdigit,isalpha
表头文件 #inlude<ctype.h>
定义函数 int ispunct(int c)
函数说明 检查参数c是否为标点符号或特殊符号。返回TRUE也就是代表参数c为非空格、非数字和非英文字母。
返回值 v若参数c为标点符号或特殊符号,则返回TRUE,否则返回NULL(0)。
附加说明 此为宏定义,非真正函数。
范例
/*列出字符串str中的标点符号或特殊符号*/ #include <ctype.h> #include<stdio.h> int main() { char str[]="123c@ #FDsP[e?"; int i; for(i=0;str[i]!=0;i++) if(ispunct(str[i])) printf("%c ",str[i]); }
执行
@
#
[
?
isupper(测试字符是否为大写英文字母)
相关函数 isalpha,islower
表头文件 #include<ctype.h>
定义函数 int isupper(int c)
函数说明 检查参数c是否为大写英文字母。
返回值 若参数c为大写英文字母,则返回TRUE,否则返回NULL(0)。
附加说明 此为宏定义,非真正函数。
范例
/*找出字符串str中为大写英文字母的字符*/ #include <ctype.h> #include<stdio.h> int main() { char str[]="123c@#FDsP[e?"; int i; for(i=0;str[i]!=0;i++) if(isupper(str[i])) printf("%c is an uppercase character ",str[i]); }
执行
F is an uppercase character
D is an uppercase character
P is an uppercase character
isxdigit(测试字符是否为16进制数字)
相关函数 isalnum,isdigit
表头文件 #include<ctype.h>
定义函数 int isxdigit (int c)
函数说明 检查参数c是否为16进制数字,只要c为下列其中一个情况则返回TRUE。16进制数字:0123456789ABCDEF。
返回值 若参数c为16进制数字,则返回TRUE,否则返回NULL(0)。
附加说明 此为宏定义,非真正函数。
范例
/*找出字符串str中为十六进制数字的字符*/ #include <ctype.h> #include<stdio.h> int main() { char str[]="123c@#FDsP[e?"; int i; for(i=0;str[i]!=0;i++) if(isxdigit(str[i])) printf("%c is a hexadecimal digits ",str[i]); }
执行
1 is a hexadecimal digits
2 is a hexadecimal digits
3 is a hexadecimal digits
c is a hexadecimal digits
F is a hexadecimal digits
D is a hexadecimal digits
e is a hexadecimal digits