字符测试篇.docx

上传人:b****9 文档编号:23434791 上传时间:2023-05-17 格式:DOCX 页数:203 大小:97.32KB
下载 相关 举报
字符测试篇.docx_第1页
第1页 / 共203页
字符测试篇.docx_第2页
第2页 / 共203页
字符测试篇.docx_第3页
第3页 / 共203页
字符测试篇.docx_第4页
第4页 / 共203页
字符测试篇.docx_第5页
第5页 / 共203页
点击查看更多>>
下载资源
资源描述

字符测试篇.docx

《字符测试篇.docx》由会员分享,可在线阅读,更多相关《字符测试篇.docx(203页珍藏版)》请在冰豆网上搜索。

字符测试篇.docx

字符测试篇

字符测试篇

isalnum(测试字符是否为英文或数字)

相关函数isalpha,isdigit,islower,isupper

表头文件#include

定义函数intisalnum(intc)

函数说明检查参数c是否为英文字母或阿拉伯数字,在标准c中相当于使用“isalpha(c)||isdigit(c)”做测试。

返回值若参数c为字母或数字,则返回TRUE,否则返回NULL(0)。

附加说明此为宏定义,非真正函数。

范例/*找出str字符串中为英文字母或数字的字符*/

#include

main(){

charstr[]=”123c@#FDsP[e?

”;

inti;

for(i=0;str[i]!

=0;i++)

if(isalnum(str[i]))printf(“%cisanalphanumericcharacter\n”,str[i]);}

执行1isanapphabeticcharacter

2isanapphabeticcharacter

3isanapphabeticcharacter

cisanapphabeticcharacter

Fisanapphabeticcharacter

Disanapphabeticcharacter

sisanapphabeticcharacter

Pisanapphabeticcharacter

eisanapphabeticcharacter

isalpha(测试字符是否为英文字母)

相关函数isalnum,islower,isupper

表头文件#include

定义函数intisalpha(intc)

函数说明检查参数c是否为英文字母,在标准c中相当于使用“isupper(c)||islower(c)”做测试。

返回值若参数c为英文字母,则返回TRUE,否则返回NULL(0)。

附加说明此为宏定义,非真正函数。

范例/*找出str字符串中为英文字母的字符*/

#include

main(){

charstr[]=”123c@#FDsP[e?

”;

inti;

for(i=0;str[i]!

=0;i++)

if(isalpha(str[i]))printf(“%cisanalphanumericcharacter\n”,str[i]);}

执行cisanapphabeticcharacter

Fisanapphabeticcharacter

Disanapphabeticcharacter

sisanapphabeticcharacter

Pisanapphabeticcharacter

eisanapphabeticcharacter

isascii(测试字符是否为ASCII码字符)

相关函数iscntrl

表头文件#include

定义函数intisascii(intc);

函数说明检查参数c是否为ASCII码字符,也就是判断c的范围是否在0到127之间。

返回值若参数c为ASCII码字符,则返回TRUE,否则返回NULL(0)。

附加说明此为宏定义,非真正函数。

范例/*判断inti是否具有对映的ASCII码字符*/

#include

main(){

inti;

for(i=125;i<130;i++)

if(isascii(i))

printf("%disanasciicharacter:

%c\n",i,i);

else

printf("%disnotanasciicharacter\n",i);}

执行125isanasciicharacter:

}

126isanasciicharacter:

~

127isanasciicharacter:

128isnotanasciicharacter

129isnotanasciicharacter

iscntrl(测试字符是否为ASCII码的控制字符)

相关函数isascii

表头文件#include

定义函数intiscntrl(intc);

函数说明检查参数c是否为ASCII控制码,也就是判断c的范围是否在0到30之间。

返回值若参数c为ASCII控制码,则返回TRUE,否则返回NULL(0)。

附加说明此为宏定义,非真正函数。

isdigit(测试字符是否为阿拉伯数字)

相关函数isxdigit

表头文件#include

定义函数intisdigit(intc)

函数说明检查参数c是否为阿拉伯数字0到9。

返回值若参数c为阿拉伯数字,则返回TRUE,否则返回NULL(0)。

附加说明此为宏定义,非真正函数。

范例/*找出str字符串中为阿拉伯数字的字符*/

#include

