(C语言)字符分类函数

news2024/12/28 19:22:11

目录

字符分类函数

1. iscntrl

2. isspace

3. isdigit

4. isxdigit

5. islower

6. isupper

7. isalpha

8. isalnum

9. ispunct

10. isgraph

11. isprint


字符分类函数

C语言中有一系列的函数是专门做字符分类的 ,也就是一个字符是属于什么类型的字符的。

这些函数的使用都需要包含一个头文件是<ctype.h>

下面我们来看看这些函数的用法:

1. iscntrl

用于判断一个字符是否为控制字符。

iscntrl函数原型如下:
```
int iscntrl(int c);
```

其中参数c是需要判断的字符。如果c是一个控制字符(ASCII码在0-31之间,包括DEL字符),则`iscntrl`返回非零值(随机)(通常是1);否则,返回0。

ASCLL码值超过32则不是控制字符,如下:

2. isspace

用于检查字符是否为空白字符。
函数的原型如下:
```
int isspace(int c);
```

其中`c`是需要检查的字符。如果`c`是空白字符,则`isspace`返回非零值;否则,返回0。

演示:

3. isdigit

用于判断一个给定的字符是否是数字。

函数的原型如下:
```
int isdigit(int c);
```

这里的`c`参数是要检查的字符。如果`c`是一个数字字符(即,它在字符集'0'到'9'之间),`isdigit`将返回非零值;否则,它将返回0。

演示:

4. isxdigit

用于检查字符是否为16进制字符。

函数的原型如下:
```
int isxdigit(int c);
```

其中`c`是需要检查的字符。如果`c`是十六进制数字字符(即,它在字符集'0'到'9'或者'A'到'F'之间),`isxdigit`返回非零值;否则,返回0。

演示

5. islower

用来判断给定的字符是否为小写字母。
函数原型如下:
```
int islower(int c);
```

参数`c`是需要检查的字符。如果`c`是一个ASCII码中的小写字母('a'到'z'),`islower`函数将返回非零值;如果`c`不是小写字母,则返回0。

演示:

6. isupper

意思与isupper相似,但是isupper是用来判断字符是否是大写的

7. isalpha

用来判断是否a~z与A~Z中的字符

函数原型如下:
```
int isalpha(int c);
```

参数`c`是需要检查的字符。如果`c`是一个ASCII码中的字母('a'到'z'或'A'到'Z'),`isalpha`函数将返回非零值;如果`c`不是字母,则返回0。

演示

8. isalnum

用来断是否为字母和数字字符:0~9,a~z,A~Z.

函数原型如下:
```
int isalnum(int c);
```

参数`c`是需要检查的字符。如果`c`是字母(大写或小写)或者数字,`isalnum`函数将返回非零值;如果`c`既不是字母也不是数字,则返回0。

演示:

9. ispunct

判断给定的字符是否为标点符号。及任何不属于数字和字母的字符(可打印)

函数原型如下:
```
int ispunct(int c);
```

参数`c`是需要检查的字符。如果`c`是一个ASCII码中的标点符号(如逗号、句号、问号、感叹号、引号、括号、分号等),`ispunct`函数将返回非零值;如果`c`不是标点符号,则返回0。

10. isgraph

判断给定的字符是否为可打印的非空白字符。
函数原型如下:
```
int isgraph(int c);
```

参数`c`是需要检查的字符。如果`c`是除空白字符(如空格、制表符、换行符等)以外的任何可打印字符,`isgraph`函数将返回非零值;如果`c`是空白字符,则返回0。

字母,数字,与字符都是可打印的非空白字符

11. isprint

用于判断指定的字符是否为可打印字符。这包括所有的字母、数字、空格以及其他一些特殊符号,但不包括控制字符。

函数原型如下:
```
int isprint(int c);
```

参数`c`是要检查的单个字符。如果该字符是可打印的,函数返回非零值;如果该字符不可打印,函数返回0。

这些函数都是来分类单个字符的,不要用错了地方。

