💓 博客主页:C-SDN花园GGbond
⏩ 文章专栏:玩转c语言
文章目录
-
前言:
-
最近学习完C语言知识后对于C语言中涉及到的库函数总是忘记,所以写下掌握C语言函数系列的博客。同时也希望能够帮助到大家。
-
1.字符函数分类
-
字符分类函数和字符转换函数
-
2.字符分类函数:
-
顾名思义麻,字符分类函数是专⻔做字符分类的,也就是⼀个字符是属于什么类型的字符的(及判断是否为所用字符类型)。主要包含如下几种:
这些函数的使⽤都需要包含⼀个头⽂件是 ctype.h 且用法非常相似,我用一个函数作为例子:islower 是能够判断参数部分的 c 是否是⼩写字⺟的。 通过返回值来说明是否是⼩写字⺟,如果是⼩写字⺟就返回⾮0的整数,如果不是⼩写字⺟,则返回0。
2.1函数的使用:
用字符判断函数中的islower()为例给一个题做下面讲解
题:写⼀个代码,将字符串中的⼩写字⺟转⼤写,其他字符不变。
你可能会这样写:
#include<ctype.h>
#include<stdio.h>
int main()
{
char arr[] = "I Am a Student";
int i = 0;
while (arr[i] != '\0')
{
if (arr[i] >= 'a' && arr[i] <= 'z')
{
arr[i] -= 32;
}
i++;
}
printf("%s\n", arr);
return 0;
运行结果为:I AM A STUDENT
该代码中用 if (arr[i] >= 'a' && arr[i] <= 'z')来判断是否是小写字母。也可用字符判断函数来直接判断。所以修改代码为
#include<ctype.h>
#include<stdio.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;
}
3.字符转换函数:
3.1 函数的使用 :
以itolower()为例:
int main()
{
char ch = 'W';
char ret = tolower(ch);printf("%c\n", ret);
return 0;
}return 0;
结果就为小写字母w
4.总结:
上述题写⼀个代码,将字符串中的⼩写字⺟转⼤写,其他字符不变还可以直接使用字符判断函数和字符转换函数。代码如下:
#include<ctype.h>
#include<stdio.h>
int main()
{
char arr[] = "I Am a Student";
// I Am a Student\0
// 0123
int i = 0;
while (arr[i] != '\0')
{
//if (arr[i] >= 'a' && arr[i] <= 'z')
if(islower(arr[i]))
{
arr[i] = toupper(arr[i]);
}
i++;
}
printf("%s\n", arr);
return 0;
}