c语言中的字符函数

1.字符分类函数

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

可能你看这些感觉很懵,我以islower举例

复制代码
#include<ctype.h>
int main()
{
	int ret=islower('A');
	printf("%d ", ret); //0
	ret = islower('a');
	printf("%d ", ret);//非0
	ret = islower('0');
	printf("%d ", ret);//0
	return 0;
}

islower是判断是否为小写的,但是'A'是大写的,所以返回0。其他也是如此,反正符合判断返回非0,不符合判断返回0.

练习:写一个代码,将字符串中的小写字母改为大写,其他字符不变

提示:小写字母的ASCII-32=大写字母的ASCII

复制代码
int main()
{
	char arr[] = "I am a Student";
	int i = 0;
	while (arr[i] != '\0')
	{
		if (islower(arr[i]))
		{
			arr[i] = arr[i] - 32;
		}
		i++;
	}
	printf("%s", arr);
	return 0;
}

2.字符转换函数

c语言中提供了两个字符转换函数,头文件也是ctype.h

1 int tolower ( int c)//将传进去的参数大写改为小写

2 int toupper ( int c)//将传进去的参数小写改为大写

上面的代码,我们将小写改为大写,是-32的操作,有了转换字符,我们可以直接用toupper函数

复制代码
int main()
{
	char arr[] = "I am a Student";
	int i = 0;
	while (arr[i] != '\0')
	{
		if (islower(arr[i]))
		{
			arr[i] = toupper(arr[i]);
		}
		i++;
	}
	printf("%s", arr);
	return 0;
}
相关推荐
a诠释淡然8 分钟前
C++模板元编程—现代C++的黑魔法
开发语言·c++
社交怪人11 分钟前
【判断整除】信息学奥赛一本通C语言解法(题号1046)
c语言
charlie11451419116 分钟前
现代C++工程:constexpr 基础:编译期求值的艺术
开发语言·c++
tianyuanwo19 分钟前
C语言编译完全指南:从工具链到跨架构静态与动态编译
c语言·动态编译·静态编译
MemoriKu20 分钟前
Flutter 相册 APP 视频模态稳定化实战:从视频抽帧、Embedding 元数据到 Android 真机启动修复
android·开发语言·前端·flutter·架构·音视频·embedding
SilentSamsara23 分钟前
特征工程系统方法论:编码、分箱、交互特征与特征选择
开发语言·人工智能·python·机器学习·青少年编程·信息可视化·pandas
韭菜钟24 分钟前
将vscode的数据从C盘迁移至D盘
c语言·ide·vscode
morning_judger25 分钟前
Agent开发系列(十)-知识库建设(架构总览)
开发语言·人工智能
ch.ju28 分钟前
Java程序设计(第3版)第四章——继承的特点
java·开发语言
geovindu30 分钟前
python:Coroutines Pattern
开发语言·python·设计模式·协程模式