Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1122179
  • 博文数量: 165
  • 博客积分: 5957
  • 博客等级: 大校
  • 技术积分: 2015
  • 用 户 组: 普通用户
  • 注册时间: 2010-11-24 15:04
文章分类

全部博文(165)

文章存档

2014年(10)

2013年(14)

2012年(9)

2011年(22)

2010年(17)

2009年(17)

2008年(26)

2007年(34)

2006年(16)

我的朋友

分类: C/C++

2009-03-13 14:34:52

1、字符测试函数

#include <stdio.h>
#include <ctype.h>

#define EXIT_SUCCESS 0

/*
* 头文件:#include
* 声明:int isalnum(int c)
* 函数说明:检查参数c是否为英文字母或阿拉伯数字,在标准C函数中,相当于使用
* (isalpha(c)||isdigit(c))作测试。
* 返回值:如果参数c为字母或数字,则返回TRUE,否则返回NULL(0)。
* 附加说明:这是宏定义,非真正函数
*/

void isalnum_fun(void){
    char str[]="123c@#FDsP[e?";
    int i;
    printf("\nisalnum test:\n");
    for(i=0;str[i]!=0;++i)//the same meaning for(i=0;str[i]!='\0';++i)

        if(isalnum(str[i]))
            printf("%c is an alphanumeric character\n",str[i]);
}

/*
* 头文件:#include
* 声明:int isalpha(int c)
* 函数说明:检查参数c是否为英文字母,在标准C函数中,相当于使用
* (isupper(c)||islower(c))作测试。
* 返回值:如果参数c为英文字母,则返回TRUE,否则返回NULL(0)。
* 附加说明:这是宏定义,非真正函数
*/

void isalpha_fun(void){
    char str[]="123c@#FDsP[e?";
    int i;
    printf("\nisalpha test:\n");
    for(i=0;str[i]!='\0';++i)
        if(isalpha(str[i]))
            printf("%c is an alpha character\n",str[i]);
}

/*
* 头文件:#include
* 声明:int isascii(int c)
* 函数说明:检查参数c是否为ASCII字符,也就是判断参数c值是否在1到127之间
* 返回值:如果参数c为字母或数字,则返回TRUE,否则返回NULL(0)。
* 附加说明:这是宏定义,非真正函数
*/

void isascii_fun(void){
    int i;
    printf("\nisascii test:\n");
    for(i=125;i<130;i++)
        if(isascii(i))
            printf("%d is an ascii character: %c\n",i,i);
        else
            printf("%d is not an ascii character: %c\n",i,i);
}

/*
* 头文件:#include
* 声明:int isblank(int c)
* 函数说明:检查参数c是否为空白字符,也就是判断是否为空(space)或是制表符(tab)。空白
* (space)的ASCII为32,制表符(tab)的ASCII码为9
* 返回值:如果参数c为空白字符,则返回TRUE,否则返回NULL(0)。
* 附加说明:这是宏定义,非真正函数
*/

void isblank_fun(void){
    char str[]="123c @# FD sP[e?";
    int i;
    printf("\nisblank test:\n");
    for(i=0;str[i]!=0;++i)
        if(isblank(str[i]))
            printf("str[%d] is blank character :%d\n",i,str[i]);
}

/*
* 头文件:#include
* 声明:int iscntrl(int c)
* 函数说明:检查参数c是否为ASCII控制码,也就是判断参数c的值是否在0到31之间
* 返回值:如果参数c为ASCII控制码,则返回TRUE,否则返回NULL(0)。
* 附加说明:这是宏定义,非真正函数
*/

void iscntrl_fun(void){
    int i;
    printf("\niscntrl test\n");
    for(i=27;i<32;i++)
        if(iscntrl(i))
            printf("%i is an ascii control character %c\n",i,i);
        else
            printf("%i is not an ascii control character %c\n",i,i);
}

/*
* 头文件:#include
* 声明:int isdigit(int c)
* 函数说明:检查参数c是否为阿拉伯数字0到9。
* 返回值:如果参数c为阿拉伯数字,则返回TRUE,否则返回NULL(0)。
* 附加说明:这是宏定义,非真正函数
*/

void isdigit_fun(void){
    char str[]="123c@#FDsP[e?";
    int i;
    printf("\nisdigit test:\n");
    for(i=0;str[i]!=0;++i)
        if(isdigit(str[i]))
            printf("%c is a digit character\n",str[i]);
}

/*
* 头文件:#include
* 声明:int isgraph(int c)
* 函数说明:检查参数c是否为可打印字符,如果参数c所对应的ADCII字符可打印,
* 且非空白字符则返回TRUE。
* 返回值:如果参数c为可打印字符,则返回TRUE,否则返回NULL(0)。
* 附加说明:这是宏定义,非真正函数
*/

