品质培训网站建设/搜索引擎优化网站排名

品质培训网站建设,搜索引擎优化网站排名,图书动态网站开发,职业生涯规划大赛演讲稿5分钟C语言中的 ctype.h 头文件提供了一系列字符分类和转换函数,用于高效处理字符相关操作。这些函数通过接受 int 类型参数(需为 unsigned char 或 EOF (-1)值),返回非零值表示条件正确,返回0表示错…

        C语言中的 ctype.h 头文件提供了一系列字符分类和转换函数,用于高效处理字符相关操作。这些函数通过接受 int 类型参数(需为 unsigned char 或 EOF (-1)值),返回非零值表示条件正确,返回0表示错误。以下是常用函数的分类介绍:

 一、字符测试函数


1.  isalnum(int c)

        判断 字符 c 是否为字母或数字( a-z、A-Z、0-9 )

        isalnum(int c)
           判断 字符 c 是否为字母或数字( a-z、A-Z、0-9 )

                是 则返回非0值,否 则返回0;

char a;
if(isalnum(a)) //判断字符a是否为字母或数字( a-z、A-Z、0-9 )。
{printf("a是字母或数字");
}
else
{printf("a不是字母或数字");
}

        验证用户名是否合法时常用此函数。

2.  isalpha(int c)

判断 字符 c 是否为字母( a-z、A-Z )

        isalpha(int c)

         判断 字符 c 是否为字母( a-z、A-Z )

                是 则返回非0值,否 则返回0;

char a;
if(isalpha(a)) //判断字符a是否为字母( a-z、A-Z )。
{printf("a是字母");
}
else
{printf("a不是字母");
}

常用于过滤非字母字符。

3. isdigit(int c)

        判断 字符 c 是否为数字( 0-9 )

         isdigit(int c)

        判断 字符 c 是否为数字( 0-9 )

                是 则返回非0值,否 则返回0;

char a;
if(isdigit(a)) //判断字符a是否为数字( 0 - 9 )。
{printf("a是数字");
}
else
{printf("a不是数字");
}

适合验证输入是否为纯数字。

4.  isspace(int c)

        判断 字符 c 是否为空白字符( 空格`' '`、换行符`\n`、制表符`\t`等 )

        isspace(int c) 

        判断 字符 c 是否为空白字符( 空格`' '`、换行符`\n`、制表符`\t`等 )

                是 则返回非0值,否 则返回0;

char a;
if(isspace(a)) //判断字符a是否为空白字符( 空格`' '`、换行符`\n`、制表符`\t`等 )。
{printf("a是空白字符");
}
else
{printf("a不是空白字符");
}

常用于解析文本格式。

5.  islower(int c) 和  isupper(int c) 

分别判断`c`是否为小写字母(`a-z`)或大写字母(`A-Z`)

        islower(int c) 和  isupper(int c) 

        分别判断`c`是否为小写字母(`a-z`)或大写字母(`A-Z`)

        是 则返回非0值,否 则返回0;

char a;
if(islower(a)) //判断字符a是否为小写字母( a~z )
{printf("a是小写字母");
}
else
{printf("a不是小写字母");
}char a;
if(islower(a)) //判断字符a是否为大写字母( A ~ Z)
{printf("a是大写字母");
}
else
{printf("a不是大写字母");
}

可用于大小写敏感的场景。

6.  isxdigit(int c)

       判断`c`是否为十六进制数字( 0-9 、 a-f 、 A-F )

        isxdigit(int c)

        判断`c`是否为十六进制数字( 0-9 、 a-f 、 A-F )

        是 则返回非0值,否 则返回0;

char a;
if(islower(a)) //判断字符a是否为十六进制数字( 0-9 、 a-f 、 A-F )printf("a是十六进制数字");
}
else
{printf("a不是十六进制数字");
}

适用于解析十六进制字符串。 

7.  ispunct(int c)

      判断`c`是否 为标点符号(如`!`、`?`等)

        ispunct(int c)

        判断`c`是否 为标点符号(如`!`、`?`等)

        是 则返回非0值,否 则返回0;

char a;
if(islower(a)) //判断字符a是否为标点符号(如`!`、`?`等)printf("a是标点符号");
}
else
{printf("a不是标点符号");
}


   用于过滤非字母数字符号。

8.  isprint(int c)和isgraph(int c)

      判断 c 是否 为可打印字符(包括空格),而 isgraph(int c) 则排除空格,用于控制输出格式。

        isprint( int c)和isgraph( int c )

        判断 c 是否 为可打印字符(包括空格),而 isgraph(int c) 则排除空格,用于控制输出格式。

        是 则返回非0值,否 则返回0;

