前往小程序,Get更优阅读体验!
立即前往
发布
社区首页 >专栏 >C语言进阶(九) - 字符与字符串函数 - 5 - 字符函数

C语言进阶(九) - 字符与字符串函数 - 5 - 字符函数

作者头像
怠惰的未禾
发布2023-04-27 21:15:39
发布2023-04-27 21:15:39
46800
代码可运行
举报
文章被收录于专栏:Linux之越战越勇Linux之越战越勇
运行总次数:0
代码可运行

前言

处理字符有着许多的字符函数供我们使用,熟悉这些字符函数可以帮助我们快速解决一些小问题。

1. isdigit()函数 - 10进制数字

1.1 介绍

int isdigit(int c);

头文件<ctype.h>

点击转到cpluscplus.com官网 - isdigit

如果c是一个十进制数字,返回非0,否则返回0; 十进制数字可以是:0 1 2 3 4 5 6 7 8 9

1.2 例子

传入的是字符

代码语言:javascript
代码运行次数:0
复制
#include <stdio.h>
#include <ctype.h>

int main() {
	char c = 0;
	scanf("%c", &c);
	if (isdigit(c)) {
		printf("是十进制数字\n");
	}
	else {
		printf("不是十进制数字\n");
	}
	return 0;
}

运行结果:

传入的是整数

代码语言:javascript
代码运行次数:0
复制
#include <stdio.h>
#include <ctype.h>

int main() {
	int c = 0;
	scanf("%d", &c);
	if (isdigit(c)) {
		printf("是十进制数字\n");
	}
	else {
		printf("不是十进制数字\n");
	}
	return 0;
}

运行结果:


2. isxdigit -16进制数字

2.1 介绍

int isxdigit(int c);

头文件<ctype.h>

点击转到cpluscplus.com官网 - isxdigit

如果是16进制数字,返回非0,否则返回0; 16进制数可以是:0 1 2 3 4 5 6 7 8 9 a b c de f a b c de f

2.2 例子

传入函数的应是十进制数字对应的字符,而不是真的十进制数字

代码语言:javascript
代码运行次数:0
复制
#include <stdio.h>
#include <ctype.h>

int main() {
	char c = 0;
	scanf("%c", &c);
	if (isxdigit(c)) {
		printf("是十进制数字\n");
	}
	else {
		printf("不是十进制数字\n");
	}
	return 0;
}
代码语言:javascript
代码运行次数:0
复制
#include <stdio.h>
#include <ctype.h>

int main() {
	int c = 0;
	scanf("%d", &c);
	if (isxdigit(c)) {
		printf("是十进制数字\n");
	}
	else {
		printf("不是十进制数字\n");
	}
	return 0;
}

3. islower()函数 - 小写字母

3.1 介绍

int islower(int c);

头文件<ctype.h>

点击转到cpluscplus.com官网 - islower

如果c是小写字母,返回非0,否则返回0; 请注意,字母的定义可能取决于所使用的语言环境;在默认的“C”地区,小写字母是以下任何一个:a b c d e f g h i j k l m n o p q r s t u v w x y z。

3.2 例子

代码语言:javascript
代码运行次数:0
复制
#include <stdio.h>
#include <ctype.h>

int main() {
	char c = 0;
	scanf("%c", &c);
	if (islower(c)) {
		printf("是小写字母\n");
	}
	else {
		printf("不是小写字母\n");
	}
	return 0;
}

4. isupper()函数 - 大写字母

4.1 介绍

int isupper(int c);

头文件<ctype.h>

点击转到cpluscplus.com官网 - isupper

如果是c大写字母,返回非0,否则返回0; 请注意,字母的定义可能取决于所使用的语言环境;在默认的“C”区域设置中,大写字母可以是:A B C D E F G H I J K L M N O P Q R S T U V W X Y Z。

4.2 例子

代码语言:javascript
代码运行次数:0
复制
#include <stdio.h>
#include <ctype.h>

int main() {
	char c = 0;
	scanf("%c", &c);
	if (isupper(c)) {
		printf("是大写字母\n");
	}
	else {
		printf("不是大写字母\n");
	}
	return 0;
}

5. isalpha()函数 - 字母

5.1 介绍

int isalpha(int c);

头文件<ctype.h>

如果c是字母,返回非0,否则返回0;

5.2 例子

代码语言:javascript
代码运行次数:0
复制
#include <stdio.h>
#include <ctype.h>

int main() {
	char c = 0;
	scanf("%c", &c);
	if (isalpha(c)) {
		printf("是字母\n");
	}
	else {
		printf("不是字母\n");
	}
	return 0;
}

7. tolower()函数 - 大写字母转为小写字母

7.1 介绍

int tolower(int c);

头文件<ctype.h>

如果c是一个大写字母并且有一个小写等价物,则将c转换为其小写等价物,否则返回它本身。

7.2 例子

代码语言:javascript
代码运行次数:0
复制
#include <stdio.h>
#include <ctype.h>

int main() {
	char c = 0;
	scanf("%c", &c);

	c = tolower(c);
	printf("%c", c);

	return 0;
}

8. toupper()函数 - 小写字母转大写字母

8.1 介绍

int toupper(int c);

头文件<ctype.h>

如果c是一个小写字母且有一个大写等价物,则将c转换为其大写等价物,否则返回它本身。

