iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > 其他教程 >C语言字符函数中的isalnum()和iscntrl()你都知道吗
  • 262
分享到

C语言字符函数中的isalnum()和iscntrl()你都知道吗

2024-04-02 19:04:59 262人浏览 薄情痞子
摘要

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

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

  _CRTIMP int __cdecl isalnum(int _C);

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

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

#include <stdio.h>
#include <ctype.h>
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个变量,一个字母,一个数字,一个制表符,一个空字符,输出结果如下:

image.png

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

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

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

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

#include <stdio.h>
#include <ctype.h>
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);
}

运行结果如下:

image.png

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

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

image.png

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

     _CRTIMP int __cdecl iscntrl(int _C);

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

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

#include <stdio.h>
#include <ctype.h>
int main()
{
   int i = 0, j = 0;
   char str1[] = "abc \a def \t gh";
   char str2[] = "123 \n 456";
   
   while( !iscntrl(str1[i]) ) 
   {
      putchar(str1[i]);
      i++;
   }
   
   while( !iscntrl(str2[j]) ) 
   {
      putchar(str2[j]);
      j++;
   }
   return(0);
}

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

image.png

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

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

总结

本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注编程网的更多内容!     

--结束END--

本文标题: C语言字符函数中的isalnum()和iscntrl()你都知道吗

本文链接: https://www.lsjlt.com/news/139717.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • C语言字符函数中的isalnum()和iscntrl()你都知道吗
    isalnum() 函数用于检查所传的字符是否是字母或者十进制数字。它的函数原型如下: _CRTIMP int __cdecl isalnum(int _C); 返回...
    99+
    2024-04-02
  • C语言字符函数isalnum()和iscntrl()详解
      isalnum() 函数用于检查所传的字符是否是字母或者十进制数字。它的函数原型如下: _CRTIMP int __cdecl isalnum(int _...
    99+
    2024-04-02
  • C语言字符函数isalnum()和iscntrl()有什么用
    这篇文章主要介绍C语言字符函数isalnum()和iscntrl()有什么用,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!isalnum() 函数用于检查所传的字符是否是字母或者十进制数字。它的函数原型如下:&nbs...
    99+
    2023-06-29
  • C语言中有哪些字符处理函数你知道吗
    目录1、字符串常用操作:连接、拷贝、比较与获取长度2、mem_类的函数(查找、比较、拷贝与赋值)3、寻找字符串子串4、字符串转数字5、数字转字符串 6、分隔符分割字符串7、...
    99+
    2024-04-02
  • 你知道C语言中#和##表示的意义吗
    目录1.#2.##3.总结如标题,这篇文章会讲解C语言中的#和##是啥意思。我相信,大部分朋友应该都没怎么用过,这两个玩意的使用条件相当苛刻。 #用于把一个宏参数直接转换为相应的字符...
    99+
    2023-05-14
    C语言# ##意义 C语言# ##区别 C语言# ##
  • C语言中的时间函数clock()和time()你都了解吗
    目录clock函数time函数总结时间函数在编写代码的时候会经常用到,下面就来总结一下clock和time函数的用法,函数原型如下: clock_t __cdecl clock(...
    99+
    2024-04-02
  • C语言中const和指针的秘密你知道吗
    目录指针的赋值问题ANSIC有关简单赋值的标准问题解决char*和constchar*char**和constchar**const修饰const修饰变量const修饰指针const...
    99+
    2024-04-02
  • C/C++的各种字符串函数你知道几个
    目录一、strrchr参数 返回值示例输出二、atoi参数 返回值示例输出三、strcat参数 返回值示例输出四、strstr参数返回值示例输出五、st...
    99+
    2024-04-02
  • C++与C语言的区别你知道吗
    目录1.结构体区别1.1.类型上不再需要struct关键字,直接用结构体名即可1.2.C++结构体中允许函数存在2.动态内存申请C语言的动态内存申请C++的动态申请3.内存池4.st...
    99+
    2024-04-02
  • 【C语言】字符函数和字符串函数
    目录 一、函数介绍及其模拟实现 1.strlen 2.strcpy 3.strcat 4.strcmp  5.strncpy 6.strncat  7.strncmp 8.strstr  9.strtok 10.strerror   11....
    99+
    2023-09-15
    c语言 开发语言
  • C语言中如何获取函数内成员的值你知道吗
    目录C语言中如何获取函数内成员的值通过函数返回值获取函数内部的情况通过变量降级(传地址)获取函数内部的情况总结C语言中如何获取函数内成员的值 引言:函数作为实现 C 程序功能模块的主...
    99+
    2024-04-02
  • C语言函数传递数组和传递地址的区别你知道吗
    目录传递数值传递地址注:总结传递数值 code: #include <stdio.h> void deliveryData(int data) { data = d...
    99+
    2024-04-02
  • C语言中字符函数和字符串函数介绍
    本篇内容介绍了“C语言中字符函数和字符串函数介绍”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!目录前言求字符串长度strlen介绍strle...
    99+
    2023-06-20
  • C语言的常量,字符串,转义字符,注释你都了解吗
    目录四种常量:字符串:转义字符注释总结四种常量: 1.字面常量 如数字100,‘a’ 2.const修饰的常变量 const int n = 10 //常变量...
    99+
    2024-04-02
  • C/C++的文件IO函数你知道吗
    目录一、C1.fopen函数参数 返回值2.fclose3.FILE结构体4.fprintf()和fscanf()函数二、C++三、示例程序总结文件(file)通常是在磁盘...
    99+
    2024-04-02
  • 你知道C语言函数调用常用的2种方式吗
    目录区别原理用途总结本篇博客会讲解C语言函数调用的2种方式,分别是:传值调用和传址调用。这2种函数调用方式有什么区别呢?为什么会有不同的效果呢?分别有哪些用途呢?下面我会一一展开。 ...
    99+
    2023-05-18
    C语言函数调用方式 C语言函数调用 C语言函数
  • C语言的字符函数和字符串函数详解
    目录0. 前言1.函数介绍及部分函数模拟实现1.1 strlen模拟实现1.2 strcpy模拟实现1.3 strcat模拟实现1.4 strcmp 模拟实现1.5 str...
    99+
    2024-04-02
  • Django开发中必备的Python函数和IDE技能,你都知道吗?
    Django是一个流行的Web框架,它可以帮助开发人员快速构建高质量的Web应用程序。Django是用Python编写的,因此开发人员需要掌握一些Python函数和IDE技能,才能更好地使用Django进行开发。在本文中,我们将介绍一些Dj...
    99+
    2023-10-13
    函数 django ide
  • Java自然语言处理中的同步函数,你知道吗?
    随着人工智能技术的发展,自然语言处理(NLP)已经成为了人工智能领域中的一个重要方向。在NLP中,同步函数是一个十分重要的概念。本文将介绍Java自然语言处理中的同步函数,并演示如何在Java中使用同步函数进行自然语言处理。 什么是同步函...
    99+
    2023-10-29
    自然语言处理 同步 函数
  • C语言的字符函数和字符串函数怎么用
    这篇文章主要讲解了“C语言的字符函数和字符串函数怎么用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“C语言的字符函数和字符串函数怎么用”吧!一、字符&字符串函数1.strlen--求...
    99+
    2023-06-26
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作