感谢观看,欢迎评论区讨论。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1501001.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

文献学习-13-机器人顶刊IJRR近期国人新作(2024.3)

一、IJRR简介 The International Journal of Robotics Research&#xff08;IJRR&#xff09;是机器人领域的高水平学术期刊&#xff0c;专注于发布关于机器人技术和相关领域的最新研究成果。IJRR创刊于1982年&#xff0c;是该领域的第一本学术刊物&#xff0c;2022-2023最新影…

2024最新版短剧小程序

仿抖音滑动小短剧影视微信小程序源码&#xff0c;带支付收益等模式、支持无限滑动&#xff1b;高性能滑动、预加载、视频预览&#xff0c;支持剧情介绍&#xff0c;集合壁纸另外仿抖音滑动效果&#xff1b;支持会员模式&#xff0c;支持用户单独购买等等多功能。 丰富的后台设…

Golang基于Redis bitmap实现布隆过滤器(完结版)

Golang基于Redis bitmap实现布隆过滤器&#xff08;完结版&#xff09; 为了防止黑客恶意刷接口&#xff08;请求压根不存在的数据&#xff09;&#xff0c;目前通常有以下几种做法&#xff1a; 限制IP&#xff08;限流&#xff09;Redis缓存不存在的key布隆过滤器挡在Redis前 …

本鲸:打造科技招商新引擎、实现政企资源高效对接

在当今这个快速变化的时代&#xff0c;科技创新已成为推动社会进步和经济发展的核心动力。本鲸&#xff0c;作为科技创新创业服务的平台&#xff0c;正以其独特的视角和专业服务&#xff0c;为政府和企业提供一站式科技招商解决方案&#xff0c;助力构建创新驱动的经济发展新模…

Rollup Summer:一览 Rollup 生态全景图

作者&#xff1a;Stanley&#xff0c;Kernel Ventures 编译&#xff1a;JIN&#xff0c;Techub News 短短几天内&#xff0c;ZKFair 的总锁定价值&#xff08;TVL&#xff09;已达到 1.2 亿美元&#xff0c;目前稳定在 8000 万美元&#xff0c;使其成为增长最快的 Rollup 之一…

系统提示mfc100u.dll丢失或错误的解决方法分享

mfc100u.dll是Microsoft Foundation Classes (MFC)库中的一个关键动态链接库文件。 mfc100u.dll文件是Microsoft Foundation Classes (MFC)库的一部分&#xff0c;这是一个为软件开发者提供的一系列类和功能&#xff0c;旨在简化Windows应用程序的开发过程。这个特定的文件包含…

计算机组成原理之机器:存储器之高速缓冲存储器

计算机组成原理之机器&#xff1a;存储器之高速缓冲存储器 笔记来源&#xff1a;哈尔滨工业大学计算机组成原理&#xff08;哈工大刘宏伟&#xff09; Chapter3&#xff1a;存储器之高速缓冲存储器 3.1 概述 3.1.1 为什么用cache&#xff1f; 角度一&#xff1a;I/O设备向…

智能研发新纪元:探索2024年AI辅助研发的发展与趋势

随着人工智能&#xff08;AI&#xff09;技术的高速发展与创新&#xff0c;我们迎来了一个全新的时代&#xff0c;尤其是在研发领域。AI正以前所未有的速度和效率推动着科技的突破。2024年&#xff0c;AI辅助研发成为走在时代前端的核心竞争力。在这篇文章中&#xff0c;我们将…

typescript学习(更新中)

目录 开发环境搭建类型如何声明有哪些类型编译配置文件 开发环境搭建 npm i -g typescripttsc检查是否安装成功 类型如何声明 // 先声明再赋值 let a: number a 1// 直接赋值 let b 1function sum(a: number, b: number): number {return a b } console.log(sum(1, 2))有…

使用Apache Kafka的Golang实践指南

