字符分类函数(iscntrl、i是space.....)---c语言

2024-03-17 18:44

本文主要是介绍字符分类函数(iscntrl、i是space.....)---c语言,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

  • 一、定义
  • 二、字符分类函数
    • 2.1 -iscntrl()
      • 2.1.1定义
      • 2.1.2使用举例
    • 2.2 -isspace()
      • 2.2.1描述
      • 2.2.2使用举例
    • 2.3-isdigit()
      • 2.3.1描述
      • 2.3.2使用举例
    • 2.4-isxdigit()
      • 2.4.1描述
    • 2.5-islower()
      • 2.5.1描述
      • 2.5.2使用举例
    • 2.6-isupper()
      • 2.6.1描述
      • 2.6.2使用举例
    • 2.7-isalpha()
      • 2.7.1描述
      • 2.7.2使用举例
    • 2.8-isalnum
      • 2.8.1描述
      • 2.8.2使用举例
    • 2.9-ispunct()
      • 2.9.1描述
      • 2.9.2使用举例
    • 2.10-isgraph()
      • 2.10.1描述
      • 2.10.2使用举例
    • 2.11-isprint()
      • 2.11.1描述
      • 2.11.2使用举例
  • 三、总结

一、定义

C语言中有⼀系列的函数是专门做字符分类的,也就是⼀个字符是属于什么类型的字符的。
在这里插入图片描述
需要包含的头文件<ctpy.h>
在这里插入图片描述

二、字符分类函数

2.1 -iscntrl()

2.1.1定义

iscntrl () 是 C语言的一个标准库函数,定义在 <ctype.h> 头文件中。 iscntrl () 函数用于检测给定的字符是否为控制字符。 所谓控制字符,指的是 ASCII 码值位于 0x00 (NOL)~0x1f (VS) 之间以及等于 0x7f 的字符。

2.1.2使用举例

#include <stdio.h>
#include <ctype.h>int main()
{int i = 0, j = 0;char str1[] = "all \a about \t programming";char str2[] = "Runoob \n tutorials";/* 输出字符串直到控制字符 \a */while (!iscntrl(str1[i])){putchar(str1[i]);i++;}/* 输出字符串直到控制字符 \n */while (!iscntrl(str2[j])){putchar(str2[j]);j++;}return(0);
}

在这里插入图片描述

2.2 -isspace()

2.2.1描述

C 库函数 int isspace(int c) 检查所传的字符是否是空白字符。
标准的空白字符包括:

' '     (0x20)    space (SPC) 空格符
'\t'    (0x09)    horizontal tab (TAB) 水平制表符    
'\n'    (0x0a)    newline (LF) 换行符
'\v'    (0x0b)    vertical tab (VT) 垂直制表符
'\f'    (0x0c)    feed (FF) 换页符
'\r'    (0x0d)    carriage return (CR) 回车符

2.2.2使用举例

#include <stdio.h>
#include <ctype.h>int main()
{int var1 = 't';int var2 = '1';int var3 = ' ';if( isspace(var1) ){printf("var1 = |%c| 是空白字符\n", var1 );}else{printf("var1 = |%c| 不是空白字符\n", var1 );}if( isspace(var2) ){printf("var2 = |%c| 是空白字符\n", var2 );}else{printf("var2 = |%c| 不是空白字符\n", var2 );}if( isspace(var3) ){printf("var3 = |%c| 是空白字符\n", var3 );}else{printf("var3 = |%c| 不是空白字符\n", var3 );}return(0);
}

在这里插入图片描述

2.3-isdigit()

2.3.1描述

C 库函数 int isdigit(int c) 检查所传的字符是否是十进制数字字符。
十进制数字是:0 1 2 3 4 5 6 7 8 9
声明:

int isdigit(int c);

返回值:
如果 c 是一个数字,则该函数返回非零值,否则返回 0。

2.3.2使用举例

#include <stdio.h>
#include <ctype.h>int main()
{int var1 = 'h';int var2 = '2';if( isdigit(var1) ){printf("var1 = |%c| 是一个数字\n", var1 );}else{printf("var1 = |%c| 不是一个数字\n", var1 );}if( isdigit(var2) ){printf("var2 = |%c| 是一个数字\n", var2 );}else{printf("var2 = |%c| 不是一个数字\n", var2 );}return(0);
}

