当前位置: 首页 > news >正文

C语言 之 字符相关函数

文章目录

  • 字符分类函数
  • 字符转换函数

本章内容主要讲的是c语言中的字符相关的一些函数的作用用法和使用

为了方便我们对字符的各种操作,C语⾔标准库中提供了⼀系列库函数,我们大概可以根据其功能分成两类函数

字符分类函数

C语言中有一系列函数是专门用于字符分类的,也就是判断一个字符属于是属于什么类型的字符
这些函数的使用都需要包含一个头文件: ctype.h

函数若参数符合下列条件则返回真
iscntrl任何控制字符
isspace空白字符: 空格和‘ ’ ,换页‘\f’,换行’\n’,回车’\r’,制表符’\t’或者垂直制表符’\v’
isdigit十进制数字 0-9
isxdigitl十六进制数字,包括所有十进制数字,小写字母a-f,大写字母A-F
islowerl小写字母a-z
isupper大写字母A-Z
isalpha字母a-z或A-Z
isalnum字母或者数字,a-z, A-Z,0-9
ispunct标点符号,任何不属于数字或者字母的图形字符(可打印)
isgraph任何图形字符
isprint任何可打印字符,包括图形字符和空白字符

例如 :我们来使用一下函数 isdigit

在这里插入图片描述

我们这里的字符是十进制数字7,所以返回值为真,即非0
在这里插入图片描述

那么如果我们将字符7 换成 字符a
在这里插入图片描述

那么输出的结果为假,即为0
在这里插入图片描述
其它函数的用法都是类似的,可以自行去实践使用


例题:

写⼀个代码,将字符串中的小写字母转大写,其他字符不变。

#include <stdio.h>
#include <ctype.h>
int main() 
{ 	int i = 0; 	char str[] = "Hello Fallzzzzz\n"; 	char c; 	while (str[i]) 	{ 		c = str[i]; 		if(islower(c)){c -= 32; 		} 			putchar(c); 		++i; 	} 	return 0; 
} 

使用我们学习到的知识,islower(c) 能够判断一个字符是否是a-z,如果是则为真,则进入到if语句中。
这里的putchar是输出字符的函数,即一个字符一个字符的输出
所以输出结果为:
在这里插入图片描述

字符转换函数

C语⾔提供了2个字符转换函数:

int tolower ( int c ); //将参数传进去的大写字母转小写
int toupper ( int c ); //将参数传进去的小写字母转大写

再根据上面的例题,上面的例题中我们想要将字符从小写转化为大写,使用的是c -= 32; 的方法,那我们有了转换函数的话,那当然就可以直接使用啦!

例题:

#include <stdio.h>
#include <ctype.h>
int main()
{int i = 0;char str[] = "Hello Fallzzzzz\n";char c;while (str[i]){c = str[i];if (islower(c)){c = toupper(c);  //使用转换函数}putchar(c);++i;}return 0;
}

这样能达到同样的输出效果:
在这里插入图片描述

以上就是字符相关的库函数啦,适当的使用这些库函数能够提高我们的工作效率


http://www.mrgr.cn/news/25.html

相关文章:

  • 什么是进销存软件?2024年新一代进销存软件
  • 数据捕手:Python 爬虫在社交媒体的深度探索
  • MK米客方德推出新一代工业级SD NAND——更长寿命、更高速度、更优功耗
  • Django Project | 云笔记练习项目
  • EmguCV学习笔记 VB.Net 2.2 Matrix类
  • SQL - 基础大汇总
  • 【hot100篇-python刷题记录】【相交链表】
  • iOS(OC)学习第2天-绑定UI和点击事件
  • 10 个 C# 关键字和功能
  • AI视频创作原理
  • VUE框架面试整理-性能优化
  • 后端代码练习1——加法计算器
  • 手撕C++入门基础
  • 【算法】马踏棋盘(骑士周游)问题回溯算法实现以及使用贪心算法优化
  • 网络安全简介(入门篇)
  • Linux学习第59天:Linux IIO 驱动
  • 使用el-menu跳转时偶尔会出现路由已经变了,但是页面却显示空白的情况
  • 云计算的三大服务模式:IaaS、PaaS、SaaS的深入解析
  • C语言memcmp函数
  • 高级java每日一道面试题-2024年8月14日-设计模式篇-你对观察者设计模式了解多少?