main(){

charstr[]="123@#FDsP[e?

";

inti;

for(i=0;str[i]!

=0;i++)

if(isdigit(str[i]))printf("%cisandigitcharacter\n",str[i]);}

执行1isandigitcharacter

2isandigitcharacter

3isandigitcharacter

isgraphis(测试字符是否为可打印字符)

相关函数isprint

表头文件#include

定义函数intisgraph(intc)

函数说明检查参数c是否为可打印字符,若c所对映的ASCII码可打印,且非空格字符则返回TRUE。

返回值若参数c为可打印字符,则返回TRUE,否则返回NULL(0)。

附加说明此为宏定义,非真正函数。

范例/*判断str字符串中哪些为可打印字符*/

#include

main(){

charstr[]="a5@;";

inti;

for(i=0;str[i]!

=0;i++)

if(isgraph(str[i]))printf("str[%d]isprintablecharacter:

%d\n",i,str[i]);}

执行str[0]isprintablecharacter:

a

str[1]isprintablecharacter:

5

str[3]isprintablecharacter:

@

str[4]isprintablecharacter:

;

islower(测试字符是否为小写字母)

相关函数isalpha,isupper

表头文件#include

定义函数intislower(intc)

函数说明检查参数c是否为小写英文字母。

返回值若参数c为小写英文字母,则返回TRUE,否则返回NULL(0)。

附加说明此为宏定义,非真正函数。

范例#include

main(){

charstr[]="123@#FDsP[e?

";

inti;

for(i=0;str[i]!

=0;i++)

if(islower(str[i]))printf("%cisalower-casecharacter\n",str[i]);}

执行cisalower-casecharacter

sisalower-casecharacter

eisalower-casecharacter

isprint(测试字符是(否为可打印字符)

相关函数isgraph

表头文件#include

定义函数intisprint(intc);

函数说明检查参数c是否为可打印字符,若c所对映的ASCII码可打印,其中包含空格字符,则返回TRUE。

返回值若参数c为可打印字符,则返回TRUE,否则返回NULL(0)。

附加说明此为宏定义,非真正函数。

范例/*判断str字符串中哪些为可打印字符包含空格字符*/

#include

main(){

charstr[]="a5@;";

inti;

for(i=0;str[i]!

=0;i++)

if(isprint(str[i]))printf("str[%d]isprintablecharacter:

%d\n",i,str[i]);}

执行str[0]isprintablecharacter:

a

str[1]isprintablecharacter:

5

str[2]isprintablecharacter:

str[3]isprintablecharacter:

@

str[4]isprintablecharacter:

;

isspace(测试字符是否为空格字符)

相关函数isgraph

表头文件#include

定义函数intisspace(intc)

函数说明检查参数c是否为空格字符,也就是判断是否为空格('')、定位字符('\t')、CR('\r')、换行('\n')、垂直定位字符('\v')或翻页('\f')的情况。

返回值若参数c为空格字符,则返回TRUE,否则返回NULL(0)。

附加说明此为宏定义,非真正函数。

范例/*将字符串str[]中内含的空格字符找出,并显示空格字符的ASCII码*/

#include

main(){

charstr="123c@#FD\tsP[e?

\n";

inti;

for(i=0;str[i]!

=0;i++)

if(isspace(str[i]))

printf("str[%d]isawhite-spacecharacter:

%d\n",i,str[i]);}

执行str[4]isawhite-spacecharacter:

32

str[7]isawhite-spacecharacter:

32

str[10]isawhite-spacecharacter:

9/*\t*/

str[16]isawhite-spacecharacter:

10/*\t*/

ispunct(测试字符是否为标点符号或特殊符号)

相关函数isspace,isdigit,isalpha

表头文件#inlude

定义函数intispunct(intc)

函数说明检查参数c是否为标点符号或特殊符号。

返回TRUE也就是代表参数c为非空格、非数字和非英文字母。

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

附加说明此为宏定义,非真正函数。

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

#include

main(){

charstr[]="123c@#FDsP[e?

";

inti;

for(i=0;str[i]!

=0;i++)

if(ispunct(str[i]))printf("%c\n",str[i]);}

执行v@#[?

isupper(测试字符是否为大写英文字母)

相关函数isalpha,islower

表头文件#include

定义函数intisupper(intc)

函数说明检查参数c是否为大写英文字母。

返回值若参数c为大写英文字母,则TRUE,否则返回NULL(0)。

附加说明此为宏定义,非真正函数。

范例/*找出字符串str中为大写英文字母的字符*/

#include

main(){

charstr[]="123c@#FDsP[e?

";

inti;

for(i=0;str[i]!

=0;i++)

if(isupper(str[i]))printf("%cisanuppercasecharacter\n",str[i]);}

执行Fisanuppercasecharacter

Disanuppercasecharacter

Pisanuppercasecharacter

isxdigit(测试字符是否为16进制数字)

相关函数isalnum,isdigit

表头文件#include

定义函数intisxdigit(intc)

函数说明检查参数c是否为16进制数字,只要c为下列其中一个情况则返回TRUE。

16进制数字:

0123456789ABCDEF。

返回值若参数c为16进制数字,则返回TRUE,否则返回NULL(0)。

附加说明此为宏定义,非真正函数。

范例/*找出字符串str中为十六进制数字的字符*/

#include

main(){

charstr[]="123c@#FDsP[e?

";

inti;

for(i=0;str[i]!

=0;i++)

if(isxdigit(str[i]))printf("%cisahexadecimaldigits\n",str[i]);}

执行1isahexadecimaldigits

2isahexadecimaldigits

3isahexadecimaldigits

cisahexadecimaldigits

Fisahexadecimaldigits

Disahexadecimaldigits

eisahexadecimaldigits

字符串转换篇

atof(将字符串转换成浮点型数)

相关函数atoi,atol,strtod,strtol,strtoul

表头文件#include

定义函数doubleatof(constchar*nptr);

函数说明atof()会扫描参数nptr字符串,跳过前面的空格字符,直到遇上数字或正负符号才开始做转换,而再遇到非数字或字符串结束时('\0')才结束转换,并将结果返回。

参数nptr字符串可包含正负号、小数点或E(e)来表示指数部分,如123.456或123e-2。

返回值返回转换后的浮点型数。

附加说明atof()与使用strtod(nptr,(char**)NULL)结果相同。

范例/*将字符串a与字符串b转换成数字后相加*/

#include

main(){

char*a=”-100.23”;

char*b=”200e-2”;

floatc;

c=atof(a)+atof(b);

printf(“c=%.2f\n”,c);}

执行c=-98.23

atoi(将字符串转换成整型数)

相关函数atof,atol,atrtod,strtol,strtoul

表头文件#include

定义函数intatoi(constchar*nptr);

函数说明atoi()会扫描参数nptr字符串,跳过前面的空格字符,直到遇上数字或正负符号才开始做转换,而再遇到非数字或字符串结束时('\0')才结束转换,并将结果返回。

返回值返回转换后的整型数。

附加说明atoi()与使用strtol(nptr,(char**)NULL,10);结果相同。

范例/*将字符串a与字符串b转换成数字后相加*/

#include

mian(){

chara[]=”-100”;

charb[]=”456”;

intc;

c=atoi(a)+atoi(b);

printf(c=%d\n”,c);}

执行c=356

atol(将字符串转换成长整型数)

相关函数atof,atoi,strtod,strtol,strtoul

表头文件#include

定义函数longatol(constchar*nptr);

函数说明atol()会扫描参数nptr字符串,跳过前面的空格字符,直到遇上数字或正负符号才开始做转换,而再遇到非数字或字符串结束时('\0')才结束转换,并将结果返回。

返回值返回转换后的长整型数。

附加说明atol()与使用strtol(nptr,(char**)NULL,10);结果相同。

范例/*将字符串a与字符串b转换成数字后相加*/

#include

main(){

chara[]=”1000000000”;

charb[]=”234567890”;

longc;

c=atol(a)+atol(b);

printf(“c=%d\n”,c);}

执行c=1234567890

gcvt(将浮点型数转换为字符串,取四舍五入)

相关函数ecvt,fcvt,sprintf

表头文件#include

定义函数char*gcvt(doublenumber,size_tndigits,char*buf);

函数说明gcvt()用来将参数number转换成ASCII码字符串,参数ndigits表示显示的位数。

gcvt()与ecvt()和fcvt()不同的地方在于,gcvt()所转换后的字符串包含小数点或正负符号。

若转换成功,转换后的字符串会放在参数buf指针所指的空间。

返回值返回一字符串指针,此地址即为buf指针。

附加说明

范例#include

main(){

doublea=123.45;

doubleb=-1234.56;

char*ptr;

intdecpt,sign;

gcvt(a,5,ptr);

printf(“avalue=%s\n”,ptr);

ptr=gcvt(b,6,ptr);

printf(“bvalue=%s\n”,ptr);}

执行avalue=123.45

bvalue=-1234.56

strtod(将字符串转换成浮点数)

相关函数atoi,atol,strtod,strtol,strtoul

表头文件#include

定义函数doublestrtod(constchar*nptr,char**endptr);

函数说明strtod()会扫描参数nptr字符串,跳过前面的空格字符,直到遇上数字或正负符号才开始做转换,到出现非数字或字符串结束时('\0')才结束转换,并将结果返回。

若endptr不为NULL,则会将遇到不合条件而终止的nptr中的字符指针由endptr传回。

参数nptr字符串可包含正负号、小数点或E(e)来表示指数部分。

如123.456或123e-2。

返回值返回转换后的浮点型数。

附加说明参考atof()。

范例/*将字符串a,b,c分别采用10,2,16进制转换成数字*/

#include

mian(){

chara[]=”1000000000”;

charb[]=”1000000000”;

charc[]=”ffff”;

printf(“a=%d\n”,strtod(a,NULL,10));

printf(“b=%d\n”,strtod(b,NULL,2));

printf(“c=%d\n”,strtod(c,NULL,16));}

执行a=1000000000b=512c=65535

strtol(将字符串转换成长整型数)

相关函数atof,atoi,atol,strtod,strtoul

表头文件#include

定义函数longintstrtol(constchar*nptr,char**endptr,intbase);

函数说明strtol()会将参数nptr字符串根据参数base来转换成长整型数。

参数base范围从2至36,或0。

参数base代表采用的进制方式,如base值为10则采用10进制,若base值为16则采用16进制等。

当base值为0时则是采用10进制做转换,但遇到如'0x'前置字符则会使用16进制做转换。

一开始strtol()会扫描参数nptr字符串,跳过前面的空格字符,直到遇上数字或正负符号才开始做转换,再遇到非数字或字符串结束时('\0')结束转换,并将结果返回。

若参数endptr不为NULL,则会将遇到不合条件而终止的nptr中的字符指针由endptr返回。

返回值返回转换后的长整型数,否则返回ERANGE并将错误代码存入errno中。

附加说明ERANGE指定的转换字符串超出合法范围。

范例/*将字符串a,b,c分别采用10,2,16进制转换成数字*/

#include

main(){

chara[]=”1000000000”;

charb[]=”1000000000”;

charc[]=”ffff”;

printf(“a=%d\n”,strtol(a,NULL,10));

printf(“b=%d\n”,strtol(b,NULL,2));

printf(“c=%d\n”,strtol(c,NULL,16));}

执行a=1000000000b=512c=65535

strtoul(将字符串转换成无符号长整型数)

相关函数atof,atoi,atol,strtod,strtol

表头文件#include

定义函数unsignedlongintstrtoul(

constchar*nptr,char**endptr,

intbase);

函数说明strtoul()会将参数nptr字符串根据参数base来转换成无符号的长整型数。

参数base范围从2至36,或0。

参数base代表采用的进制方式,如base值为10则采用10进制,若base值为16则采用16进制数等。

当base值为0时则是采用10进制做转换,但遇到如'0x'前置字符则会使用16进制做转换。

一开始strtoul()会扫描参数nptr字符串,跳过前面的空格字符串,直到遇上数字或正负符号才开始做转换,再遇到非数字或字符串结束时('\0')结束转换,并将结果返回。

若参数endptr不为NULL,则会将遇到不合条件而终止的nptr中的字符指针由endptr返回。

返回值返回转换后的长整型数,否则返回ERANGE并将错误代码存入errno中。

附加说明ERANGE指定的转换字符串超出合法范围。

范例参考strtol()

toascii(将整型数转换成合法的ASCII码字符)

相关函数isascii,toupper,tolower

表头文件

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工作范文 > 演讲主持

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1