isalnum, isalpha, isdigit, isxdigit, isblank, isspace, isascii, iscntrl, ispunct, isgraph, isprint, islower, isupper.
这些都是宏定义, 非真正函数, 头文件都是ctype.h, 测试结果: 是返回1(TRUE), 否返回0(FALSE, NULL). 这些函数都是检查字符对应的ASCII值, 编程时这些函数的输入参数一般为一个字符, 否则测试结果没有意义.
isalnum: 测试字符是否为英文字母或数字
函数定义: int isalnum(int c);
说明: 相当于使用(isalpha(c) || isdigit(c))做测试.
isalpha: 测试字符是否为英文字母
函数定义: int isalpha(int c);
说明: 相当于使用(isupper(c) || islower(c))做测试.
isdigit: 测试字符是否为阿拉伯数字
函数定义: int isdigit(int c);
说明: 只有参数c为阿拉伯数字0到9才能返回真.
isxdigit: 测试字符是否为16进制数字
函数定义: int isxdigit(int c);
说明: 只有参数c为0123456789abcdefABCDEF才能返回真.
isblank: 测试字符是否为空格字符或定位字符
函数定义: int isblank(int c);
说明: 只有参数c是空格(space 32)或是定位符(tab 9)才能返回真.
isspace: 测试字符是否为空格字符
函数定义: int isspace(int c);
说明: 只有参数c是空格(' '), 定位符('\t'), CR('\r'), 换行('\n'), 垂直定位('\v')或翻页('\f')才能返回真.
isascii: 测试字符是否为ASCII码
函数定义: int isascii(int c);
说明: 测试字符是否为ASCII码, 也就是判断c对应的整数范围是否在0到127之间.
iscntrl: 测试字符是否为ASCII码的控制字符
函数定义: int iscntrl(int c);
说明: 测试字符是否为ASCII码的控制码, 也就是判断c对应的整数范围是否在0到31之间.
ispunct: 测试字符是否为标点符号或特殊字符
函数定义: int ispunct(int c);
说明: 只有参数c是非空格, 非数字, 非英文字母才能返回真.
isgraph: 测试字符是否为可打印字符
函数定义: int isgraph(int c);
说明: 若c所对应的ASCII码可打印, 且非空格字符则返回真.
isprint: 测试字符是否为可打印字符
函数定义: int isprint(int c);
说明: 若c所对应的ASCII码可打印, 包括空格字符则返回真.
islower: 测试字符是否为小写英文字母
函数定义: int islower(int c);
isupper: 测试字符是否为大写英文字母
函数定义: int isupper(int c);
ispunct(测试字符是否为标点符号或特殊符号)
相关函数
isspace,isdigit,isalpha
表头文件
#inlude<ctype.h>
定义函数
int ispunct(int c)
函数说明
检查参数c是否为标点符号或特殊符号。返回TRUE也就是代表参数c为
非空格、非数字和非英文字母。
返回值
v若参数c为标点符号或特殊符号,则返回TRUE,否则返回NULL(0)。
附加说明
此为宏定义,非真正函数。
范例
/*列出字符串str中的标点符号或特殊符号*/
#include <ctype.h>
main()
{
char str[]="123c@ #FDsP[e?";
int i;
for(i=0;str!=0;i++)
if(ispunct(str)) printf("%c\n",str);
}
执行
v
@#[?
isupper |
|
原型:extern int isupper(int c);
用法:#include <ctype.h>
功能:判断字符c是否为大写英文字母
说明:当c为大写英文字母(A-Z)时,返回非零值,否则返回零。
举例:
// isupper.c
#include <syslib.h>
#include <ctype.h>
main()
{
int c;
clrscr(); // clear screen
c='a';
printf("%c:%s\n",c,isupper(c)?"yes":"no");
c='A';
printf("%c:%s\n",c,isupper(c)?"yes":"no");
c='7';
printf("%c:%s\n",c,isupper(c)?"yes":"no");
getchar();
return 0;
}
islower |
|
原型:extern int islower(int c);
用法:#include <ctype.h>
功能:判断字符c是否为小写英文字母
说明:当c为小写英文字母(a-z)时,返回非零值,否则返回零。
举例:
// islower.c
#include <syslib.h>
#include <ctype.h>
main()
{
int c;
clrscr(); // clear screen
c='a';
printf("%c:%s\n",c,islower(c)?"yes":"no");
c='A';
printf("%c:%s\n",c,islower(c)?"yes":"no");
c='7';
printf("%c:%s\n",c,islower(c)?"yes":"no");
getchar();
return 0;
}
|
|
|
|
isalpha |
|
原型:extern int isalpha(int c);
用法:#include <ctype.h>
功能:判断字符c是否为英文字母
说明:当c为英文字母a-z或A-Z时,返回非零值,否则返回零。
举例:
// isalpha.c
#include <syslib.h>
#include <ctype.h>
#include <stdio.h>
main()
{
int c;
clrscr(); // clear screen
printf("Press a key");
for(;;)
{
c=getchar();
clrscr();
printf("%c: %s letter",c,isalpha(c)?"is":"not");
}
return 0; // just to avoid warnings by compiler
}
|
|
|
|
isdigit |
|
原型:extern int isdigit(int c);
用法:#include <ctype.h>
功能:判断字符c是否为数字
说明:当c为数字0-9时,返回非零值,否则返回零。
举例:
// isdigit.c
#include <syslib.h>
#include <ctype.h>
main()
{
int c;
clrscr(); // clear screen
c='a';
printf("%c:%s\n",c,isdigit(c)?"yes":"no");
c='9';
printf("%c:%s\n",c,isdigit(c)?"yes":"no");
c='*';
printf("%c:%s\n",c,isdigit(c)?"yes":"no");
getchar();
return 0;
}
|
|
isprint |
|
原型:extern int isprint(int c);
用法:#include <ctype.h>
功能:判断字符c是否为可打印字符(含空格)
说明:当c为可打印字符(0x20-0x7e)时,返回非零值,否则返回零。
举例:
// isprint.c
#include <syslib.h>
#include <ctype.h>
main()
{
int c;
clrscr(); // clear screen
c='a';
printf("%c:%s\n",c,isprint(c)?"yes":"no");
c=' ';
printf("%c:%s\n",c,isprint(c)?"yes":"no");
c=0x7f;
printf("%c:%s\n",c,isprint(c)?"yes":"no");
getchar();
return 0;
}
|
isgraph |
|
原型:extern int isgraph(int c);
用法:#include <ctype.h>
功能:判断字符c是否为除空格外的可打印字符
说明:当c为可打印字符(0x21-0x7e)时,返回非零值,否则返回零。
举例:
// isgraph.c
#include <syslib.h>
#include <ctype.h>
main()
{
int c;
clrscr(); // clear screen
c='a';
printf("%c:%s\n",c,isgraph(c)?"yes":"no");
c=' '; // 0x20
printf("%c:%s\n",c,isgraph(c)?"yes":"no");
c=0x7f;
printf("%c:%s\n",c,isgraph(c)?"yes":"no");
getchar();
return 0;
}
|
|
ispunct |
|
原型:extern int ispunct(int c);
用法:#include <ctype.h>
功能:判断字符c是否为标点符号
说明:当c为标点符号时,返回非零值,否则返回零。
标点符号指那些既不是字母数字,也不是空格的可打印字符。
举例:
// ispunct.c
#include <syslib.h>
#include <ctype.h>
#include <string.h>
main()
{
char s[]="Hello, Rain!";
int i;
clrscr(); // clear screen
printf("%s\n",s);
for(i=0;i<strlen(s);i++)
{
if(ispunct(s[i])) printf("^");
else printf(".");
}
getchar();
return 0;
}
|
toupper
原型:extern int toupper(int c);
用法:#include <ctype.h>
功能:将字符c转换为大写英文字母
说明:如果c为小写英文字母,则返回对应的大写字母;否则返回原来的值。
举例:
// toupper.c
#include <ctype.h>
main()
{
char *s="Hello, World!";
int i;
//clrscr(); // clear screen
printf("%s\n",s);
for(i=0;i<strlen(s);i++)
{
putchar(toupper(s[i] ));
}
getchar();
return 0;
}
|
tolower
函数名: tolower
功 能: 把字符转换成小写字母,非字母字符不做出处理
用 法: int tolower(int c);
程序例:
#include
#include
#include
int main(void)
{
int length, i;
char *string = "THIS IS A STRING";
length = strlen(string);
for (i=0; i < length; ++i)
string[i] = tolower(string[i]);
}
printf("%s\n",string);
return 0;
}
|
|