字符分类函数(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

相关文章

PostgreSQL中rank()窗口函数实用指南与示例

《PostgreSQL中rank()窗口函数实用指南与示例》在数据分析和数据库管理中,经常需要对数据进行排名操作,PostgreSQL提供了强大的窗口函数rank(),可以方便地对结果集中的行进行排名... 目录一、rank()函数简介二、基础示例:部门内员工薪资排名示例数据排名查询三、高级应用示例1. 每

全面掌握 SQL 中的 DATEDIFF函数及用法最佳实践

《全面掌握SQL中的DATEDIFF函数及用法最佳实践》本文解析DATEDIFF在不同数据库中的差异,强调其边界计算原理,探讨应用场景及陷阱,推荐根据需求选择TIMESTAMPDIFF或inte... 目录1. 核心概念:DATEDIFF 究竟在计算什么?2. 主流数据库中的 DATEDIFF 实现2.1

深入理解Go语言中二维切片的使用

《深入理解Go语言中二维切片的使用》本文深入讲解了Go语言中二维切片的概念与应用,用于表示矩阵、表格等二维数据结构,文中通过示例代码介绍的非常详细,需要的朋友们下面随着小编来一起学习学习吧... 目录引言二维切片的基本概念定义创建二维切片二维切片的操作访问元素修改元素遍历二维切片二维切片的动态调整追加行动态

MySQL中的LENGTH()函数用法详解与实例分析

《MySQL中的LENGTH()函数用法详解与实例分析》MySQLLENGTH()函数用于计算字符串的字节长度,区别于CHAR_LENGTH()的字符长度,适用于多字节字符集(如UTF-8)的数据验证... 目录1. LENGTH()函数的基本语法2. LENGTH()函数的返回值2.1 示例1:计算字符串

Go语言中make和new的区别及说明

《Go语言中make和new的区别及说明》:本文主要介绍Go语言中make和new的区别及说明,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1 概述2 new 函数2.1 功能2.2 语法2.3 初始化案例3 make 函数3.1 功能3.2 语法3.3 初始化

MySQL 中的 CAST 函数详解及常见用法

《MySQL中的CAST函数详解及常见用法》CAST函数是MySQL中用于数据类型转换的重要函数,它允许你将一个值从一种数据类型转换为另一种数据类型,本文给大家介绍MySQL中的CAST... 目录mysql 中的 CAST 函数详解一、基本语法二、支持的数据类型三、常见用法示例1. 字符串转数字2. 数字

Python内置函数之classmethod函数使用详解

《Python内置函数之classmethod函数使用详解》:本文主要介绍Python内置函数之classmethod函数使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地... 目录1. 类方法定义与基本语法2. 类方法 vs 实例方法 vs 静态方法3. 核心特性与用法(1编程客

Python函数作用域示例详解

《Python函数作用域示例详解》本文介绍了Python中的LEGB作用域规则,详细解析了变量查找的四个层级,通过具体代码示例,展示了各层级的变量访问规则和特性,对python函数作用域相关知识感兴趣... 目录一、LEGB 规则二、作用域实例2.1 局部作用域(Local)2.2 闭包作用域(Enclos

MySQL count()聚合函数详解

《MySQLcount()聚合函数详解》MySQL中的COUNT()函数,它是SQL中最常用的聚合函数之一,用于计算表中符合特定条件的行数,本文给大家介绍MySQLcount()聚合函数,感兴趣的朋... 目录核心功能语法形式重要特性与行为如何选择使用哪种形式?总结深入剖析一下 mysql 中的 COUNT

Go语言中nil判断的注意事项(最新推荐)

《Go语言中nil判断的注意事项(最新推荐)》本文给大家介绍Go语言中nil判断的注意事项,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录1.接口变量的特殊行为2.nil的合法类型3.nil值的实用行为4.自定义类型与nil5.反射判断nil6.函数返回的