C语言ctype.h
本文已整合到C语言标准库深度解读
作为强类型语言,C语言自其诞生以来,就通过类型来为程序员们增加重重阻碍。为了避免各种麻烦,早在上古时期,C语言的程序员们就写了大量判别变量类型的代码段,这些代码段也很快就走进了C语言的标准库。
ctype
中共有11个鉴别字符类型的函数,这些函数的输入输出均为int
型,但又不完全是int
型。输入的int
是通过强转得到的;输出为0和1,即布尔型。
返回1的情况 | ASCII码位置 | 十六进制 | |
---|---|---|---|
isalnum | 字母和数字 | 48-57, 65-90, 97-122 | 30-39, 41-5A, 61-7A |
isalpha | 字母 | 65-90, 97-122 | 41-5A, 61-7A |
isupper | 大写字母 | 65-90 | 41-5A |
islower | 小写字母 | 97-122 | 61-7A |
iscntrl | 控制字符 | 0-31,127 | 00-1F, 7F |
isdigit | 十进制数字 | 48-57 | 30-39 |
isxdigit | 十六进制数字 | 48-57, 48-53, 97-102 | 30-39,41-46, 61-66 |
isgraph | 图形字符 | 33-126 | 21-7E |
isprint | 可打印 | 32-126 | 20-7E |
ispunct | 标点符号 |
33-47, 58-64 91-96, 123-126 |
21-2F, 3A-40 5B-60, 7B-7E |
isspace | 空白字符 | 9-13,32 | 09-0D, 20 |
这些函数之间可由下图表示
HT VT
此外,ctype
中还封装了两个大小写转换的函数:int tolower(int c)
和int toupper(int c)
,这两个函数很容易实现,只要看一下十六进制下的ASCII即可发现。
前32个字符为控制符
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | A | B | C | D | E | F | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | NUL | SOH | STX | ETX | EOT | ENQ | ACK | BEL | BS | HT | LF | VT | FF | CR | SO | SI |
1 | DLE | DC1 | DC2 | DC3 | DC4 | NAK | SYN | ETB | CAN | EM | SUB | ESC | FS | GS | RS | US |
32-126为可打印字符,其中20
为空格,即大小写字母正好差了0x20
。
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | A | B | C | D | E | F | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
2 | ! | " | # | $ | % | & | ’ | ( | ) | * | + | , | - | . | / | |
3 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | : | ; | < | = | > | ? |
4 | @ | A | B | C | D | E | F | G | H | I | J | K | L | M | N | O |
5 | P | Q | R | S | T | U | V | W | X | Y | Z | [ |
\
|
] | ^ | _ |
6 | ` | a | b | c | d | e | f | g | h | i | j | k | l | m | n | o |
7 | p | q | r | s | t | u | v | w | x | y | z | { | | | } | ~ | DEL |
C语言ctype.h相关推荐
- C语言ctype.h库
整理自:C语言入门经典 从别处整理而来,但是具体出处不知道了 ctype.h库中的所有函数以及其功能: int isalpha(int ch) 若是字符返回非0值,否则返回false int tol ...
- C语言再学习 -- ctype.h字符判断函数
参看:ctype.h 百度百科 ctype.h是C标准函数库中的头文件,定义了一批C语言字符分类函数(C character classification functions),用于测试字符是否属于特 ...
- C语言库文件ctype.h中重要的库函数
C Primer Plus第七章分支跳转章节中,提到了ctype.h头文件中的一些用于判断字符类型的库函数接口. isalnum() 字母数字 isalpha() 字母 isblank() 标准的空白 ...
- C语言 : 标准库 - <ctype.h>
简介 C 标准库的 ctype.h 头文件提供了一些函数,可用于测试和映射字符. 这些函数接受 int 作为参数,它的值必须是 EOF 或表示为一个无符号字符. 如果参数 c 满足描述的条件,则这些函 ...
- c语言isnumber函数用法,【C、C++】ctype.h、cctype中的isnumber()函数和isdigit()函数的区别...
isnumber()函数和isdigit()函数并无区别,查看函数定义发现也是相同的,可能有微小的区别, Mac OS X 手册页 上ctype函数中对isnumber()和isdigit()函数的区 ...
- 头文件 ctype.h 以及函数 isalpha() tolower()
ctype.h是C标准函数库中的头文件,定义了一批C语言字符分类函数(C character classification functions),用于测试字符是否属于特定的字符类别,如字母字符.控制字 ...
- c标准库头文件ctype.h详解
最近实践了一些编程,越来越感觉库函数的重要性.掌握越来越多的函数才会站在巨人的肩膀上思考问题,而不是自己去写代码去实现函数,自己又能写几个函数呢-- ctype.h是C标准函数库中的头文件,定义了一批 ...
- C标准库头文件—ctype.h
前言 定义了一批C语言字符分类函数(C character classification functions),用于测试字符是否属于特定的字符类别,如字母字符.控制字符等等.既支持单字节(Byte)字 ...
- 【ctype.h isdigit】
ctype.h isdigit isdigit是计算机C(C++)语言中的一个函数,主要用于检查其参数是否为十进制数字字符. 一. ···C语言: 函数定义:int isdigit(int c); 头 ...
- 《C Primer Plus》第七章--C控制语句:分支和跳转(if else switch continue break goto 逻辑运算符ctype.h)
文章目录 C控制语句:分支和跳转 本章内容 if语句 if else语句 另一个示例:介绍getchar()和putchar() ctype.h系列的字符函数 多重选择else if else与if配 ...
最新文章
- 怎么彻底删除电脑上的软件_你的电脑有救了:1 个神器几个进阶方法彻底删除流氓软件!...
- java多线程系类:基础篇:10生产者消费者的问题
- mysql 1146错误
- 1048 采药 1049 装箱问题
- 如何在ubuntu下安装合适的翻译词典
- linux的驱动开发——简单驱动程序编写
- 【JVM】GC Roots 根可达
- TOGAF9.2企业架构师考试小记
- 下载网页中的视频的两种方法
- “私域”和“会员制”有什么区别?
- 连接中国移动彩信网关发送彩信
- RS232_RS422_RS485简介
- k线形态python_Python量化分析之K线模式识别
- 和block循环引用说再见
- 【参赛作品66】快速搭建一套openGauss主备高可用集群
- 骞云再获阿里云产品生态集成认证,携手共建云原生管理新生态
- [jzoj5791]【NOIP2008模拟】阶乘 (数学)
- strcpy函数和strcat函数
- 键盘事件(onkeyup onkeydown)
- Mysql 慢日志查询小于1000ms显示0s问题排查
热门文章
- C语言图像分类算法,tuxiangfenleijulei 本算法基于C语言实现图像分类 - 下载 - 搜珍网...
- vue热敏打印机_如何在vue项目中调用打印机,打印指定区域
- 简信CRM:手机CRM软件的应用好处有哪些?
- codesys写文件到远程并在远程读取文件
- matlab整数规划分支计算,分支定界法求线性整数规划
- 微信加好友CALL地址 3.4.5.27
- android bluez 编译,[android源码分析]bluez起动过程中的各种plugin的初始化(一)-bluetooth_builtin数组所耍的花样...
- IDT oligo使用说明
- 腾讯随星播 v2.2.1 官方版​
- 2022年前端技术发展趋势