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;
}