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;
}
相关推荐
小羊没烦恼!12 分钟前
Memory 记忆设计讨论:为什么 Agent Memory 不能只靠向量数据库?
java·开发语言·windows·算法·c#
黑马程序员毕设28 分钟前
基于微信小程序的节目活动报名与管理系统设计与实现
java·开发语言·spring boot·后端·电脑
山下梅子酒22531 分钟前
洛谷-入门-B2042
c语言
sunshine22 girl35 分钟前
Java学习 java原理
java·开发语言·学习
ysu_03141 小时前
08-二叉树遍历:四种方式详解
c语言·数据结构·算法·leetcode
ocean21031 小时前
2025-2026年C语言专题面试高频知识点洞察
c语言·面试·面试经验
troy1282 小时前
Python 基础语法(六):函数与模块、文件操作、异常处理
开发语言·python
lv__pf2 小时前
09-深入理解AQS之独占锁ReentrantLock源码分析【TL 并发 09】
java·开发语言
Lzh编程小栈2 小时前
STM32 DMA深度解析|原理、完整工作流程、寄存器、中断联动,嵌入式面试高频考点(F1系列)
c语言·stm32·单片机·mcu·面试
这是程序猿2 小时前
Java线程池深度剖析:源码原理、核心参数、任务调度与生产调优实战
java·开发语言·python