我们在写代码的过程中,不可避免地要处理字符和字符串相关的内容,为了方便处理这些内容,在C语言中,有一些库函数来帮我们完成这些操作,这些函数统称为字符函数和字符串函数。今天,我们先介绍字符函数,这些函数包括字符分类函数和字符转换函数。
1. 字符分类函数
C语言中有⼀系列的函数是专门做字符分类的,也就是⼀个字符是属于什么类型的字符的。这些函数的使⽤都需要包含⼀个头⽂件是 <ctype.h>
1.1 islower函数
我们先来看看cplusplus对islower函数的介绍:islower
功能描述:
检查字符是否是小写字母。
参数:
int 或 EOF 型的字符
返回值:
如果 c 确实是小写字母,则返回非零值(为真)。否则返回零(为假)。
int main()
{
//islower_用来判断参数是否为小写字母
//如果是小写字母,返回非零的字,不是就返回0
int ret = islower('C');
printf("%d\n", ret);
return 0;
}
运行结果:
1.2 isupper函数
同样的,我们先来看看cplusplus上面对于isupper函数的介绍:isupper
功能描述:
检查字符是否是大写字母。
参数:
int 或 EOF 型的字符
返回值:
如果 c 确实是大写字母,则返回非零值(为真)。否则返回零(为假)。
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <ctype.h>
int main()
{
//isupper_用来判断参数是否为大写字母
//如果是大写字母,返回非零的字,不是就返回0
int ret = isupper('C');
printf("%d\n", ret);
return 0;
}
运行结果:
除了以上两种函数外,字符分类函数还包括以下几种函数:
练习:写一个代码,将字符串中的小写字母转大写字母,其他字符变不变。
int main()
{
char str[] = "i am a student";
//1.遍历字符串
//2.发现小写字母转大写
int len = strlen(str);//14(0~13)
int i = 0;
for (i = 0; i < len; i++)
{
if (islower(str[i]))
{
str[i] = str[i] - 32;
}
}
printf("%s\n", str);
return 0;
}
运行结果:
2. 字符转换函数
C语⾔中提供了2个字符转换函数:
int tolower (int c); //将参数传进去的小写字母转大写
int toupper (int c); //将参数传进去的大写字母转小写
我们前面写过一个代码将字符串中的小写字母转大写字母,是-32完成的效果,有了转换函数,就可以直接使用 toupper 函数。
int main()
{
char str[] = "i am a student";
//1.遍历字符串
//2.发现小写字母转大写
int len = strlen(str);//14(0~13)
int i = 0;
for (i = 0; i < len; i++)
{
if (islower(str[i]))//islower函数
{
str[i] = toupper(str[i]);
}
}
printf("%s\n", str);
return 0;
}
运行结果:
好了,以上就是关于字符函数的全部内容了,内容不多,也比较简单。接下来我们将会继续讲解字符串函数,感兴趣的小伙伴不要忘了点点关注,我们下次继续来探讨C语言的奥秘。