脑动力:C语言函数速查效率手册
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

2.2.7 判断字符是否为十六进制字符isxdigit()

【函数原型】int isxdigit(int c)

【功能讲解】判断字符是否是十六进制字符,如果是则返回非零值,否则返回零。

【参数说明】需要判断的字符。

【程序示例】本例程允许用户任意输入一个字符,使用本函数判断是不是十六进制字符,并显示出对应的提示信息,在最后给出了十六进制字符包含哪些字符。

      /*函数isxdigit()示例*/
      #include<ctype.h>                                 /*函数isxdigit()所在头文件*/
      #include<stdio.h>
      int main(void)
      {
        char ch;                                        /*定义字符变量*/
        ch = getch();                                   /*获取键盘输入*/
        while(ch != 27)                                 /*循环*/
        {
          if(isxdigit(ch))                              /*判断是否是十六进制字符*/
          {
              printf("%c是十六进制字符\n",ch);          /*显示出字符*/
          }
          else
          {
              printf("%c不是十六进制字符\n",ch);        /*显示出字符*/
          }
          ch = getch();/*获取键盘输入*/
        }
        //while(ch != 27); /*遇到Esc退出本程序*/
        printf("十六进制字符包括  0123456789ABCDEF\n"); /*显示出字符*/
        return 0; /*函数返回*/
      }

【运行结果】

      输入字符1显示  1是十六进制字符
      输入字符9显示  9是十六进制字符
      输入字符A显示  A是十六进制字符
      输入字符F显示  F是十六进制字符
      输入字符Q显示  Q不是十六进制字符
      输入字符L显示  L不是十六进制字符
      输入ESC显示  十六进制字符包括  0123456789ABCDEF

【实例讲解】十六进制是计算机中数据的一种表示方法,它由0~9及A~F组成,我们日常使用的数据是十进制的,逢10进1,而十六进制则是逢16进1。这个例子与之前的基本一样,使用while循环获取用户输入的字符,然后使用isxdigit()判断是不是十六进制字符,最后按Esc键结束本程序。