C语言之字符函数总结(全部!),一篇记住所有的字符函数

2024-06-08 22:20

本文主要是介绍C语言之字符函数总结(全部!),一篇记住所有的字符函数,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!


前言

        还在担心关于字符的库函数记不住吗?不用担心,这篇文章将为你全面整理所有的字符函数的用法。不用记忆,一次看完,随查随用。用多了自然就记住了


字符分类函数和字符转换函数

C语言中有一系列的函数是专门做字符分类和字符转换的,也就是一个字符是属于什么类型的字符的,以及将字符转换为大写或小写,这些函数的使用都需要包含⼀个头头件是<type.h>

字符分类函数:

函数函数判断为真返回非0值,否则返回0

isalnum

检查字符是否为字母或者数字

(如:'a'~'z','A'~'Z','0'~'9')

isalpha

检查字符是否为字母(如:'a'~'z','A'~'Z')
isblank检查字符是否为空格字符 ' ' 和水平制表符 '\t '这两种

iscntrl

检查字符是否为控制字符,指那些通常用于控制设备,不显示在屏幕上的字符

(如:ASCII码值在0x00~0x1F之间的字符,以及0x7F位置处的字符)

isdigit

检查字符是否为十进制数字(如:'0'~'9')

isgraph

检查字符是否具有图形表示(指的是所有可以打印出来的字符,

也就是非空白字符和其他不可打印字符)

islower

检查字符是否为小写字母

isprint

检查字符是否可打印

(ASCII范围通常为 (空格)32~126(~) 之间)

ispunct

检查字符是否为标点符号字符
isspace

检查字符是否为空白字符

(如: 空格' ',换页'\f',换行'\n',回车'\r',水平制表符'\t',垂直制表符'\v')

isupper

检查字符是否为大写字母

