C语言--字符函数

C语言--字符函数

  • 一、字符函数
    • [1.1 iscntrl](#1.1 iscntrl)
    • [1.2 isspace](#1.2 isspace)
    • [1.3 isdigit](#1.3 isdigit)
    • [1.4 isxdigit](#1.4 isxdigit)
    • [1.5 islower](#1.5 islower)
    • [1.6 isupper](#1.6 isupper)
    • [1.7 isalpha](#1.7 isalpha)
    • [1.8 isalnum](#1.8 isalnum)
    • [1.9 ispunct](#1.9 ispunct)
    • [1.10 isgraph](#1.10 isgraph)
    • [1.11 isprint](#1.11 isprint)

在编程的过程中,我们会经常处理字符,为了方便操作,C语言标准库中提供了一系列库函数来便于操作和处理,下面我们就来学习一下。

一、字符函数

首先要记得使用所有的字符函数都要包含头文件#include <ctype.h>

下面我们来逐个学习:

1.1 iscntrl

函数原型:

c 复制代码
int iscntrl ( int c );

功能:检查字符是否为控制字符;
注:控制字符是不在显示器上占据打印位置的字符,控制字符包括ASCII码表中值为0 ~ 31和127的字符。

参数c:传入的需要判断的字符;

返回类型:int
如果c是控制字符,则返回一个不为0的值;
如果c不是控制字符,则返回0。

示例:
'\n'是换行符,也是控制字符,在ASCII码表中的值为10。

c 复制代码
#include <stdio.h>
#include <ctype.h>
int main()
{
	int ret = iscntrl('\n');
	if (ret)
	{
		printf("%d\n", ret);
		printf("是控制字符\n");
	}
	else
	{
		printf("不是控制字符\n");
	}
	return 0;
}

结果:

还可以通过字符在ASCII码表中所对应的值来判断

c 复制代码
#include <stdio.h>
#include <ctype.h>
int main()
{
	int c = 31;
	int ret = iscntrl(c);
	if (ret)
	{
		printf("%d\n", ret);
		printf("是控制字符\n");
	}
	else
	{
		printf("不是控制字符\n");
	}
	return 0;
}

1.2 isspace

函数原型:

c 复制代码
int isspace ( int c );

功能:检查字符是否为空白字符;

注:空白字符主要包括以下几种:
' ' : 空格
'\t' :水平制表符
'\v' :垂直制表符
'\n' :换行符
'\f' :换页符
'\r' :回车
参数c:传入的需要判断的字符;

返回类型:int

如果c是空白字符,则返回一个不为0的数,否则返回0。

示例:

c 复制代码
#include <stdio.h>
#include <ctype.h>
int main()
{
	int ret = isspace('\t');
	if (ret)
	{
		printf("%d\n", ret);
		printf("是空白字符\n");
	}
	else
	{
		printf("不是空白字符\n");
	}
	return 0;
}

结果:

1.3 isdigit

函数原型:

c 复制代码
int isdigit ( int c );

功能:检查字符是否为十进制数字(0 ~ 9之间);

注:在ASCII码表中字符0 ~ 9的值分别对应48 ~ 57;
参数c:传入的需要判断的字符;

返回类型:int

如果c是十进制数字,则返回一个不为0的数,否则返回0。

示例:

c 复制代码
#include <stdio.h>
#include <ctype.h>

int main()
{
	char num = '2';//int num = 50; '2'对应ASCII码表中的值是50
	int ret = isdigit(num);
	if (ret)
	{
		printf("%d\n", ret);
		printf("是十进制数字\n");
	}
	else
	{
		printf("不是十进制数字\n");
	}
	return 0;
}

结果:

1.4 isxdigit

函数原型

c 复制代码
int isxdigit ( int c );

功能:检查字符是否为16进制数字

注:16进制数字包括:0 ~ 9 ,a ~ f, A ~ F
参数c:传入的需要判断的字符;

返回类型:int

如果c是十六进制数字,则返回一个不为0的数,否则返回0。

示例:

c 复制代码
#include <stdio.h>
#include <ctype.h>

int main()
{
	char c = 'f';
	int ret = isxdigit(c);
	if (ret)
	{
		printf("%d\n", ret);
		printf("是十六进制数字\n");
	}
	else
	{
		printf("不是十六进制数字\n");
	}
	return 0;
}

结果:

1.5 islower

函数原型

c 复制代码
int islower ( int c );

功能:检查字符是否为小写字母
参数c:传入的需要判断的字符;

返回类型:int

如果c是小写字母,则返回一个不为0的数,否则返回0。

示例:

c 复制代码
#include <stdio.h>
#include <ctype.h>

int main()
{
	char c = 'm';
	int ret = islower(c);
	if (ret)
	{
		printf("是小写字母\n");
	}
	else
	{
		printf("不是小写字母\n");
	}
	printf("%d\n", ret);
	return 0;
}

结果:

1.6 isupper

函数原型:

c 复制代码
int isupper ( int c );

功能:检查字符是否为大写字母
参数c:传入的需要判断的字符;

返回类型:int

如果c是大写字母,则返回一个不为0的数,否则返回0。

示例:

c 复制代码
#include <stdio.h>
#include <ctype.h>

int main()
{
	char c = 'A';
	int ret = isupper(c);
	if (ret)
	{
		printf("是大写字母\n");
	}
	else
	{
		printf("不是大写字母\n");
	}
	printf("%d\n", ret);
	return 0;
}

结果:

1.7 isalpha

函数原型:

c 复制代码
int isalpha ( int c );

功能:检查字符是否为字母
参数c:传入的需要判断的字符;

返回类型:int

如果c是字母,则返回一个不为0的数,否则返回0。

示例:

c 复制代码
#include <stdio.h>
#include <ctype.h>

int main()
{
	char c = 'h';
	int ret = isalpha(c);
	if (ret)
	{
		printf("是字母\n");
	}
	else
	{
		printf("不是字母\n");
	}
	printf("%d\n", ret);
	return 0;
}

结果:

1.8 isalnum

函数原型:

c 复制代码
int isalnum ( int c );

功能:检查字符是否为字母或者数字(a ~ z, A ~ Z, 0 ~ 9)
参数c:传入的需要判断的字符;

返回类型:int

如果c是字母或者数字,则返回一个不为0的数,否则返回0。

示例:

c 复制代码
#include <stdio.h>
#include <ctype.h>

int main()
{
	char c = '9';
	int ret = isalnum(c);
	if (ret)
	{
		printf("是字母或者数字\n");
	}
	else
	{
		printf("不是字母或者数字\n");
	}
	printf("%d\n", ret);
	return 0;
}

结果:

1.9 ispunct

函数原型:

c 复制代码
int ispunct ( int c );

功能:检查字符是否为标点符号
参数c:传入的需要判断的字符;

返回类型:int

如果c是标点符号,则返回一个不为0的数,否则返回0。

示例:

c 复制代码
#include <stdio.h>
#include <ctype.h>

int main()
{
	char c = '=';
	int ret = ispunct(c);
	if (ret)
	{
		printf("是标点符号\n");
	}
	else
	{
		printf("不是标点符号\n");
	}
	printf("%d\n", ret);
	return 0;
}

结果:

1.10 isgraph

函数原型:

c 复制代码
int isgraph ( int c );

功能:检查字符是否为具有图形表示的字符

注:具有图形表示的字符是除空格字符 之外可以打印的所有字符
参数c:传入的需要判断的字符;

返回类型:int

如果c是具有图形表示的字符,则返回一个不为0的数,否则返回0。

1.11 isprint

函数原型:

c 复制代码
int isprint ( int c );

功能:检查字符是否为可打印字符

注:可打印字符是在显示器上占据打印位置的字符
参数c:传入的需要判断的字符;

返回类型:int

如果c是可打印字符,则返回一个不为0的数,否则返回0。
结语:C语言-- 字符函数 章节到这里就结束了。

本人才疏学浅,文章中有错误和有待改进的地方欢迎大家批评和指正,非常感谢您的阅读!如果本文对您又帮助,可以高抬贵手点点赞和关注哦!

相关推荐
收破烂的小熊猫~2 分钟前
《Java修仙传:从凡胎到码帝》第四章:设计模式破万法
java·开发语言·设计模式
nananaij33 分钟前
【Python进阶篇 面向对象程序设计(3) 继承】
开发语言·python·神经网络·pycharm
阿蒙Amon42 分钟前
为什么 12 版仍封神?《C# 高级编程》:从.NET 5 到实战架构,进阶者绕不开的必修课
开发语言·c#
无小道44 分钟前
c++-引用(包括完美转发,移动构造,万能引用)
c语言·开发语言·汇编·c++
爱莉希雅&&&1 小时前
技术面试题,HR面试题
开发语言·学习·面试
开开心心_Every2 小时前
便捷的Office批量转PDF工具
开发语言·人工智能·r语言·pdf·c#·音视频·symfony
FirstFrost --sy2 小时前
数据结构之二叉树
c语言·数据结构·c++·算法·链表·深度优先·广度优先
森焱森3 小时前
垂起固定翼无人机介绍
c语言·单片机·算法·架构·无人机
一瓣橙子3 小时前
7.7日 实验03-Spark批处理开发(2)
开发语言·javascript·ajax
liulilittle4 小时前
LinkedList 链表数据结构实现 (OPENPPP2)
开发语言·数据结构·c++·链表