void isgraph_fun(void){
    char str[]="a5 @;";
    int i;
    printf("\nisgraph test\n");
    for(i=0;str[i]!=0;i++)
        if(isgraph(str[i]))
            printf("str[%d] is printable character: %d\n",i,str[i]);
}

/*
* 头文件:#include
* 声明:int islower(int c)
* 函数说明:检查参数c是否为小写英文字母
* 返回值:如果参数c为小写英文字母,则返回TRUE,否则返回NULL(0)。
* 附加说明:这是宏定义,非真正函数
*/

void islower_fun(void){
    char str[]="123c@#FDsP[e?";
    int i;
    printf("\nislower test\n");
    for(i=0;str[i]!=0;i++)
        if(islower(str[i]))
            printf("%c is a lower-case character\n",str[i]);
}

/*
* 头文件:#include
* 声明:int isprint(int c)
* 函数说明:检查参数c是否为可打印字符,如果参数c所对应的ASCII字符可打印,
* 其中包含空白字符,则返回TRUE
* 返回值:如果参数c为可打印字符,则返回TRUE,否则返回NULL(0)。
* 附加说明:这是宏定义,非真正函数
*/

void isprint_fun(void){
    char str[]="a5 @;";
    int i;
    printf("\nisprint test\n");
    for(i=0;str[i]!=0;i++)
        if(isprint(str[i]))
            printf("str[%d] is printable character: %d\n",i,str[i]);
}

/*
* 头文件:#include
* 声明:int isspace(int c)
* 函数说明:检查参数c是否为空白字符,也就是判断是否为空白('')、制表符('\t')、
* CR('\r')、换行('\n')、垂直制表符('\v')或换页('\f')的情况。
* 返回值:如果参数c为空白字符,则返回TRUE,否则返回NULL(0)。
* 附加说明:这是宏定义,非真正函数
*/

void isspace_fun(void){
    char str[]="123c @# FD\tsP[e?\n";
    int i;
    printf("\nisprint test\n");
    for(i=0;str[i]!=0;i++)
        if(isspace(str[i]))
            printf("str[%d] is a white-space character:%d \n",i,str[i]);
}

/*
* 头文件:#include
* 声明:int ispunct(int c)
* 函数说明:检查参数c是否为标点符号或特殊字符,返回TRUE表示参数c为非空白、非数字和非
* 英文字母。
* 返回值:如果参数c为标点符号或特殊字符,则返回TRUE,否则返回NULL(0)。
* 附加说明:这是宏定义,非真正函数
*/

void ispunct_fun(void){
    char str[]="123c@ #FDsP[e?";
    int i;
    printf("\nispunct test\n");
    for(i=0;str[i]!=0;i++)
        if(ispunct(str[i]))
            printf("%c\n",str[i]);
}

/*
* 头文件:#include
* 声明:int isupper(int c)
* 函数说明:检查参数c是否为大写英文字母。
* 返回值:如果参数c为大写英文字母,则返回TRUE,否则返回NULL(0)。
* 附加说明:这是宏定义,非真正函数
*/

void isupper_fun(void){
    char str[]="123c@#FDsP[e?";
    int i;
    printf("\nisupper test\n");
    for(i=0;str[i]!=0;i++)
        if(isupper(str[i]))
            printf("%c is a uppercase character\n",str[i]);
}

/*
* 头文件:#include
* 声明:int isxdigit(int c)
* 函数说明:检查参数c是否为十六进制数字,只要c为下列其中一个则返回TRUE。
* 十六进制数字:0 1 2 3 4 5 6 7 8 9 a b c d e f A B C D E F
* 返回值:如果参数c为十六进制数字,则返回TRUE,否则返回NULL(0)。
* 附加说明:这是宏定义,非真正函数
*/

void isxdigit_fun(void){
    char str[]="123c@#FDsP[e?";
    int i;
    printf("\nisxdigit test\n");
    for(i=0;str[i]!=0;i++)
        if(isxdigit(str[i]))
            printf("%c is a hexadecimal digits\n",str[i]);
}

int main(void) {
    isalnum_fun();
    isalpha_fun();
    isascii_fun();
    isblank_fun();
    iscntrl_fun();
    isdigit_fun();
    isgraph_fun();
    islower_fun();
    isprint_fun();
    isspace_fun();
    ispunct_fun();
    isupper_fun();
    isxdigit_fun();
    return (EXIT_SUCCESS);
}

阅读(1354) | 评论(0) | 转发(0) |
0

上一篇:积累

下一篇:风格习惯

给主人留下些什么吧!~~