【C语言】#include<ctype.h>

本文详细介绍了C语言标准库ctype.h中的字符分类函数(如isalnum,isalpha等)和字符转换函数(tolower,toupper),以及它们在ASCII字符集上的应用实例。


在这里插入图片描述
这个头文件声明了一组函数,用于对 单个字符进行分类和转换

ctype.h中库函数的功能

这些函数以一个字符的int(整数)等价作为参数,并返回一个int(整数),可以是另一个字符或表示布尔值的值:整数值为0表示false,不为0的整数值表示true

有两组函数:

1.字符分类函数:

它们检查传递的字符参数是否属于某个特定类别

  • isalnum(int c):检查字符c是否是字母数字字符。如果c是一个字母(大写或小写)或一个十进制数字(0-9),则返回非零值;否则返回0。
  • isalpha(int c):检查字符c是否是字母字符。如果c是一个字母(大写或小写),则返回非零值;否则返回0。
  • isblank(int c):检查字符c是否为空白字符。如果c是空格或制表符,则返回非零值;否则返回0。
  • iscntrl(int c):检查字符c是否是控制字符。如果c是一个控制字符(ASCII码0-31或127),则返回非零值;否则返回0。
  • isdigit(int c):检查字符c是否是十进制数字字符。如果c是一个数字(0-9),则返回非零值;否则返回0。
  • isgraph(int c):检查字符c是否有图形表示。如果c是可打印字符,并且不是空格,则返回非零值;否则返回0。
  • islower(int c):检查字符c是否是小写字母。如果c是一个小写字母,则返回非零值;否则返回0。
  • isprint(int c):检查字符c是否是可打印字符。如果c是可打印字符(包括空格),则返回非零值;否则返回0。
  • ispunct(int c):检查字符c是否是标点符号字符。如果c是标点符号字符(不是字母、数字或空格),则返回非零值;否则返回0。
  • isspace(int c):检查字符c是否是空白字符。如果c是空格、制表符、换行符、回车符、换页符或垂直制表符中的任何一个,则返回非零值;否则返回0。
  • isupper(int c):检查字符c是否是大写字母。如果c是一个大写字母,则返回非零值;否则返回0。
  • isxdigit(int c):检查字符c是否是十六进制数字字符。如果c是一个十六进制数字(0-9、A-F或a-f),则返回非零值;否则返回0。

对于由上所述的库函数:以下是每个函数如何判断原始的127个字符ASCII集合的映射表x表示该函数在该字符上返回true

在这里插入图片描述

举例

#include <stdio.h>
#include <ctype.h>
int main ()
{
  int i;
  char str[]="c3po...";
  i=0;
  while (isalnum(str[i])) i++;
  printf ("The first %d characters are alphanumeric.\n",i);
  return 0;
}

在这里插入图片描述

2.字符转换函数

  • tolower(int c):函数的功能是将大写字母转换为小写字母,其参数为一个表示待转换的字符的整数值(int)。函数返回对应的小写字母。
  • toupper(int c):函数的功能是将小写字母转换为大写字母,其参数也为一个表示待转换的字符的整数值(int)。函数返回对应的大写字母。

举例

#include <stdio.h>
#include <ctype.h>
int main ()
{
  int i=0;
  char str[]="Test String.\n";
  char c;
  while (str[i])
  {
    c=str[i];
    putchar (tolower(c));
    i++;
  }
  return 0;
}

在这里插入图片描述

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Q_hd

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值