字符分类函数

目录

一.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 |

相关推荐
忆源2 小时前
【Qt】之音视频编程1:QtAV的背景和安装篇
开发语言·qt·音视频
敲键盘的小夜猫2 小时前
Python核心数据类型全解析:字符串、列表、元组、字典与集合
开发语言·python
李匠20242 小时前
C++GO语言微服务之图片、短信验证码生成及存储
开发语言·c++·微服务·golang
czy87874754 小时前
C语言主要标准版本的演进与核心区别的对比分析
c语言
巨龙之路5 小时前
C语言中的assert
c语言·开发语言
2301_776681656 小时前
【用「概率思维」重新理解生活】
开发语言·人工智能·自然语言处理
熊大如如6 小时前
Java 反射
java·开发语言
ll7788117 小时前
C++学习之路,从0到精通的征途:继承
开发语言·数据结构·c++·学习·算法
我不想当小卡拉米7 小时前
【Linux】操作系统入门:冯诺依曼体系结构
linux·开发语言·网络·c++
teacher伟大光荣且正确7 小时前
Qt Creator 配置 Android 编译环境
android·开发语言·qt