字符分类函数

目录

一.iscntrl()函数

二.isspace()函数

三.isdigit()函数

四.isxdigit()函数

五.islower()函数

六.isupper()函数

七.isalpha函数

八.isalnum()函数

九.ispunct()函数

十.isgraph函数

十一.isprint()函数

ps:所有控制字符:

ps:所有图形字符:

ps:所有空白字符:


前言:本文介绍的函数都是属于头文件<ctype.h>

一.iscntrl()函数

成真条件:任何控制字符

举例说明**:**

cpp 复制代码
#include<stdio.h>
#include<type.h>
int main() {
	if (iscntrl('\n')) {
		printf("其是控制字符");
	}
	return 0;
}

结果:

二.isspace()函数

成真条件:空白字符:空格' ' ,换页:'\f' ,换行:'\n' ,回车:'\r' ,制表符'\t' 或者垂直制表符'\v'

举例说明**:**

cpp 复制代码
#include<ctype.h>
#include<stdio.h>
int main() {
	if (isspace(' ')) {
		printf("其是空白字符\n");
	}
	if (isspace('\n')) {
		printf("其是空白字符\n");
	}
	if (isspace('\f')) {
		printf("其是空白字符\n");
	}
	if (isspace('\r')) {
		printf("其是空白字符\n");
	}
	if (isspace('\v')) {
		printf("其是空白字符\n");
	}
	return 0;
}

结果:

三.isdigit()函数

成真条件:十进制数字'0'~'9' 字符(注意是字符)

举例说明:

cpp 复制代码
#include<stdio.h>
#include<type.h>
int main() {
	if (isdigit('0')) {
		printf("其是数字");
	}
	return 0;
}

结果:

四.isxdigit()函数

