C语言之字符函数总结(全部!),一篇记住所有的字符函数

作者 : admin 本文共3448个字,预计阅读时间需要9分钟 发布时间: 2024-06-9 共1人阅读


前言

        还在担心关于字符的库函数记不住吗?不用担心,这篇文章将为你全面整理所有的字符函数的用法。不用记忆,一次看完,随查随用。用多了自然就记住了


字符分类函数和字符转换函数

C语言中有一系列的函数是专门做字符分类和字符转换的,也就是一个字符是属于什么类型的字符的,以及将字符转换为大写或小写,这些函数的使用都需要包含⼀个头头件是

字符分类函数:

函数函数判断为真返回非0值,否则返回0

isalnum

检查字符是否为字母或者数字

(如:’a’~’z’,’A’~’Z’,’0’~’9’)

isalpha

检查字符是否为字母(如:’a’~’z’,’A’~’Z’)
isblank检查字符是否为空格字符 ‘ ‘ 和水平制表符 ‘ ‘这两种

iscntrl

检查字符是否为控制字符,指那些通常用于控制设备,不显示在屏幕上的字符

(如:ASCII码值在0x00~0x1F之间的字符,以及0x7F位置处的字符)

isdigit

检查字符是否为十进制数字(如:’0’~’9’)

isgraph

检查字符是否具有图形表示(指的是所有可以打印出来的字符,

也就是非空白字符和其他不可打印字符)

islower

检查字符是否为小写字母

isprint

检查字符是否可打印

(ASCII范围通常为 (空格)32~126(~) 之间)

ispunct

检查字符是否为标点符号字符
isspace

检查字符是否为空白字符

(如: 空格’ ‘,换页’\f’,换行’
‘,回车’\r’,水平制表符’ ‘,垂直制表符’\v’)

isupper

检查字符是否为大写字母

(如:’A’~’Z)

isxdigit

检查字符是否为十六进制数字

(如:’A’~’F’)

 以上函数共性:

  1. 形参都为 int c,函数返回类型都为 int (注:字符也属于整形类),如下图
  2. C语言之字符函数总结(全部!),一篇记住所有的字符函数插图

字符转换函数

tolower

将大写字母转换为小写字母并返回

如果传入字符非大写字母,返回原传入字符

toupper

将小写字母转换为大写字母并返回

如果传入字符非小写字母,返回原传入字符

例如 tolower 函数

C语言之字符函数总结(全部!),一篇记住所有的字符函数插图(1)

接下来我将演示这些函数的用法:

1:isalnum 函数

#include 
#include 

