字符函数和字符串函数(C 语言)-一、字符函数

1. 字符分类函数

在 C 语言标准库中,有一系列函数是专门用来给字符分类的,也就是判断该字符是什么类型的字符,如:数字字符、字母字符等。这些函数都包含在头文件 ctype.h 中。如下图所示:

在这里插入图片描述

这些函数的功能都非常相似,只要传入的字符满足其条件,就返回真,否则返回假。下面使用判断小写字符函数 islower() 来进行演示:
在这里插入图片描述
其他字符分类函数同样如此。

1.1 练习

题目: 使用字符分类函数实现把字符串中的小写字母,转换为大写字母。

分析: 首先,遍历字符串,判断当前字符是不是小写字符,如果是小写字符则减 32(在 ASCII 码中,小写字母比对应的大写字母大 32)。

代码如下:

// 头文件
#include <stdio.h>
#include <ctype.h>

int main()
{
	// 把字符串中的小写字母转换为大写字母
	char tmp[] = "Hello, world.";
	// 遍历字符串
	int i = 0;
	while (tmp[i])
	{
		// 如果是小写字母,转换为大写
		if (islower(tmp[i]))
			tmp[i] -= 32;
		// 下一个字符
		++i;
	}
	// 输出验证
	printf("%s\n", tmp);

	return 0;
}

代码运行结果如下:
在这里插入图片描述

2. 字母大小写转换函数

下面两个字母转换函数同样包含在头文件 ctype.h 中:
在这里插入图片描述
tolower() 函数的功能是传入大写字母,然后返回对应的小写字母,如果不是大写字母则返回原字符。toupper() 函数与其类似。

有了上述这两个函数,就可以把上一个练习给修改一下:

// 头文件
#include <stdio.h>
#include <ctype.h>

int main()
{
	// 把字符串中的小写字母转换为大写字母
	char tmp[] = "Hello, world.";
	// 遍历字符串
	int i = 0;
	while (tmp[i])
	{
		// 如果是小写字母,转换为大写
		tmp[i] = toupper(tmp[i]);
		// 下一个字符
		++i;
	}
	// 输出验证
	printf("%s\n", tmp);
	
	return 0;
}
上一篇:Maven:详解 clean 和 install 命令的使用


下一篇:LeetCode 101.对称二叉树