(C语言)字符分类函数

目录

字符分类函数

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。

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

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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

二维码门楼牌管理系统技术服务:构建智慧城市新标准

文章目录 前言一、二维码门楼牌管理系统的诞生背景二、标准地址编码的定义与作用三、二维码门楼牌管理系统的核心技术四、二维码门楼牌管理系统的应用优势五、二维码门楼牌管理系统在智慧城市建设中的作用六、结论与展望 前言 随着城市化的快速发展&#xff0c;传统的门楼牌管…

通过一篇文章带你玩转git和GitHub

Git和Github的基本用法 前言一、Git和Github的基本用法背景下载安装安装 git for windows安装 tortoise gitgit安装过程中的一些选项 tortoise git汉化教程下载tortoise git汉化安装包安装tortoise git汉化安装包 三、使用 Github 创建项目注册账号创建项目下载项目到本地 四、…

GitHub会员充值

GitHub是一个基于Web的代码托管平台&#xff0c;为开发者提供了协作、版本控制和代码管理的工具。它允许个人和团队共同协作开发软件项目&#xff0c;并提供了许多功能&#xff0c;使得代码的管理和维护更加容易 版本控制系统&#xff1a; GitHub使用Git作为其版本控制系统。Gi…

两天学会微服务网关Gateway-Gateway过滤器

锋哥原创的微服务网关Gateway视频教程&#xff1a; Gateway微服务网关视频教程&#xff08;无废话版&#xff09;_哔哩哔哩_bilibiliGateway微服务网关视频教程&#xff08;无废话版&#xff09;共计17条视频&#xff0c;包括&#xff1a;1_Gateway简介、2_Gateway工作原理、3…

python界面开发 - messagebox 提示框

文章目录 1. messagebox1.1. 示例 2. Tkinter 开发3. python图形界面开发3.1. Python图形界面开发——Tkinter3.2. Python图形界面开发——PyQt3.3. Python图形界面开发——wxPython3.4. Python图形界面开发—— PyGTK&#xff1a;基于GTK3.5. Python图形界面开发—— Kivy3.6.…

【ElasticSearch】es索引、映射、文档基本操作复杂查询

各位小伙伴们大家好&#xff0c;欢迎来到这个小扎扎的ElasticSearch专栏&#xff0c;本篇博客由B战尚硅谷的ElasticSearch视频总结而来&#xff0c;鉴于 看到就是学到、学到就是赚到 精神&#xff0c;这波依然是血赚 ┗|&#xff40;O′|┛ &#x1f306; 内容速览 1 es数据格…

金现代产品方案部部长王宁,将出席“ISIG-低代码/零代码技术与应用发展峰会”

3月16日&#xff0c;第四届「ISIG中国产业智能大会」将在上海中庚聚龙酒店拉开序幕。本届大会由苏州市金融科技协会指导&#xff0c;企智未来科技&#xff08;LowCode低码时代、RPA中国、AIGC开放社区&#xff09;主办。大会旨在聚合每一位产业成员的力量&#xff0c;深入探索低…

AD1102 小封装的3.7V锂电池转干电池使用的充放电管理芯片 替代传统干电池、镍氢电池

AD1102是一款锂电池充放电管理专用芯片。充电工作时&#xff0c;可以为 3.7V锂电池进行充电&#xff0c;电流最高可配置 1A。放电工作时&#xff0c;采用开关频率1MHz同步降压转换器进行放电&#xff0c;放电电流可以达到 3A。内部集成欠压保护、短路保护、过温保 护功能。 …

算法学习06:数组模拟:单/双链表,栈和队列,单调栈/队列

算法学习06&#xff1a;数组模拟&#xff1a;单/双链表&#xff0c;栈和队列&#xff0c;单调栈/队列 文章目录 算法学习06&#xff1a;数组模拟&#xff1a;单/双链表&#xff0c;栈和队列&#xff0c;单调栈/队列前言一、链表1.单链表2.双链表 二、栈和队列1.普通栈、队列2.单…

LeetCode Python - 42.接雨水