您是否在寻找构建可扩展、高性能应用程序的方法&#xff0c;这些应用程序可以实时处理流数据&#xff1f;如果是的话&#xff0c;结合使用Apache Kafka和Golang是一个很好的选择。Golang的轻量级线程非常适合编写类似Kafka生产者和消费者的并发网络应用程序。它的内置并发原语&…

httprunner用例结构(前后置)

说明&#xff1a;httprunner 结合 pytest 的前后置方式 1. 用例级别前后置 1.1. setup teardown class TestCaseRefTestcase(HttpRunner):# 用例级别前后置def setup(self):logger.warning("------用例级别前置")def teardown(self):logger.warning("------用…

算法练习:双指针

目录 1. 双指针1.1 移动 "0"1.2 复写 "0"1.3 快乐数&#xff08;快慢指针&#xff09;1.4 盛水最多的容器&#xff08;单调性原则&#xff09;1.5 有效三角形个数1.6 两个数之和1.7 三数之和1.8 四数之和 1. 双指针 1.1 移动 “0” 题目信息&#xff1a; …

线程有几种状态,状态之间的流转是怎样的?

Java中线程的状态分为6种&#xff1a; 1.初始(NEW)&#xff1a;新创建了一个线程对象&#xff0c;但还没有调用start()方法。 2.运行(RUNNABLE)&#xff1a;Java线程中将就绪&#xff08;READY&#xff09;和运行中&#xff08;RUNNING&#xff09;两种状态笼统的称为“运行”…

红黑树的学习

红黑树 红黑树出自一种平衡的二叉查找树&#xff0c;是计算机科学中中用到的一种数据结构 1972年出现&#xff0c;当时被称之为平衡二叉B树。后来&#xff0c;1978年被修改为如今的红黑树 他是一种特殊的二叉查找树&#xff0c;红黑树的每一个节点上都有存储表示节点的颜色 …

WordPress建站入门教程:如何创建菜单和设置前端导航菜单?

前面我们跟大家分享了WordPress如何上传安装WordPress主题&#xff0c;但是启用主题后前端没有看到有导航菜单&#xff0c;这是因为我们还没有创建菜单和设置导航菜单。 JianYue主题导航菜单和右上角菜单 今天boke112百科就继续跟大家分享WordPress站点如何创建菜单和设置前端…

使用 Amazon Bedrock 上的 Claude 3 将架构图转换为 CDK/Terraform 代码

概述 在云原生领域&#xff0c;基础设施即代码 (IaC) 对于开发人员和 DevOps 团队来说是一种不可避免的实践。 最近&#xff0c;Amazon Bedrock 上线了 Claude 3 Sonnet 模型和这个模型的图像转文本能力。这无疑开启了一个新时代&#xff0c;也就是实现架构图与 IaC 工具的无…

【C++】C++11---右值引用和移动语义

目录 1、什么是左值引用和右值引用2、左值引用与右值引用比较3、右值引用使用场景和意义4、右值引用引用左值的分析5、完美转发 1、什么是左值引用和右值引用 传统的C语法中就有引用的语法&#xff0c;而C11中新增了的右值引用语法特性&#xff0c;所以从现在开始我们之前学习…

java-ssm-jsp-大学生评优管理系统的设计与实现

java-ssm-jsp-大学生评优管理系统的设计与实现 获取源码——》公主号&#xff1a;计算机专业毕设大全

kafka报文模拟工具的使用

日常项目中经常会碰到消费kafka某个topic的数据&#xff0c;如果知道报文格式&#xff0c;即可使用工具去模拟发送报文&#xff0c;以此测试代码中是否能正常消费到这个数据。 工具资源已上传&#xff0c;可直接访问连接下载&#xff1a;https://download.csdn.net/download/w…

C++ 标准库类型string

C/C总述&#xff1a;Study C/C-CSDN博客 目录 定义和初始化string对象 string的增 使用push_back进行尾插 使用insert插入 使用append函数完成string的拼接 string的删 使用pop_back进行尾删 使用erase删除 string的查 使用find函数正向搜索第一个匹配项 使用rf…