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