char a;
if(isprint(a)) //判断字符a是否为可打印字符(包括空格)printf("a是可打印字符(包括空格)");
}
else
{printf("a不是可打印字符(包括空格)");
}char a;
if(isgraph(a)) //判断字符a是否为可打印字符(不包括空格)printf("a是可打印字符(不包括空格)");
}
else
{printf("a不是可打印字符(不包括空格)");
}

用于控制输出格式。

 二、字符转换函数


1.  tolower(int c)

 将大写字母转换为小写字母,若`c`不是大写字母则返回原值。


   将大写字母转换为小写字母,若`c`不是大写字母则返回原值。

char c = A;
char c = tolower(c); // 将 A 转换成 a

统一用户名格式时使用。

2. toupper(int c)

 将小写字母转换为大写字母,若 'c' 非小写字母时返回原值。


   将小写字母转换为大写字母,若 'c' 非小写字母时返回原值。

char c = a;
char c = toupper(c); // 将 a 转换成 A

适用于生成统一格式的字符串。

 三、应用场景


- 输入验证:如使用 isdigit 确保用户输入的是数字,或 isalpha 限制只能输入字母。
- 字符串处理:通过 tolower / toupper 统一字符串大小写,或利用 isspace 分割单词。
- 数据解析:例如用 isxdigit 解析十六进制颜色代码,或 ispunct 过滤标点符号。

 四、注意事项


- 参数范围:传入的`int`值需在`0-255`或`EOF`范围内,否则可能导致未定义行为。
- 本地化影响:
部分函数(如 isspace)的行为可能受本地化设置影响,需注意跨平台兼容性。

通过合理使用这些函数,可以避免手动编写字符判断逻辑,提升代码的可读性和可维护性。

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

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

相关文章

双指针算法介绍+算法练习(2025)

一、介绍双指针算法 双指针(或称为双索引)算法是一种高效的算法技巧,常用于处理数组或链表等线性数据结构。它通过使用两个指针来遍历数据,从而减少时间复杂度,避免使用嵌套循环。双指针算法在解决诸如查找、排序、去重…

TMS320F28P550SJ9学习笔记10:软件模拟I2C通信_驱动1.3寸OLED

现在有了具体的I2C通信器件,一块1.3寸OLED屏幕,今日尝试移植配置一下: 本文主要讲的是,使用软件模拟I2C通信 文章提供测试代码讲解、完整工程下载、测试效果图 目录 前置文章: I2C通信引脚: 软件I2C 引脚的初始化&am…

spring boot 发送邮件验证码

一、前置需求 1、准备邮箱 2、登录授权码 qq邮箱在–>设置–>账号POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务 开启服务 二、发送邮件 1、简单邮件 包含邮件标题、邮件正文 2、引入mail启动器 <dependency><groupId>org.springframework.boot</groupI…

塔能科技:智能机箱,为城市安防 “智” 造坚实堡垒

在当今智慧城市建设的浪潮中&#xff0c;城市安防面临着诸多挑战。设备管理难&#xff0c;众多分散的安防设备犹如一盘散沙&#xff0c;难以实现高效统一的管控&#xff1b;数据传输不稳定&#xff0c;关键时刻信息的延迟或丢失&#xff0c;可能导致严重后果。这些问题严重制约…

电商数据分析 电商平台销售数据分析 电商平台数据库设计 揭秘电商怎么做数据分析

《电商参谋数据分析平台方案》&#xff08;28页PPT&#xff09;是一套为电商行业量身定制的一体化解决方案&#xff0c;它通过全链路打通从数据获取到分析的全过程&#xff0c;帮助电商企业实现精细化运营和市场机会的挖掘。该方案针对电商行业在数据获取、加工整合及业务赋能方…

MAVEN解决版本依赖冲突

文章目录 一、依赖冲突概念1、什么是依赖冲突2、依赖冲突的原因3、如何解决依赖冲突 二、查看依赖冲突-maven-helper1、安装2、helper使用1、conflicts的阅读顺序&#xff08;从下向上看&#xff09;2、dependencies as List的阅读顺序&#xff08;从下向上看&#xff09;3、de…

79.ScottPlot的MVVM实现 C#例子 WPF例子

如何通过数据绑定在 WPF 中实现动态图像显示 在 WPF 应用程序中&#xff0c;通过数据绑定实现动态图像显示是一种高效且优雅的方式。以下是一个简单的教程&#xff0c;展示如何使用 ScottPlot.WPF 库和 MVVM 模式来实现这一功能。 第一步&#xff1a;安装必要的 NuGet 包 首…

Word 小黑第15套

对应大猫16 修改样式集 导航 -查找 第一章标题不显示 再选中文字 点击标题一 修改标题格式 格式 -段落 -换行和分页 勾选与下段同页 添加脚注 &#xff08;脚注默认位于底部 &#xff09;在脚注插入文档属性&#xff1a; -插入 -文档部件 -域 类别选择文档信息&#xff0c;域…

