原型:extern int isalnum(int c);
用法:#include <ctype.h>
功能:判断字符c是否为字母或数字
说明:当c为数字0-9或字母a-z及A-Z时,返回非零值,否则返回零。
举例:
#include <ctype.h>
int main()
{
int c;
c='a';
printf("%c:%s ",c,isalnum(c)?"yes":"no");
c='7';
printf("%c:%s ",c,isalnum(c)?"yes":"no");
c='@';
printf("%c:%s ",c,isalnum(c)?"yes":"no");
getchar();
return 0;
}
在VC++ 6.0 编译运行:
当我们键入@字符的时候,回车如下:
判断@不是一个字符,同样可以测试其它的情况。
原型: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
}
原型:extern int iscntrl(int c);
用法:#include <ctype.h>
功能:判断字符c是否为控制字符
说明:当c在0x00-0x1F之间或等于0x7F(DEL)时,返回非零值,否则返回零。
举例:
// iscntrl.c
#include <syslib.h>
#include <ctype.h>
main()
{
int c;
clrscr(); // clear screen
c='a';
printf("%x:%s/n",c,iscntrl(c)?"yes":"no");
c=0x0d;
printf("%x:%s/n",c,iscntrl(c)?"yes":"no");
c=0x7f;
printf("%x:%s/n",c,iscntrl(c)?"yes":"no");
getchar();
return 0;
}
原型: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;
}
原型: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;
}
原型:extern int isascii(int c);
用法:#include <ctype.h>
功能:判断字符c是否为ascii码
说明:当c为ascii码时,返回非零值,否则返回零。ascii码指0x00-0x7F之间的字符
举例:
// isascii.c
#include <syslib.h>
#include <ctype.h>
main()
{
char s[]="文曲星-BJGGV";
int i=12; // length of string s
clrscr(); // clear screen
textmode(0xE0); // make sure LCD mode is 3 big line
printf("%s/n",s);
for(i=0;i<12;i++)
{
if(isascii(s[i])) putchar('^');
else putchar('.');
}
getchar();
return 0;
}
原型: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;
}
原型: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;
}
原型:extern int isspace(int c);
用法:#include <ctype.h>
功能:判断字符c是否为空白符
说明:当c为空白符时,返回非零值,否则返回零。
空白符指空格、水平制表、垂直制表、换页、回车和换行符。
举例:
// isspace.c
#include <syslib.h>
#include <ctype.h>
main()
{
char s[]="Test Line 1/tend/nTest Line 2/r";
int i;
clrscr(); // clear screen
for(i=0;i<strlen(s);i++)
{
if(isspace(s[i])) putchar('.');
else putchar(s[i]);
}
getchar();
return 0;
}
原型: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;
}
原型:extern int isxdigit(int c);
用法:#include <ctype.h>
功能:判断字符c是否为十六进制数字
说明:当c为A-F,a-f或0-9之间的十六进制数字时,返回非零值,否则返回零。
举例:
// isxdigit.c
#include <syslib.h>
#include <ctype.h>
main()
{
int c;
clrscr(); // clear screen
c='a';
printf("%c:%s/n",c,isxdigit(c)?"yes":"no");
c='9';
printf("%c:%s/n",c,isxdigit(c)?"yes":"no");
c='*';
printf("%c:%s/n",c,isxdigit(c)?"yes":"no");
getchar();
return 0;
}
原型:extern int toascii(int c);
用法:#include <ctype.h>
功能:将字符c转换为ascii码
说明:toascii函数将字符c的高位清零,仅保留低七位。返回转换后的数值。
举例:
// toascii.c
#include <syslib.h>
#include <ctype.h>
main()
{
char s[]="文曲星-BJGGV";
int i=12; // length of string s
clrscr(); // clear screen
textmode(0xE0); // make sure LCD mode is 3 big line
printf("%s/n",s);
for(i=0;i<12;i++)
{
putchar(toascii(s[i]));
}
getchar();
return 0;
}
原型:extern int tolower(int c);
用法:#include <ctype.h>
功能:将字符c转换为小写英文字母
说明:如果c为大写英文字母,则返回对应的小写字母;否则返回原来的值。
举例:
// tolower.c
#include <syslib.h>
#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(tolower(s[i]));
}
getchar();
return 0;
}
原型:extern int toupper(int c);
用法:#include <ctype.h>
功能:将字符c转换为大写英文字母
说明:如果c为小写英文字母,则返回对应的大写字母;否则返回原来的值。
举例:
// toupper.c
#include <syslib.h>
#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;
}