成真条件:十六进制数字所有十进制数字字符 ,(小写字母a~f ,大写字母A~F,'0''9'

举例说明:

cpp 复制代码
#include<ctype.h>
#include<stdio.h>
int main() {
	if (isxdigit('A')) {
		printf("其是十六进制数\n");
	}
	if (isxdigit('a')) {
		printf("其是十六进制数\n");
	}
	return 0;
}

结果:

五.islower()函数

成真条件:小写字母a~z

举例说明:

cpp 复制代码
#include<ctype.h>
#include<stdio.h>
int main() {
	if (islower('a')) {
		printf("其是小写字母\n");
	}
	if (islower('b')) {
		printf("其是小写字母\n");
	}
	return 0;
}

结果:

六.isupper()函数

成真条件:大写字母A~Z

举例说明:

cpp 复制代码
#include<ctype.h>
#include<stdio.h>
int main() {
	if (isupper('A')) {
		printf("其是大写字母\n");
	}
	if (isupper('B')) {
		printf("其是大写字母\n");
	}
	return 0;
}

结果:

七.isalpha函数

成真条件:字符a~z,A~F

举例说明:

cpp 复制代码
#include<ctype.h>
#include<stdio.h>
int main() {
	if (isalpha('a')) {
		printf("其是字母\n");
	}
	if (isalpha('A')) {
		printf("其是字母\n");
	}
	return 0;
}

结果:

八.isalnum()函数

成真条件:字母或者数字 ,a~z,A~Z,0~9

举例说明:

cpp 复制代码
#include<ctype.h>
#include<stdio.h>
int main() {
	if (isalnum('a')) {
		printf("真\n");
	}
	if (isalnum('A')) {
		printf("真\n");
	}
	if (isalnum('1')) {
		printf("真\n");
	}
	return 0;
}

结果:

九.ispunct()函数

成真条件:标点符号 ,任何不属于数字或者字母图形字符 (可打印 )(注意是要是英文版的,中文的不行)

举例说明:

cpp 复制代码
#include<ctype.h>
#include<stdio.h>
int main() {
	if (ispunct('!')) {
		printf("成真\n");
	}
	if (ispunct(',')) {
		printf("成真\n");
	}
	if (ispunct('.')) {
		printf("成真\n");
	}
	if (ispunct('@')) {
		printf("成真\n");
	}
	if (ispunct('#')) {
		printf("成真\n");
	}
	if (ispunct('%')) {
		printf("成真\n");
	}
	return 0;
}

结果:

十.isgraph函数

成真条件:任何图形字符(字母,字符数字,标点符号)

举例说明:

cpp 复制代码
#include<ctype.h>
#include<stdio.h>
int main() {
	if (isgraph('A')) {
		printf("其是图形字符\n");
	}
	if (isgraph('5')) {
		printf("其是图形字符\n");
	}
	if (isgraph('<')) {
		printf("其是图形字符\n");
	}
	return 0;
}

结果:

十一.isprint()函数

成真条件:任何可打印的字符 ,包括图形字符空白字符 (注意是可打印的哦,像\n这种是不可打印的哦)

举例说明:

cpp 复制代码
#include<ctype.h>
#include<stdio.h>
int main() {
	if (isprint(' ')) {
		printf("成真\n");
	}
	if (isprint('a')) {
		printf("成真\n");
	}
	if (isprint('a')) {
		printf("成真\n");
	}
	if (isprint('>')) {
		printf("成真\n");
	}
	if (isprint('\n')) {
		printf("成真\n");
	}
    else{
        printf("成假\n");
	return 0;
}

结果:

ps:所有控制字符:

|--------|-------------------------|
| 换行符 | \n |
| 水平制表符 | \t |
| 垂直制表符 | \v |
| 回车符 | \r |
| 退格符 | \b |
| 警告/响铃符 | \a |
| 换页符 | \f |
| 空字符 | \0 |
| 反斜杠 | \\ |
| 单引号 | \' |
| 双引号 | \" |
| 问号 | \? |
| 八进制数字 | \nnn |
| 十六进制数字 | \xhh |
| 通用字符名 | \uNNNN\UNNNNNNNN |

ps:所有图形字符:

  • 字母

    • 大写字母: A-Z (ASCII值 65-90)
    • 小写字母: a-z (ASCII值 97-122)
  • 数字

    • 数字字符: 0-9 (ASCII值 48-57)
  • 标点符号

    • 如:!, ", #, $, %, &, ', (, ), *, +, ,, -, ., /, :, ;, <, =, >, ?, @, [, \, ], ^, _, `````, {, |, }, ~
  • 特殊符号

    • 如:@, #, $, %, ^, &, *, (, ), _, +, {, }, |, :, " , <, >, ?, [, ], \, ;, ', ,, ., /, ~
  • 空格字符

    • 空格: (ASCII值 32)
    • 空格也是一个图形字符,但它在输出中不可见,只在字符流中占用空间。

ps:所有空白字符:

|-------|------|
| 空格 | (空格) |
| 水平制表符 | \t |
| 换行符 | \n |
| 回车符 | \r |
| 垂直制表符 | \v |
| 换页符 | \f |
| 空字符 | \0 |

相关推荐
SundayBear10 分钟前
嵌入式进阶:C语言内联汇编
c语言·开发语言·汇编
零千叶24 分钟前
【面试】Java JVM 调优面试手册
java·开发语言·jvm
liulilittle33 分钟前
VGW 虚拟路由器ARP剖析
开发语言·c++·编程语言·路由·sd·sdn·vgw
鸡吃丸子1 小时前
Next.js 入门指南
开发语言·javascript·next.js
wjs20241 小时前
《Foundation 滑块:界面设计的艺术与科学》
开发语言
William_cl2 小时前
【C# OOP 入门到精通】从基础概念到 MVC 实战(含 SOLID 原则与完整代码)
开发语言·c#·mvc
少许极端2 小时前
算法奇妙屋(七)-字符串操作
java·开发语言·数据结构·算法·字符串操作
懒羊羊不懒@2 小时前
Java基础语法—字面量、变量详解、存储数据原理
java·开发语言
小龙报3 小时前
《算法通关指南---C++编程篇(2)》
c语言·开发语言·数据结构·c++·程序人生·算法·学习方法
古一|3 小时前
Vue3中ref与reactive实战指南:使用场景与代码示例
开发语言·javascript·ecmascript