0x123C语言,C语言的字符测试函数

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

定义函数

int ispunct(int c)

函数说明

检查参数c是否为标点符号或特殊符号。返回TRUE也就是代表参数c为

非空格、非数字和非英文字母。

返回值

v若参数c为标点符号或特殊符号,则返回TRUE,否则返回NULL(0)。

附加说明

此为宏定义,非真正函数。

范例

/*列出字符串str中的标点符号或特殊符号*/

#include

main()

{

char str[]="123c@ #FDsP[e?";

int i;

for(i=0;str!=0;i++)

if(ispunct(str)) printf("%c\n",str);

}

isupper

原型:extern int isupper(int c);

用法:#include

功能:判断字符c是否为大写英文字母

说明:当c为大写英文字母(A-Z)时,返回非零值,否则返回零。

举例:

// isupper.c

#include

#include

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

功能:判断字符c是否为小写英文字母

说明:当c为小写英文字母(a-z)时,返回非零值,否则返回零。

举例:

// islower.c

#include

#include

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

功能:判断字符c是否为英文字母

说明:当c为英文字母a-z或A-Z时,返回非零值,否则返回零。

举例:

// isalpha.c

#include

#include

#include

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

功能:判断字符c是否为数字

说明:当c为数字0-9时,返回非零值,否则返回零。

举例:

// isdigit.c

#include

#include

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

功能:判断字符c是否为可打印字符(含空格)

说明:当c为可打印字符(0x20-0x7e)时,返回非零值,否则返回零。

举例:

// isprint.c

#include

#include

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

功能:判断字符c是否为除空格外的可打印字符

说明:当c为可打印字符(0x21-0x7e)时,返回非零值,否则返回零。

举例:

// isgraph.c

#include

#include

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

功能:判断字符c是否为标点符号

说明:当c为标点符号时,返回非零值,否则返回零。

标点符号指那些既不是字母数字,也不是空格的可打印字符。

举例:

// ispunct.c

#include

#include

#include

main()

{

char s[]="Hello, Rain!";

int i;

clrscr(); // clear screen

printf("%s\n",s);

for(i=0;i

{

if(ispunct(s[i])) printf("^");

else printf(".");

}

getchar();

return 0;

}

toupper

原型:extern int toupper(int c);

用法:#include

功能:将字符c转换为大写英文字母

说明:如果c为小写英文字母,则返回对应的大写字母;否则返回原来的值。

举例:

// toupper.c

#include

main()

{

char *s="Hello, World!";

int i;

//clrscr(); // clear screen

printf("%s\n",s);

for(i=0;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;

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值