1. 字符分类函数
C语言中有⼀系列的函数是专门做字符分类的,也就是⼀个字符是属于什么类型的字符的。这些函数的使用都需要包含⼀个头文件是 <ctype.h>。
这些函数的使用方法非常类似,我们就讲解⼀个函数的实现,其他的读者自行完成:
- 函数原型:int islower ( int c );
参数:c是一个字符,字符的本质是ASCII值,所以是int类型。- islower 是能够判断参数部分的 c 是否是小写字母的。
- 通过返回值来说明是否是小写字母,如果是小写字母就返回非0的整数,如果不是小写字母,则返回0。
例如:写⼀个代码,将字符串中的小写字母转大写,其他字符不变。
代码实现如下:
#include <stdio.h>
#include <ctype.h>
//把小写字母转大写字母
int main()
{
char arr[] = "I Am a Student";
int i =0;
while (arr[i] != '\0')
{
//if (arr[i] >= 'a' && arr[i] <= 'z')//不使用函数
if(islower(arr[i]))
{
arr[i] -= 32;
}
i++;
}
printf("%s\n", arr);
return 0;
}
2. 字符转换函数
C语言提供了2个字符转换函数:
int tolower ( int c ); //将参数传进去的⼤写字⺟转⼩写
int toupper ( int c ); //将参数传进去的⼩写字⺟转⼤写
上面的代码,我们将小写转大写,是-32完成的效果,有了转换函数,就可以直接使用 tolower 函数。
代码实现如下:
#include <stdio.h>
#include <ctype.h>
int main()
{
char arr[] = "I Am a Student";
int i = 0;
while (arr[i] != '\0')
{
arr[i] = toupper(arr[i]);
i++;
}
printf("%s\n", arr);
return 0;
}