目录 题目答案运行结果 题目 给定 n 个非负整数表示每个宽度为 1 的柱子的高度图&#xff0c;计算按此排列的柱子&#xff0c;下雨之后能接多少雨水。 示例1&#xff1a; 输入&#xff1a;height [0,1,0,2,1,0,1,3,2,1,2,1] 输出&#xff1a;6 解释&#xff1a;上面是由数组…

Maven基础简介

作者简介&#xff1a; zoro-1&#xff0c;目前大二&#xff0c;正在学习Java&#xff0c;数据结构&#xff0c;spring等 作者主页&#xff1a; zoro-1的主页 欢迎大家点赞 &#x1f44d; 收藏 ⭐ 加关注哦&#xff01;&#x1f496;&#x1f496; Maven简介 Maven是什么 Maven…

人工智能|机器学习——Canopy聚类算法(密度聚类)

1.简介 Canopy聚类算法是一个将对象分组到类的简单、快速、精确地方法。每个对象用多维特征空间里的一个点来表示。这个算法使用一个快速近似距离度量和两个距离阈值T1 > T2 处理。 Canopy聚类很少单独使用&#xff0c; 一般是作为k-means前不知道要指定k为何值的时候&#…

Java的Writer类详解

咦咦咦&#xff0c;各位小可爱&#xff0c;我是你们的好伙伴——bug菌&#xff0c;今天又来给大家普及Java SE相关知识点了&#xff0c;别躲起来啊&#xff0c;听我讲干货还不快点赞&#xff0c;赞多了我就有动力讲得更嗨啦&#xff01;所以呀&#xff0c;养成先点赞后阅读的好…

【xv6操作系统】Lec06 Isolation system call entry/exit

6.1 Trap机制 每当 1.程序执行系统调用 2.程序出现了类似page fault、运算时除以0的错误 3.一个设备触发了中断使得当前程序运行需要响应内核设备驱动 都会发生用户空间和内核空间的切换&#xff0c;通常被称为trap。trap机制要尽可能的简单。 Shell可能会执行系统调用&a…

多种方法解决Error: could not open `C:Program FilesJavajre1.8.0_311libamd64jvm.cfg‘

文章目录 1. 复现错误2. 分析错误3. 解决错误4. 补充说明1. 复现错误 今天春节后开工第一天,打开我的IDEA,却报出如下错误: 报错信息是找不到JRE,于是,通过Windows Powershell输入Java -version,如下图所示: 即Error: could not open C:\Program Files\Java\jre1.8.0_31…

外包干了5天,技术退步明显。。。。。

在湖南的一个安静角落&#xff0c;我&#xff0c;一个普通的大专生&#xff0c;开始了我的软件测试之旅。四年的外包生涯&#xff0c;让我在舒适区里逐渐失去了锐气&#xff0c;技术停滞不前&#xff0c;仿佛被时间遗忘。然而&#xff0c;生活的转机总是在不经意间降临。 与女…

7. 镜面网格

E . 镜面网格 E.镜面网格 E.镜面网格 每次测试时限&#xff1a; 2 秒 每次测试时限&#xff1a;2 秒 每次测试时限&#xff1a;2秒 每次测试的内存限制&#xff1a; 256 兆字节 每次测试的内存限制&#xff1a;256 兆字节 每次测试的内存限制&#xff1a;256兆字节 题目描述 给…

JavaScript极速入门-综合案例(3)

综合案例 猜数字 预期效果 代码实现 <button type"button" id"reset">重新开始一局游戏</button><br>请输入要猜的数字:<input type"text" id"number"><button type"button" id"button&q…

Swift SwiftUI 学习笔记 2024

Swift SwiftUI 学习笔记 2024 一、资源 视频资源 StanfordUnivercity 公开课 2023: https://cs193p.sites.stanford.edu/2023 教程 Swift 初识&#xff1a;基础语法&#xff1a;https://docs.swift.org/swift-book/documentation/the-swift-programming-language/guidedtour/…

Spring Boot搭建入门

Spring Boot简介 Spring Boot是对Spring进行的高度封装&#xff0c;是对Spring应用开发的高度简化版&#xff0c;是Spring技术栈的综合整合&#xff0c;是J2EE的一站式解决方案。想要精通Spring Boot的前提是需要熟悉Spring整套技术栈原理与内容。 Spring Boot的优点&#xf…