在这里插入图片描述

2.4-isxdigit()

2.4.1描述

C 库函数 int isxdigit(int c) 检查所传的字符是否是十六进制数字。
int isxdigit(int c) 参数 c 是单个字符。
十六进制一般用数字 0 到 9 和字母 A 到 F(或 a~f)表示,其中 A~F 表示 10~15: 0 1 2 3 4 5 6 7 8 9 a b c d e f A B C D E F。
返回值:
如果 c 是一个十六进制数字,则该函数返回非零的整数值,否则返回 0。

#include <ctype.h>
#include <stdio.h>int main() {char c = '5';int result;// 传入字符result = isxdigit(c); // result 返回非 0printf("%c 传入到 isxdigit() 函数结果为: %d", c, isxdigit(c));printf("\n");  // 换行c = 'M';// 非十六进制数作为参数result = isxdigit(c); // result 为 0printf("%c 传入到 isxdigit() 函数结果为: %d", c, isxdigit(c));return 0;
}

在这里插入图片描述

2.5-islower()

2.5.1描述

C 库函数 int islower(int c) 检查所传的字符是否是小写字母.
返回值:
如果 c 是一个小写字母,则该函数返回非零值(true),否则返回 0(false)。

2.5.2使用举例

#include <stdio.h>
#include <ctype.h>int main()
{int var1 = 'Q';int var2 = 'q';int var3 = '3';if( islower(var1) ){printf("var1 = |%c| 是小写字母\n", var1 );}else{printf("var1 = |%c| 不是小写字母\n", var1 );}if( islower(var2) ){printf("var2 = |%c| 是小写字母\n", var2 );}else{printf("var2 = |%c| 不是小写字母\n", var2 );}if( islower(var3) ){printf("var3 = |%c| 是小写字母\n", var3 );}else{printf("var3 = |%c| 不是小写字母\n", var3 );}return(0);
}

在这里插入图片描述

2.6-isupper()

2.6.1描述

C 库函数 int isupper(int c) 检查所传的字符是否是大写字母。
返回值:
如果 c 是一个大写字母,则该函数返回非零值(true),否则返回 0(false)。

2.6.2使用举例

#include <stdio.h>
#include <ctype.h>int main()
{int var1 = 'M';int var2 = 'm';int var3 = '3';if( isupper(var1) ){printf("var1 = |%c| 是大写字母\n", var1 );}else{printf("var1 = |%c| 不是大写字母\n", var1 );}if( isupper(var2) ){printf("var2 = |%c| 是大写字母\n", var2 );}else{printf("var2 = |%c| 不是大写字母\n", var2 );}   if( isupper(var3) ){printf("var3 = |%c| 是大写字母\n", var3 );}else{printf("var3 = |%c| 不是大写字母\n", var3 );}return(0);
}

在这里插入图片描述

2.7-isalpha()

2.7.1描述

C 库函数 void isalpha(int c) 检查所传的字符是否是字母.
如果 c 是一个字母,则该函数返回非零值,否则返回 0。

2.7.2使用举例

#include <stdio.h>
#include <ctype.h>int main()
{int var1 = 'd';int var2 = '2';int var3 = '\t';int var4 = ' ';if( isalpha(var1) ){printf("var1 = |%c| 是一个字母\n", var1 );}else{printf("var1 = |%c| 不是一个字母\n", var1 );}if( isalpha(var2) ){printf("var2 = |%c| 是一个字母\n", var2 );}else{printf("var2 = |%c| 不是一个字母\n", var2 );}if( isalpha(var3) ){printf("var3 = |%c| 是一个字母\n", var3 );}else{printf("var3 = |%c| 不是一个字母\n", var3 );}if( isalpha(var4) ){printf("var4 = |%c| 是一个字母\n", var4 );}else{printf("var4 = |%c| 不是一个字母\n", var4 );}return(0);
}

在这里插入图片描述

2.8-isalnum