Java 大视界 -- Java 大数据在智能安防视频摘要与检索技术中的应用(128)

&#x1f496;亲爱的朋友们&#xff0c;热烈欢迎来到 青云交的博客&#xff01;能与诸位在此相逢&#xff0c;我倍感荣幸。在这飞速更迭的时代&#xff0c;我们都渴望一方心灵净土&#xff0c;而 我的博客 正是这样温暖的所在。这里为你呈上趣味与实用兼具的知识&#xff0c;也…

Python里matplotlib不显示中文的问题

在很长一段时间里用Python绘图&#xff0c;matplotlib都不能很好的显示中文&#xff0c;起初是认为我的pycharm里的设置问题&#xff0c;但是发现同样的问题在spyder里也同样的出现。 一共有两种解决方案&#xff0c;我强烈推荐第一种&#xff0c;因为更为方便&#xff0c;绘图…

机器学习(吴恩达)

一, 机器学习 机器学习定义: 计算机能够在没有明确的编程情况下学习 特征: 特征是描述样本的属性或变量&#xff0c;是模型用来学习和预测的基础。如: 房屋面积, 地理位置 标签: 监督学习中需要预测的目标变量&#xff0c;是模型的输出目标。如: 房屋价格 样本: 如: {面积100㎡…

【MySQL篇】MySQL内置函数

目录 1&#xff0c;日期函数 2&#xff0c;字符串函数 3&#xff0c;数学函数 4&#xff0c;其他函数 实战OJ 1&#xff0c;日期函数 日期类型在之前文章【数据类型】中有描述 传送门&#xff1a;【MySQL篇】数据类型_mysql 数据类型-CSDN博客 函数名称描述current_dat…

苹果iOS 18.4将强制升级HomeKit架构,旧版设备或无法使用

在科技飞速发展的当下,智能家居领域也在不断革新。而苹果公司作为科技行业的巨头,其每一次动作都备受关注。近日,有消息称苹果计划在iOS 18.4版本中停止对旧版HomeKit架构的支持,这一举措意味着用户将被迫升级,也可能对众多使用Apple Home应用的智能家居设备用户产生深远影…

故障诊断——neo4j入门

文章目录 neo4jQuickStartDemo neo4j QuickStart 详情可见博客&#xff1a;https://www.cnblogs.com/nhdlb/p/18703804&#xff0c;使用docker拉取最近的一个版本进行创建 docker run -it -d -p 7474:7474 -p 7687:7687 \ -v /disk5/neo4j_docker/data:/data \ -v /disk5/ne…

《苍穹外卖》SpringBoot后端开发项目核心知识点与常见问题整理(DAY1 to DAY3)

目录 一、在本地部署并启动Nginx服务1. 解压Nginx压缩包2. 启动Nginx服务3. 验证Nginx是否启动成功&#xff1a; 二、导入接口文档1. 黑马程序员提供的YApi平台2. YApi Pro平台3. 推荐工具&#xff1a;Apifox 三、Swagger1. 常用注解1.1 Api与ApiModel1.2 ApiModelProperty与Ap…

大模型安全新范式:DeepSeek一体机内容安全卫士发布

2月以来&#xff0c;DeepSeek一体机几乎成为了政企市场AI消费的最强热点。 通过一体机的方式能够缩短大模型部署周期&#xff0c;深度结合业务场景&#xff0c;降低中小企业对于大模型的使用门槛。据不完全统计&#xff0c;已约有超过60家企业基于DeepSeek推出一体机产品。 但…

OpenHarmony-SELinux配置

前言&#xff1a; OpenHarmony 上某个进程向samgr注册SA服务&#xff0c;其他进程在与该进程进行IPC通信之前&#xff0c;需要获取该SA服务&#xff0c;SA提供方需要为该SA配置SELinux标签&#xff0c;否则该SA会被SELinux配置为u:object_r:default_service:s0标签&#xff0c…

第十八:go 并发 goroutine

channel 可以让多个goroutine 之间实现通信 Add方法调用时机&#xff1a;必须在goroutine 启动之前调用Add方法来增加计数器的值。 如果在goroutine已经启动之后再调用Add&#xff0c;可能会导致Wait方法提前返回&#xff0c;因为计数器没有正确反映正在运行的goroutine的数量…

数字IC后端项目典型问题(2025.03.10数字后端项目问题记录)

小编发现今天广大学员发过来的问题都比较好&#xff0c;立即一顿输出分享给大家&#xff08;每天都有好多种类的数字后端问题&#xff09;。后续可能会经常通过这种方式来做分享。其实很多问题都是实际后端项目中经常遇到的典型问题。希望通过这种方式的分享能够帮助到更多需要…

课程《Deep Learning Specialization》

在coursera上&#xff0c;Deep Learning Specialization 课程内容如下图所示&#xff1a; Week2 assignment, Logistic Regression.