当前位置: 首页 > news >正文

C语言--字符函数

C语言--字符函数

  • 一、字符函数
    • 1.1 iscntrl
    • 1.2 isspace
    • 1.3 isdigit
    • 1.4 isxdigit
    • 1.5 islower
    • 1.6 isupper
    • 1.7 isalpha
    • 1.8 isalnum
    • 1.9 ispunct
    • 1.10 isgraph
    • 1.11 isprint

在编程的过程中,我们会经常处理字符,为了方便操作,C语言标准库中提供了一系列库函数来便于操作和处理,下面我们就来学习一下。

一、字符函数

首先要记得使用所有的字符函数都要包含头文件#include <ctype.h>

在这里插入图片描述

下面我们来逐个学习:

1.1 iscntrl

函数原型:

int iscntrl ( int c );

功能:检查字符是否为控制字符;
注:控制字符是不在显示器上占据打印位置的字符,控制字符包括ASCII码表中值为0 ~ 31和127的字符。

参数c:传入的需要判断的字符;
返回类型:int
如果c是控制字符,则返回一个不为0的值;
如果c不是控制字符,则返回0

示例:
'\n'是换行符,也是控制字符,在ASCII码表中的值为10。

#include <stdio.h>
#include <ctype.h>
int main()
{int ret = iscntrl('\n');if (ret){printf("%d\n", ret);printf("是控制字符\n");}else{printf("不是控制字符\n");}return 0;
}

结果:
在这里插入图片描述

还可以通过字符在ASCII码表中所对应的值来判断

#include <stdio.h>
#include <ctype.h>
int main()
{int c = 31;int ret = iscntrl(c);if (ret){printf("%d\n", ret);printf("是控制字符\n");}else{printf("不是控制字符\n");}return 0;
}

1.2 isspace

函数原型:

int isspace ( int c );

功能:检查字符是否为空白字符;
注:空白字符主要包括以下几种:
' ' : 空格
'\t' :水平制表符
'\v' :垂直制表符
'\n' :换行符
'\f' :换页符
'\r' :回车

参数c:传入的需要判断的字符;
返回类型:int
如果c是空白字符,则返回一个不为0的数,否则返回0。

示例:

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

结果:
在这里插入图片描述

1.3 isdigit

函数原型:

int isdigit ( int c );

功能:检查字符是否为十进制数字(0 ~ 9之间);
注:在ASCII码表中字符0 ~ 9的值分别对应48 ~ 57;

参数c:传入的需要判断的字符;
返回类型:int
如果c是十进制数字,则返回一个不为0的数,否则返回0。

示例:

#include <stdio.h>
#include <ctype.h>int main()
{char num = '2';//int num = 50; '2'对应ASCII码表中的值是50int ret = isdigit(num);if (ret){printf("%d\n", ret);printf("是十进制数字\n");}else{printf("不是十进制数字\n");}return 0;
}

结果:
在这里插入图片描述

1.4 isxdigit

函数原型

int isxdigit ( int c );

功能:检查字符是否为16进制数字
注:16进制数字包括:0 ~ 9 ,a ~ f, A ~ F

参数c:传入的需要判断的字符;
返回类型:int
如果c是十六进制数字,则返回一个不为0的数,否则返回0。

示例:

#include <stdio.h>
#include <ctype.h>int main()
{char c = 'f';int ret = isxdigit(c);if (ret){printf("%d\n", ret);printf("是十六进制数字\n");}else{printf("不是十六进制数字\n");}return 0;
}

结果:
在这里插入图片描述

1.5 islower

函数原型

int islower ( int c );

功能:检查字符是否为小写字母

参数c:传入的需要判断的字符;
返回类型:int
如果c是小写字母,则返回一个不为0的数,否则返回0。

示例:

#include <stdio.h>
#include <ctype.h>int main()
{char c = 'm';int ret = islower(c);if (ret){printf("是小写字母\n");}else{printf("不是小写字母\n");}printf("%d\n", ret);return 0;
}

结果:
在这里插入图片描述

1.6 isupper

函数原型:

int isupper ( int c );

功能:检查字符是否为大写字母

参数c:传入的需要判断的字符;
返回类型:int
如果c是大写字母,则返回一个不为0的数,否则返回0。

示例:

#include <stdio.h>
#include <ctype.h>int main()
{char c = 'A';int ret = isupper(c);if (ret){printf("是大写字母\n");}else{printf("不是大写字母\n");}printf("%d\n", ret);return 0;
}

