C语言字符检测函数


字符检测函数:int 函数名(字符)

iscntrl()函数

iscntrl() 函数用来检测参数是否是控制字符.
在ASCII码表中,0至31以及127(共33个)是控制字符.
“控制字符”是指那些具有某种特殊功能、不会显示在屏幕上、不会占用字符位置的特殊字符。无法在屏幕上打印的字符称为控制字符。例如,退格键\b,换行符\n等。
原型:int iscntrl(int c);
头文件:<ctype.h>
功能:检查参数c是否为控制字符,也就是判断参数c的范围是否在0到31之间或是127。
返回值:若参数c为控制字符,则返回非0,否则返回0

#include <stdio.h>
#include <ctype.h>
int main()
{
	int c = 127;
	int ret = iscntrl(c);
	printf("%d\n", ret);//32
	c = 31;
	ret = iscntrl(c);
	printf("%d\n", ret);//32
	c = 33;
	ret = iscntrl(c);
	printf("%d\n", ret);//0
	printf("%d\n", iscntrl('\f'));//32
	printf("%d\n", iscntrl('\b'));//32
	return 0;
}

若char c=30;当将字符作为参数传递时,将传递字符的相应ASCII值,而不是传递该字符本身

isspace()函数

isspace()函数用来检测(参数)是否是空格字符.
原型:int isspace(int c);
头文件:<ctype.h>
功能:检查参数 c 是否为空格字符, 也就是判断是否为空格(’ ‘)、水平制表符(’\t’)、回车符(’\r’)、换行符(’\n’)、垂直制表符(’\v’)或翻页(’\f’).
返回值:若参数c 为空格字符, 则返回非0, 否则返回0

#include <stdio.h>
#include <ctype.h>
int main()
{
	char c =' ';
	int ret = isspace(c);
	printf("%d\n", ret);//8
	c = '\t';
	ret = isspace(c);
	printf("%d\n", ret);//8
	c = '\r';
	ret = isspace(c);
	printf("%d\n", ret);//8
	return 0;
}

isblank()函数

isblank()函数用来检测参数是否为空白字符.
原型:int isblank(int c);
头 文 件:<ctype.h>
功能:检查参数c是否为空白字符,也就是判断是否为空白(space)或水平制表符(’\t’),空白 (space)的ASCII码值为32,水平制表符(’\t’)的ASCII码值为9.
返回值:如果参数c为空白字符,则返回非0,否则返回0

#include <stdio.h>
#include <ctype.h>
int main()
{
	char c =' ';
	int ret = isblank(c);
	printf("%d\n", ret);//64
	c = '\t';
	ret = isblank(c);
	printf("%d\n", ret);//64
	c = '\v';
	ret = isblank(c);
	printf("%d\n", ret);//0
	c = '\n';
	ret = isblank(c);
	printf("%d\n", ret);//0
	c = '\r';
	ret = isblank(c);
	printf("%d\n", ret);//0
	c = '\f';
	ret = isblank(c);
	printf("%d\n", ret);//0
	return 0;
}

isdigit()函数

isdigit()函数用来检测参数是否为十进制数字(0~9)字符.
原型:int isdigit(int c);
头 文 件:<ctype.h>
功能:检查参数c是否为十进制数字(0~9)字符
返回值:如果参数c为十进制数字(0~9)字符,则返回非0,否则返回0

#include <stdio.h>
#include <ctype.h>
int main()
{
	printf("%d\n", isdigit(6));//0   --错误写法
	printf("%d\n", isdigit('6'));//4
	printf("%d\n", isdigit('0'));//4
	printf("%d\n",isdigit('h'));//0
	return 0;
}

#include<stdio.h>
#include<ctype.h>
int main()
{
 	char str[30] = "4jdu7fbf0s52br8";
 	int i=0;
	printf("str字符串中的所有阿拉伯数字为"); 
 	for(i = 0; str[i]; i++)//判断条件str[i]也可以写成str[i]!='\0'
 	{
  		if(isdigit(str[i]))
  		 	printf("%c", str[i]);
	}
	printf("\n");
 	return 0;
} 

isxdigit()函数

isxdigit()函数用来检测参数是否为十六进制数字(0至f)字符.包括所有十进制数字字符,小写字母a~f,大写字母A至F.
原型:int isxdigit(int c);
头 文 件:<ctype.h>
功能:检查参数c是否为十六进制数字
返回值:如果参数c为十六进制数字,则返回非0,否则返回0