8.2 例子

代码语言:javascript
代码运行次数:0
复制
#include <stdio.h>
#include <ctype.h>

int main() {
	char c = 0;
	scanf("%c", &c);

	c = toupper(c);
	printf("%c", c);

	return 0;
}

9. isalnum()函数 - 字母或十进制数字

9.1 介绍

int isalnum(int c);

头文件<ctype.h>

如果c是字母或十进制数字,返回非0,否则返回0;

9.2 例子

代码语言:javascript
代码运行次数:0
复制
#include <stdio.h>
#include <ctype.h>

int main() {
	char c = 0;
	scanf("%c", &c);
	if (isalnum(c)) {
		printf("是字母或十进制数字\n");
	}
	else {
		printf("不是字母且不是十进制数字\n");
	}
	return 0;
}

10. iscntrl()函数 - 控制字符

10.1 介绍

int iscntrl(int c);

头文件<ctype.h>

点击转到cpluscplus.com官网 - iscntrl

参数int c是整型,因为字符是以ASCII码值的形式存放的,属于整型家族。 控制字符(Control Character),出现于特定的信息文本中,表示某一控制功能的字符。是不可打印字符。 如果c是控制字符就返回非0,否则返回0

10.2 例子

代码语言:javascript
代码运行次数:0
复制
#include <stdio.h>
#include <ctype.h>

int main() {
	char c = 0x7f;
	//scanf("%c", &c);
	if (iscntrl(c)) {
		printf("是控制字符\n");
	}
	else {
		printf("不是控制字符\n");
	}
	return 0;
}

11. isprint()函数 - 可打印字符

11.1 介绍

int isprint(int c);

头文件<ctype.h>

点击跳转到cpluscplus.com官网 - isprint

任何可打印字符,包括图形字符和空白字符。 如果c是可打印字符就返回非0,否则返回0

11.2 例子

代码语言:javascript
代码运行次数:0
复制
#include <stdio.h>
#include <ctype.h>

int main() {
	char c = 0;
	scanf("%c", &c);
	if (isprint(c)) {
		printf("是可打印字符\n");
	}
	else {
		printf("不是可打印字符\n");
	}
	return 0;
}

12. isgraph()函数 - 图形字符

12.1 介绍

int isgraph(int c);

头文件<ctype.h>

判断c是否是图形字符,若是就返回非0,否则返回0; 图形字符就是除了除了空格字符' '外的所有可打印字符。

12.2 例子

代码语言:javascript
代码运行次数:0
复制
#include <stdio.h>
#include <ctype.h>

int main() {
	char c = 0;
	scanf("%c", &c);
	if (isgraph(c)) {
		printf("是图形字符\n");
	}
	else {
		printf("不是图形字符\n");
	}
	return 0;
}

13. isspace()函数 - 空白字符

13.1介绍

int isspace(int c);

头文件<ctype.h>

如果c是空白字符,返回非0,否则返回0; 空白字符如上图。

13.2 例子

代码语言:javascript
代码运行次数:0
复制
#include <stdio.h>
#include <ctype.h>

int main() {
	char c = 0;
	scanf("%c", &c);
	if (isspace(c)) {
		printf("是空白字符\n");
	}
	else {
		printf("不是空白字符\n");
	}
	return 0;
}

14. ispunct()函数 - 标点符号

14.1 介绍

int ispunct(int c);

头文件<ctype.h>

如果c是标点符号,返回非0,否则返回0; 标准的"C"区域设置将标点字符视为非字母数字字符(如isgraph)的所有图形字符(如isalnum)。

14.2 例子

代码语言:javascript
代码运行次数:0
复制
#include <stdio.h>
#include <ctype.h>

int main() {
	char c = 0;
	scanf("%c", &c);
	if (ispunct(c)) {
		printf("是标点符号\n");
	}
	else {
		printf("不是标点符号\n");
	}
	return 0;
}

结语

了解常用的字符处理函数有助于筑基!


END

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-07-09,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • 1. isdigit()函数 - 10进制数字
    • 1.1 介绍
    • 1.2 例子
  • 2. isxdigit -16进制数字
    • 2.1 介绍
    • 2.2 例子
  • 3. islower()函数 - 小写字母
    • 3.1 介绍
    • 3.2 例子
  • 4. isupper()函数 - 大写字母
    • 4.1 介绍
    • 4.2 例子
  • 5. isalpha()函数 - 字母
  • 5.1 介绍
    • 5.2 例子
  • 7. tolower()函数 - 大写字母转为小写字母
    • 7.1 介绍
    • 7.2 例子
  • 8. toupper()函数 - 小写字母转大写字母
    • 8.1 介绍
    • 8.2 例子
  • 9. isalnum()函数 - 字母或十进制数字
    • 9.1 介绍
    • 9.2 例子
  • 10. iscntrl()函数 - 控制字符
    • 10.1 介绍
    • 10.2 例子
  • 11. isprint()函数 - 可打印字符
    • 11.1 介绍
    • 11.2 例子
  • 12. isgraph()函数 - 图形字符
    • 12.1 介绍
    • 12.2 例子
  • 13. isspace()函数 - 空白字符
    • 13.1介绍
    • 13.2 例子
  • 14. ispunct()函数 - 标点符号
    • 14.1 介绍
    • 14.2 例子
  • 结语
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档