结果:
在这里插入图片描述

1.7 isalpha

函数原型:

int isalpha ( int c );

功能:检查字符是否为字母

参数c:传入的需要判断的字符;
返回类型:int
如果c是字母,则返回一个不为0的数,否则返回0。

示例:

#include <stdio.h>
#include <ctype.h>int main()
{char c = 'h';int ret = isalpha(c);if (ret){printf("是字母\n");}else{printf("不是字母\n");}printf("%d\n", ret);return 0;
}

结果:
在这里插入图片描述

1.8 isalnum

函数原型:

int isalnum ( int c );

功能:检查字符是否为字母或者数字(a ~ z, A ~ Z, 0 ~ 9)

参数c:传入的需要判断的字符;
返回类型:int
如果c是字母或者数字,则返回一个不为0的数,否则返回0。

示例:

#include <stdio.h>
#include <ctype.h>int main()
{char c = '9';int ret = isalnum(c);if (ret){printf("是字母或者数字\n");}else{printf("不是字母或者数字\n");}printf("%d\n", ret);return 0;
}

结果:
在这里插入图片描述

1.9 ispunct

函数原型:

int ispunct ( int c );

功能:检查字符是否为标点符号

参数c:传入的需要判断的字符;
返回类型:int
如果c是标点符号,则返回一个不为0的数,否则返回0。

示例:

#include <stdio.h>
#include <ctype.h>int main()
{char c = '=';int ret = ispunct(c);if (ret){printf("是标点符号\n");}else{printf("不是标点符号\n");}printf("%d\n", ret);return 0;
}

结果:
在这里插入图片描述

1.10 isgraph

函数原型:

int isgraph ( int c );

功能:检查字符是否为具有图形表示的字符
注:具有图形表示的字符是除空格字符 之外可以打印的所有字符

参数c:传入的需要判断的字符;
返回类型:int
如果c是具有图形表示的字符,则返回一个不为0的数,否则返回0。

1.11 isprint

函数原型:

int isprint ( int c );

功能:检查字符是否为可打印字符
注:可打印字符是在显示器上占据打印位置的字符

参数c:传入的需要判断的字符;
返回类型:int
如果c是可打印字符,则返回一个不为0的数,否则返回0。

结语:C语言-- 字符函数 章节到这里就结束了。
本人才疏学浅,文章中有错误和有待改进的地方欢迎大家批评和指正,非常感谢您的阅读!如果本文对您又帮助,可以高抬贵手点点赞和关注哦!

在这里插入图片描述

相关文章:

  • 前端面试每日三题 - Day 27
  • 【“星睿O6”评测】Armv9.2a、KLEIDIAI及vulkan加速llamacpp部署本地AI
  • 数据清洗-电商双11美妆数据分析(二)
  • Java UUID生成如何保证唯一性?深入解析与最佳实践
  • C语言| 递归求两个数的最大公约数
  • Consumer Group的作用是什么?Rebalance的触发条件有哪些? (实现消费者负载均衡;消费者加入/离开、订阅Topic变化等)
  • 【Java ee 初阶】多线程(8)
  • Ubuntu日志文件清空的三种方式
  • 嵌入式通信协议总览篇:万物互联的基石
  • 滚动条样式
  • Ubuntu 配置网络接口端点(静态 IP 地址)详细教程
  • 紫光同创FPGA实现HSSTHP光口视频传输+图像缩放,基于Aurora 8b/10b编解码架构,提供3套PDS工程源码和技术支持
  • 如何有效防御服务器DDoS攻击
  • Tiny Machine Learning在人类行为分析中的全面综述
  • spring4.x详解介绍
  • 力扣热题100之反转链表
  • vue3 element-plus 输入框回车跳转页面问题处理
  • 《Python星球日记》 第43天:机器学习概述与Scikit-learn入门
  • 协方差与皮尔逊相关系数:从定义到应用的全面解析
  • Coze平台 搭建「AI美食视频制作工作流」的详细实现方案
  • 家电维修担心遇“李鬼”?上海推动“物业+专业服务”进社区
  • 巴基斯坦外长:印巴已同意立即停火
  • 被取消总统候选人资格,金文洙:将采取政治法律措施讨回公道
  • 上海“电子支付费率成本为0”背后:金融服务不仅“快”和“省”,更有“稳”和“准”
  • 国家税务总局泰安市税务局:山东泰山啤酒公司欠税超536万元
  • 范志毅跨界归来做青训,探索中国足球人才培养新模式