#include <stdio.h>
#include <ctype.h>
int main()
{
	int c ='3';
	int ret = isxdigit(c);
	printf("%d\n", ret);//128
	c = 'f';
	ret = isxdigit(c);
	printf("%d\n", ret);//128
	c = 'A';
	ret = isxdigit(c);
	printf("%d\n", ret);//128
	return 0;
}

islower()函数

islower()函数用来检测参数是否为小写字母(a~z).
原型:int islower(int c);
头 文 件:<ctype.h>
功能:检查参数c是否为小写字母(a~z)
返回值:如果参数c为小写字母(a~z),则返回非0,否则返回0

printf("%d\n", islower('z'));//2
printf("%d\n", islower('A'));//0
printf("%d\n", islower(5));//0

isupper()函数

isupper()函数用来检测参数是否为大写字母(A~Z).
原型:int isupper(int c);
头 文 件:<ctype.h>
功能:检查参数c是否为大写字母(A~Z)
返回值:如果参数c为大写字母(A~Z),则返回非0,否则返回0

printf("%d\n", isupper('z'));//0
printf("%d\n", isupper('A'));//1
printf("%d\n", isupper(5));//0

isalpha()函数

isalpha()函数用来检测参数是否为字母(A~Z)或字母(a-z).
原型:int isalpha(int c);
头 文 件:<ctype.h>
功能:检查参数c是否为字母A~Z或a-z
返回值:如果参数c为字母A~Z或a-z,则返回非0,否则返回0

printf("%d\n", isalpha('z'));//2
printf("%d\n", isalpha('A'));//1
printf("%d\n", isalpha(5));//0

isalnum()函数

isalnum()函数用来检测参数是否为字母或数字(a-z,A-Z,0-9)
原型:int isalnum(int c);
头 文 件:<ctype.h>
功能:检查参数c是否为字母或数字(a-z,A-Z,0-9)
返回值:如果参数c为字母或数字(a-z,A-Z,0-9),则返回非0,否则返回0

printf("%d\n", isalnum('z'));//2
printf("%d\n", isalnum('A'));//1
printf("%d\n", isalnum(5));//0
printf("%d\n", isalnum('5'));//4

ispunct()函数

ispunct()函数检测参数是否为标点符号,任何不属于数字或字母的图形字符(可打印)
头文件: <ctype.h>
原型: int ispunct(int c);
功能:检查参数 c 是否为标点符号或特殊符号.
返回值:若参数c 为非空格字符、非数字和非英文字母, 则返回非0, 否则返回0

printf("%d\n",ispunct (' '));//0
printf("%d\n", ispunct('A'));//0
printf("%d\n",ispunct ('5'));//0
printf("%d\n", ispunct(','));//16
printf("%d\n", ispunct('\t'));//0
printf("%d\n", ispunct('.'));//16
printf("%d\n", ispunct('*'));//16
printf("%d\n", ispunct('\n'));//0
printf("%d\n", ispunct('\r'));//0
printf("%d\n", ispunct('\f'));//0

isgraph()函数

isgraph()函数检测参数是否为图形字符
原型:int isgraph (int c);
头文件: <ctype.h>
功能:检查参数 c 是否为图形字符
返回值:若参数c 所对应的ASCII 码可打印, 且为非空格字符, 则返回非0, 否则返回0

printf("%d\n",isgraph(' '));//0
printf("%d\n", isgraph('A'));//1
printf("%d\n", isgraph('5'));//4
printf("%d\n", isgraph(','));//16
printf("%d\n", isgraph('\t'));//0
printf("%d\n", isgraph('.'));//16
printf("%d\n", isgraph('*'));//16
printf("%d\n", isgraph('\n'));//0
printf("%d\n", isgraph('\r'));//0
printf("%d\n", isgraph('\f'));//0

isprint()函数

isprint()函数检测参数是否为可打印字符,包括图形字符和空白字符(’ ')
原型:int isprint (int c);
头文件: <ctype.h>
功能:检查参数 c 是否为可打印字符
返回值:若参数c 为可打印字符, 则返回非0, 否则返回0

printf("%d\n", isprint(' '));//64
printf("%d\n", isprint('A'));//1
printf("%d\n", isprint('5'));//4
printf("%d\n", isprint(','));//16
printf("%d\n", isprint('\t'));//0
printf("%d\n", isprint('.'));//16
printf("%d\n", isprint('*'));//16
printf("%d\n", isprint('\n'));//0
printf("%d\n", isprint('\r'));//0
printf("%d\n", isprint('\f'));//0
  • 5
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值