千家信息网

C语言的isalnum()和iscntrl()怎么用

发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,这篇文章主要介绍了C语言的isalnum()和iscntrl()怎么用的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇C语言的isalnum()和iscntrl()怎么用文
千家信息网最后更新 2026年11月03日C语言的isalnum()和iscntrl()怎么用

这篇文章主要介绍了C语言的isalnum()和iscntrl()怎么用的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇C语言的isalnum()和iscntrl()怎么用文章都会有所收获,下面我们一起来看看吧。

isalnum() 函数用于检查所传的字符是否是字母或者十进制数字。它的函数原型如下:

  _CRTIMP int __cdecl isalnum(int _C);

返回值为非零(真)表示参数c是字母或者十进制数字,返回值为零(假)表示参数c既不是十进制数字,也不是字母。

下面通过一个简单的例子来演示它的用法。

#include #include int main(){   int var1 = 'a';   int var2 = '8';   int var3 = '\t';   int var4 = ' ';   if( isalnum(var1) )   {      printf("var1 = |%c| 是字母数字\n", var1 );   }   else   {      printf("var1 = |%c| 不是字母数字\n", var1 );   }   if( isalnum(var2) )   {      printf("var2 = |%c| 是字母数字\n", var2 );   }   else   {      printf("var2 = |%c| 不是字母数字\n", var2 );   }   if( isalnum(var3) )   {      printf("var3 = |%c| 是字母数字\n", var3 );   }   else   {      printf("var3 = |%c| 不是字母数字\n", var3 );   }   if( isalnum(var4) )   {      printf("var4 = |%c| 是字母数字\n", var4 );   }   else   {      printf("var4 = |%c| 不是字母数字\n", var4 );   }   return(0);}

分别定义4个变量,一个字母,一个数字,一个制表符,一个空字符,输出结果如下:

前两个变量返回值为真,后两个变量返回值为假。

isalnum() 函数可以同时检测字母或者数字,如果要单独检测字母或者数字的的话,库函数中还提供了专门的检测函数isalpha 和 isdigit,他们的函数原型如下:

  _CRTIMP int __cdecl isalpha(int _C);  _CRTIMP int __cdecl isdigit(int _C);

将上面代码中的函数替换为这两个函数。

#include #include int main(){   int var1 = 'a';   int var2 = '8';   if( isalpha(var1) )   {      printf("var1 = |%c| 是字母\n", var1 );   }   else   {      printf("var1 = |%c| 不是字母\n", var1 );   }      if( isdigit(var2) )   {      printf("var2 = |%c| 是数字\n", var2 );   }   else   {      printf("var2 = |%c| 不是数字\n", var2 );   }   return(0);}

运行结果如下:

C语言标准库里面还提供了控制字符检测函数iscntrl。

所谓 "控制字符"是指那些具有某种特殊功能、不会显示在屏幕上、不会占用字符位置的特殊字符。在ASCII码表中,前32个字符就是控制字符。

控制字符检测函数iscntrl原型如下:

     _CRTIMP int __cdecl iscntrl(int _C);

如果 c 是一个控制字符,则该函数返回非零值,否则返回 0。

下面通过一段简单的代码演示它的用法。

#include #include int main(){   int i = 0, j = 0;   char str1[] = "abc \a def \t gh";   char str2[] = "123 \n 456";   /* 输出字符串,直到控制字符 \a */   while( !iscntrl(str1[i]) )    {      putchar(str1[i]);      i++;   }   /* 输出字符串,直到控制字符 \n */   while( !iscntrl(str2[j]) )    {      putchar(str2[j]);      j++;   }   return(0);}

定义两个字符串,中间有控制字符,然后打印字符串的时候检测字符是否为控制字符,如果是控制字符就结束打印。输出结果如下:

同输出结果可以看到只打印了控制符前面的字符。

与控制字符相对的就是可打印字符,可打印字符是指那些会显示在屏幕上、会占用字符位置的"普通"字符。在ASCII码表中编码32-127的字符都是可打印字符。可打印字符就是经常用到的数字、字母、符号等这些在屏幕上可以看见的字符。

关于"C语言的isalnum()和iscntrl()怎么用"这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对"C语言的isalnum()和iscntrl()怎么用"知识都有一定的了解,大家如果还想学习更多知识,欢迎关注行业资讯频道。

字符 字母 数字 控制 函数 检测 语言 输出 两个 字符串 结果 十进制 原型 变量 就是 屏幕 知识 十进 特殊 代码 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 互联网金融科技 高科技互联网 深圳互联网科技公司 互联网科技公司发展 广州善班互联网科技 互联网高科技股票 温州喔噻互联网科技有限公司 重庆威客帮互联网科技 移动互联网年度科技创新 坤平互联网科技 畅思互联网科技 乌鲁木齐新华智原互联网科技学校 广州新华互联网科技学校电竞方面 企晟互联网信息科技有限公司 华夏恒生科技与互联网科技 科技赋能视角下互联网保险发展 众安科技工业互联网合作 南通创西澳互联网科技有限公司 普陀区互联网教育科技管理办法 互联网科技创新方面的资料 A股互联网金融科技公司 河南真二互联网科技有限公司 互联网最新的科技有限公司 世界互联网领先科技成果 阿里巴巴算科技企业还是互联网 常德市电业局互联网科技部 上海宁丞科技互联网 浙江互联网科技研学营 容联科技互联网电商 互联网科技平台产品运营
0