2.8.1描述

C 库函数 void isalnum(int c) 检查所传的字符是否是字母和数字。
返回值:
如果 c 是一个数字或一个字母,则该函数返回非零值,否则返回 0。

2.8.2使用举例

#include <stdio.h>
#include <ctype.h>int main()
{int var1 = 'd';int var2 = '2';int var3 = '\t';int var4 = ' ';if( isalnum(var1) ){printf("var1 = |%c| 是字母数字\n", var1 );}else{printf("var1 = |%c| 不是字母数字\n", var1 );}if( isalnum(var2) ){printf("var2 = |%c| 是字母数字\n", var2 );}else{printf("var2 = |%c| 不是字母数字\n", var2 );}if( isalnum(var3) ){printf("var3 = |%c| 是字母数字\n", var3 );}else{printf("var3 = |%c| 不是字母数字\n", var3 );}if( isalnum(var4) ){printf("var4 = |%c| 是字母数字\n", var4 );}else{printf("var4 = |%c| 不是字母数字\n", var4 );}return(0);
}

在这里插入图片描述

2.9-ispunct()

2.9.1描述

C 库函数 int ispunct(int c) 检查所传的字符是否是标点符号字符。标点符号字符可以是非字母数字(正如 isalnum 中的一样)的任意图形字符(正如 isgraph 中的一样)。
返回值:
C 库函数 int ispunct(int c) 检查所传的字符是否是标点符号字符。标点符号字符可以是非字母数字(正如 isalnum 中的一样)的任意图形字符(正如 isgraph 中的一样)。

2.9.2使用举例

#include <stdio.h>
#include <ctype.h>int main()
{int var1 = 't';int var2 = '1';int var3 = '/';int var4 = ' ';if( ispunct(var1) ){printf("var1 = |%c| 是标点符号字符\n", var1 );}else{printf("var1 = |%c| 不是标点符号字符\n", var1 );}if( ispunct(var2) ){printf("var2 = |%c| 是标点符号字符\n", var2 );}else{printf("var2 = |%c| 不是标点符号字符\n", var2 );}if( ispunct(var3) ){printf("var3 = |%c| 是标点符号字符\n", var3 );}else{printf("var3 = |%c| 不是标点符号字符\n", var3 );}if( ispunct(var4) ){printf("var4 = |%c| 是标点符号字符\n", var4 );}else{printf("var4 = |%c| 不是标点符号字符\n", var4 );}return(0);
}  

在这里插入图片描述

2.10-isgraph()

2.10.1描述

isgraph() 函数用来检测一个字符是否是图形字符。
具有图形表示的字符是已知的图形字符。
isgraph()检查字符是否为图形字符。如果传递给isgraph()的参数是图形字符,则它将返回非零整数。如果不是,则返回0。
isgraph()函数采用单个参数并返回整数。
当将字符作为参数传递时,将传递字符的相应ASCII值,而不是传递该字符本身。

2.10.2使用举例

#include <stdio.h>
#include <ctype.h>
int main()//打印所有图形字符
{int i;printf("C编程中的所有图形字符为: \n");for (i=0;i<=127;++i){if (isgraph(i)!=0)printf("%c ",i);}return 0;
}

在这里插入图片描述

2.11-isprint()

2.11.1描述

C 库函数 int isprint(int c) 检查所传的字符是否是可打印的。可打印字符是非控制字符的字符.
返回值:
如果 c 是一个可打印的字符,则该函数返回非零值(true),否则返回 0(false).

2.11.2使用举例

#include <stdio.h>
#include <ctype.h>int main()
{int var1 = 'k';int var2 = '8';int var3 = '\t';int var4 = ' ';if( isprint(var1) ){printf("var1 = |%c| 是可打印的\n", var1 );}else{printf("var1 = |%c| 是不可打印的\n", var1 );}if( isprint(var2) ){printf("var2 = |%c| 是可打印的\n", var2 );}else{printf("var2 = |%c| 是不可打印的\n", var2 );}if( isprint(var3) ){printf("var3 = |%c| 是可打印的\n", var3 );}else{printf("var3 = |%c| 是不可打印的\n", var3 );}if( isprint(var4) ){printf("var4 = |%c| 是可打印的\n", var4 );}else{printf("var4 = |%c| 是不可打印的\n", var4 );}return(0);
}   