(如:'A'~'Z)

isxdigit

检查字符是否为十六进制数字

(如:'A'~'F')

 以上函数共性:

  1. 形参都为 int c,函数返回类型都为 int (注:字符也属于整形类),如下图

字符转换函数

tolower

将大写字母转换为小写字母并返回

如果传入字符非大写字母,返回原传入字符

toupper

将小写字母转换为大写字母并返回

如果传入字符非小写字母,返回原传入字符

例如 tolower 函数

接下来我将演示这些函数的用法:

1:isalnum 函数

#include <stdio.h>
#include <ctype.h>//检查字符是否为字母或者数字
//(如:'a'~'z','A'~'Z','0'~'9')
int main()
{if (isalnum('a'))printf("是小写字母\n");if (isalnum('8'))printf("是数字\n");if (isalnum('Z'))printf("是大写字母\n");return 0;
}

运行结果:


2:isalpha 函数

#include <stdio.h>
#include <ctype.h>//检查字符是否为字母(如:'a'~'z','A'~'Z')
int main()
{if (isalpha('a'))printf("是字母\n");if (isalpha('B'))printf("是字母\n");if (isalpha('2') == 0)printf("不是字母\n");return 0;
}

运行结果:


3:isblank 函数

#include <stdio.h>
#include <ctype.h>//检查字符是否为,空格字符 ' ' 和水平制表符 '\t '这两种
int main()
{if (isblank(' '))printf("空格字符\n");if (isblank('\t'))printf("水平制表符\n");if (isblank('\n') == 0)printf("不认识\n");return 0;
}

运行结果:


4:iscntrl 函数

#include <stdio.h>
#include <ctype.h>int main()
{//判断字符是否为ASCII码值在0x00~0x1F之间,以及0x7F位置处的控制类字符//例子较多,只示例3个if (iscntrl('\n'))printf("true\n");if (iscntrl('\r'))printf("true\n");if (iscntrl(0x1F))printf("true\n");return 0;
}

运行结果:


5:isdigit 函数

#include <stdio.h>
#include <ctype.h>//检查字符是否为十进制数字(如:'0'~'9')
int main()
{if (isdigit('1'))printf("true\n");if (isdigit('9'))printf("true\n");if (isdigit(2) == 0)printf("false\n");return 0;
}

运行结果:


6:isgraph 函数

#include <stdio.h>
#include <ctype.h>//检查字符是否具有图形表示(指的是所有可以打印出来的字符,
//也就是非空白字符和其他不可打印字符)
int main()
{int i = 0;//循环判断所有字符for (i = 0x0; i <= 0x7F; i++){if (isgraph('i'))printf("%c ", i);}return 0;
}

运行结果:


7:islower 函数

#include <stdio.h>
#include <ctype.h>//检查字符是否为小写字母
int main()
{int i = 0;for (i = 'a'; i <= 'z'; i++){if (islower(i)){printf("%c ", i);}}if (islower('A') == 0)printf("\nFalse");return 0;
}

运行结果:


8:isprint 函数

#include <stdio.h>
#include <ctype.h>//检查字符是否为可打印字符
int main()
{char c = 0;for (c = 32; c <= 126; c++){if (isprint(c)){printf("%c ", c);}}return 0;
}

运行结果:


9:ispunct 函数

#include <stdio.h>
#include <ctype.h>//检查字符是否为标点符号字符
int main()
{if (ispunct(','))printf("true\n");if (ispunct('.'))printf("true\n");if (ispunct('?'))printf("true\n");if (ispunct('a') == 0)printf("false\n");return 0;
}

运行结果:


10:isspace 函数

#include <stdio.h>
#include <ctype.h>//检查字符是否为空白字符
//(如: 空格' ',换页'\f',换行'\n',回车'\r',水平制表符'\t',垂直制表符'\v')
int main()
{if (isspace(' '))printf("true\n");if (isspace('\n'))printf("true\n");if (isspace('\t'))printf("true\n");if (isspace('\v'))printf("true\n");if (isspace('\f'))printf("true\n");if (isspace('\r'))printf("true\n");return 0;
}

运行结果:


11:isupper 函数

#include <stdio.h>
#include <ctype.h>//检查字符是否为大写字母
int main()
{int i = 0;for (i = 'A'; i <= 'Z'; i++){if (isupper(i)){printf("%c ", i);}}return 0;
}

运行结果:


12:isxdigit 函数

#include <stdio.h>
#include <ctype.h>//检查字符是否为16进制数字
int main()
{if (isxdigit('A'))printf("true\n");if (isxdigit('B'))printf("true\n");if (isxdigit('F'))printf("true\n");if (isxdigit('G') == 0)printf("false\n");return 0;
}

运行结果:


13:tolower 函数

#include <stdio.h>
#include <ctype.h>//将大写字母转换为小写字母并返回
int main()
{char c = 0;for (c = 'A'; c <= 'Z'; c++){printf("%c ", tolower(c));}printf("\n%c", tolower('A'));return 0;
}

运行结果:


14:toupper 函数

#include <stdio.h>
#include <ctype.h>//将小写字母转为大写字母并返回
int main()
{char c = 0;for (c = 'a'; c <= 'z'; c++){printf("%c ", toupper(c));}printf("\n%c", toupper('A'));return 0;
}

运行结果:


结语:

        一开始准备和字符串函数一起写,写到下面发现篇幅过长了,字符串函数放在下一篇来讲,最后感谢大家的支持。

这篇关于C语言之字符函数总结(全部!),一篇记住所有的字符函数的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

一篇文章彻底搞懂macOS如何决定java环境

《一篇文章彻底搞懂macOS如何决定java环境》MacOS作为一个功能强大的操作系统,为开发者提供了丰富的开发工具和框架,下面:本文主要介绍macOS如何决定java环境的相关资料,文中通过代码... 目录方法一:使用 which命令方法二:使用 Java_home工具(Apple 官方推荐)那问题来了,

从基础到高级详解Go语言中错误处理的实践指南

《从基础到高级详解Go语言中错误处理的实践指南》Go语言采用了一种独特而明确的错误处理哲学,与其他主流编程语言形成鲜明对比,本文将为大家详细介绍Go语言中错误处理详细方法,希望对大家有所帮助... 目录1 Go 错误处理哲学与核心机制1.1 错误接口设计1.2 错误与异常的区别2 错误创建与检查2.1 基础

Python函数作用域与闭包举例深度解析

《Python函数作用域与闭包举例深度解析》Python函数的作用域规则和闭包是编程中的关键概念,它们决定了变量的访问和生命周期,:本文主要介绍Python函数作用域与闭包的相关资料,文中通过代码... 目录1. 基础作用域访问示例1:访问全局变量示例2:访问外层函数变量2. 闭包基础示例3:简单闭包示例4

Python版本与package版本兼容性检查方法总结

《Python版本与package版本兼容性检查方法总结》:本文主要介绍Python版本与package版本兼容性检查方法的相关资料,文中提供四种检查方法,分别是pip查询、conda管理、PyP... 目录引言为什么会出现兼容性问题方法一:用 pip 官方命令查询可用版本方法二:conda 管理包环境方法

pycharm跑python项目易出错的问题总结

《pycharm跑python项目易出错的问题总结》:本文主要介绍pycharm跑python项目易出错问题的相关资料,当你在PyCharm中运行Python程序时遇到报错,可以按照以下步骤进行排... 1. 一定不要在pycharm终端里面创建环境安装别人的项目子模块等,有可能出现的问题就是你不报错都安装

Python中isinstance()函数原理解释及详细用法示例

《Python中isinstance()函数原理解释及详细用法示例》isinstance()是Python内置的一个非常有用的函数,用于检查一个对象是否属于指定的类型或类型元组中的某一个类型,它是Py... 目录python中isinstance()函数原理解释及详细用法指南一、isinstance()函数

python中的高阶函数示例详解

《python中的高阶函数示例详解》在Python中,高阶函数是指接受函数作为参数或返回函数作为结果的函数,下面:本文主要介绍python中高阶函数的相关资料,文中通过代码介绍的非常详细,需要的朋... 目录1.定义2.map函数3.filter函数4.reduce函数5.sorted函数6.自定义高阶函数

Go语言中json操作的实现

《Go语言中json操作的实现》本文主要介绍了Go语言中的json操作的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧... 目录 一、jsOChina编程N 与 Go 类型对应关系️ 二、基本操作:编码与解码 三、结构体标签(Struc

Python中的sort方法、sorted函数与lambda表达式及用法详解

《Python中的sort方法、sorted函数与lambda表达式及用法详解》文章对比了Python中list.sort()与sorted()函数的区别,指出sort()原地排序返回None,sor... 目录1. sort()方法1.1 sort()方法1.2 基本语法和参数A. reverse参数B.

python语言中的常用容器(集合)示例详解

《python语言中的常用容器(集合)示例详解》Python集合是一种无序且不重复的数据容器,它可以存储任意类型的对象,包括数字、字符串、元组等,下面:本文主要介绍python语言中常用容器(集合... 目录1.核心内置容器1. 列表2. 元组3. 集合4. 冻结集合5. 字典2.collections模块