//检查字符是否为字母或者数字
//(如:'a'~'z','A'~'Z','0'~'9')
int main()
{
	if (isalnum('a'))
		printf("是小写字母
");

	if (isalnum('8'))
		printf("是数字
");
	
	if (isalnum('Z'))
		printf("是大写字母
");

	return 0;
}

运行结果:

C语言之字符函数总结(全部!),一篇记住所有的字符函数插图(2)


2:isalpha 函数

#include 
#include 

//检查字符是否为字母(如:'a'~'z','A'~'Z')
int main()
{
	if (isalpha('a'))
		printf("是字母
");

	if (isalpha('B'))
		printf("是字母
");

	if (isalpha('2') == 0)
		printf("不是字母
");

	return 0;
}

运行结果:

C语言之字符函数总结(全部!),一篇记住所有的字符函数插图(3)


3:isblank 函数

#include 
#include 

//检查字符是否为,空格字符 ' ' 和水平制表符 '	 '这两种
int main()
{
	if (isblank(' '))
		printf("空格字符
");
	if (isblank('	'))
		printf("水平制表符
");
	if (isblank('
') == 0)
		printf("不认识
");

	return 0;
}

运行结果:

C语言之字符函数总结(全部!),一篇记住所有的字符函数插图(4)


4:iscntrl 函数

#include 
#include 

int main()
{
	//判断字符是否为ASCII码值在0x00~0x1F之间,以及0x7F位置处的控制类字符
	//例子较多,只示例3个
	if (iscntrl('
'))
		printf("true
");
	if (iscntrl('\r'))
		printf("true
");
	if (iscntrl(0x1F))
		printf("true
");

	return 0;
}

运行结果:

C语言之字符函数总结(全部!),一篇记住所有的字符函数插图(5)


5:isdigit 函数

#include 
#include 

//检查字符是否为十进制数字(如:'0'~'9')
int main()
{
	if (isdigit('1'))
		printf("true
");
	if (isdigit('9'))
		printf("true
");
	if (isdigit(2) == 0)
		printf("false
");

	return 0;
}

运行结果:

C语言之字符函数总结(全部!),一篇记住所有的字符函数插图(6)


6:isgraph 函数

#include 
#include 

//检查字符是否具有图形表示(指的是所有可以打印出来的字符,
//也就是非空白字符和其他不可打印字符)
int main()
{
	int i = 0;

    //循环判断所有字符
	for (i = 0x0; i <= 0x7F; i++)
	{
		if (isgraph('i'))
			printf("%c ", i);
	}

	return 0;
}

运行结果:

C语言之字符函数总结(全部!),一篇记住所有的字符函数插图(7)


7:islower 函数

#include 
#include 

//检查字符是否为小写字母
int main()
{
	int i = 0;

	for (i = 'a'; i <= 'z'; i++)
	{
		if (islower(i))
		{
			printf("%c ", i);
		}
	}

	if (islower('A') == 0)
		printf("
False");

	return 0;
}

运行结果:

C语言之字符函数总结(全部!),一篇记住所有的字符函数插图(8)


8:isprint 函数

#include 
#include 

//检查字符是否为可打印字符
int main()
{
	char c = 0;

	for (c = 32; c <= 126; c++)
	{
		if (isprint(c))
		{
			printf("%c ", c);
		}
	}

	return 0;
}

运行结果:

C语言之字符函数总结(全部!),一篇记住所有的字符函数插图(9)


9:ispunct 函数

#include 
#include 

//检查字符是否为标点符号字符
int main()
{
	if (ispunct(','))
		printf("true
");
	if (ispunct('.'))
		printf("true
");
	if (ispunct('?'))
		printf("true
");
	if (ispunct('a') == 0)
		printf("false
");

	return 0;
}

运行结果:

C语言之字符函数总结(全部!),一篇记住所有的字符函数插图(10)


10:isspace 函数

#include 
#include 

//检查字符是否为空白字符
//(如: 空格' ',换页'\f',换行'
',回车'\r',水平制表符'	',垂直制表符'\v')
int main()
{
	if (isspace(' '))
		printf("true
");
	if (isspace('
'))
		printf("true
");
	if (isspace('	'))
		printf("true
");
	if (isspace('\v'))
		printf("true
");
	if (isspace('\f'))
		printf("true
");
	if (isspace('\r'))
		printf("true
");

	return 0;
}

运行结果:

C语言之字符函数总结(全部!),一篇记住所有的字符函数插图(11)


11:isupper 函数

#include 
#include 

//检查字符是否为大写字母
int main()
{
	int i = 0;

	for (i = 'A'; i <= 'Z'; i++)
	{
		if (isupper(i))
		{
			printf("%c ", i);
		}
	}

	return 0;
}

运行结果:

C语言之字符函数总结(全部!),一篇记住所有的字符函数插图(12)


12:isxdigit 函数

#include 
#include 

//检查字符是否为16进制数字
int main()
{
	if (isxdigit('A'))
		printf("true
");
	if (isxdigit('B'))
		printf("true
");
	if (isxdigit('F'))
		printf("true
");
	if (isxdigit('G') == 0)
		printf("false
");

	return 0;
}

运行结果:

C语言之字符函数总结(全部!),一篇记住所有的字符函数插图(13)


13:tolower 函数

#include 
#include 

//将大写字母转换为小写字母并返回
int main()
{
	char c = 0;

	for (c = 'A'; c <= 'Z'; c++)
	{
		printf("%c ", tolower(c));
	}

	printf("
%c", tolower('A'));

	return 0;
}

运行结果:

C语言之字符函数总结(全部!),一篇记住所有的字符函数插图(14)


14:toupper 函数

#include 
#include 

//将小写字母转为大写字母并返回
int main()
{
	char c = 0;

	for (c = 'a'; c <= 'z'; c++)
	{
		printf("%c ", toupper(c));
	}

	printf("
%c", toupper('A'));

	return 0;
}

运行结果:

C语言之字符函数总结(全部!),一篇记住所有的字符函数插图(15)


结语:

        一开始准备和字符串函数一起写,写到下面发现篇幅过长了,字符串函数放在下一篇来讲,最后感谢大家的支持。

本站无任何商业行为
个人在线分享 » C语言之字符函数总结(全部!),一篇记住所有的字符函数
E-->