在这里插入图片描述

三、总结

在这里插入图片描述
在这里插入图片描述
欧耶!!!我学会啦!!!!

这篇关于字符分类函数(iscntrl、i是space.....)---c语言的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/819806

相关文章

C语言中%zu的用法解读

《C语言中%zu的用法解读》size_t是无符号整数类型,用于表示对象大小或内存操作结果,%zu是C99标准中专为size_t设计的printf占位符,避免因类型不匹配导致错误,使用%u或%d可能引发... 目录size_t 类型与 %zu 占位符%zu 的用途替代占位符的风险兼容性说明其他相关占位符验证示

MySQL常用字符串函数示例和场景介绍

《MySQL常用字符串函数示例和场景介绍》MySQL提供了丰富的字符串函数帮助我们高效地对字符串进行处理、转换和分析,本文我将全面且深入地介绍MySQL常用的字符串函数,并结合具体示例和场景,帮你熟练... 目录一、字符串函数概述1.1 字符串函数的作用1.2 字符串函数分类二、字符串长度与统计函数2.1

python使用try函数详解

《python使用try函数详解》Pythontry语句用于异常处理,支持捕获特定/多种异常、else/final子句确保资源释放,结合with语句自动清理,可自定义异常及嵌套结构,灵活应对错误场景... 目录try 函数的基本语法捕获特定异常捕获多个异常使用 else 子句使用 finally 子句捕获所

C语言进阶(预处理命令详解)

《C语言进阶(预处理命令详解)》文章讲解了宏定义规范、头文件包含方式及条件编译应用,强调带参宏需加括号避免计算错误,头文件应声明函数原型以便主函数调用,条件编译通过宏定义控制代码编译,适用于测试与模块... 目录1.宏定义1.1不带参宏1.2带参宏2.头文件的包含2.1头文件中的内容2.2工程结构3.条件编

Go语言并发之通知退出机制的实现

《Go语言并发之通知退出机制的实现》本文主要介绍了Go语言并发之通知退出机制的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧... 目录1、通知退出机制1.1 进程/main函数退出1.2 通过channel退出1.3 通过cont

Go语言编译环境设置教程

《Go语言编译环境设置教程》Go语言支持高并发(goroutine)、自动垃圾回收,编译为跨平台二进制文件,云原生兼容且社区活跃,开发便捷,内置测试与vet工具辅助检测错误,依赖模块化管理,提升开发效... 目录Go语言优势下载 Go  配置编译环境配置 GOPROXYIDE 设置(VS Code)一些基本

postgresql使用UUID函数的方法

《postgresql使用UUID函数的方法》本文给大家介绍postgresql使用UUID函数的方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录PostgreSQL有两种生成uuid的方法。可以先通过sql查看是否已安装扩展函数,和可以安装的扩展函数

MySQL字符串常用函数详解

《MySQL字符串常用函数详解》本文给大家介绍MySQL字符串常用函数,本文结合实例代码给大家介绍的非常详细,对大家学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录mysql字符串常用函数一、获取二、大小写转换三、拼接四、截取五、比较、反转、替换六、去空白、填充MySQL字符串常用函数一、

C++中assign函数的使用

《C++中assign函数的使用》在C++标准模板库中,std::list等容器都提供了assign成员函数,它比操作符更灵活,支持多种初始化方式,下面就来介绍一下assign的用法,具有一定的参考价... 目录​1.assign的基本功能​​语法​2. 具体用法示例​​​(1) 填充n个相同值​​(2)

MySql基本查询之表的增删查改+聚合函数案例详解

《MySql基本查询之表的增删查改+聚合函数案例详解》本文详解SQL的CURD操作INSERT用于数据插入(单行/多行及冲突处理),SELECT实现数据检索(列选择、条件过滤、排序分页),UPDATE... 目录一、Create1.1 单行数据 + 全列插入1.2 多行数据 + 指定列插入1.3 插入否则更