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

目录

  • 前言
  • 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 例子
  • 结语

前言

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

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

1.1 介绍

int isdigit(int c);

头文件

C语言进阶(九) - 字符与字符串函数 - 5 - 字符函数_第1张图片
点击转到cpluscplus.com官网 - isdigit

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

1.2 例子

传入的是字符

#include 
#include 

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

运行结果:
C语言进阶(九) - 字符与字符串函数 - 5 - 字符函数_第2张图片

传入的是整数

#include 
#include 

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

运行结果:
C语言进阶(九) - 字符与字符串函数 - 5 - 字符函数_第3张图片


2. isxdigit -16进制数字

2.1 介绍

int isxdigit(int c);

头文件

C语言进阶(九) - 字符与字符串函数 - 5 - 字符函数_第4张图片
点击转到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 例子

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

#include 
#include 

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

C语言进阶(九) - 字符与字符串函数 - 5 - 字符函数_第5张图片

#include 
#include 

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

C语言进阶(九) - 字符与字符串函数 - 5 - 字符函数_第6张图片


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

3.1 介绍

int islower(int c);

头文件

C语言进阶(九) - 字符与字符串函数 - 5 - 字符函数_第7张图片
点击转到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 例子

#include 
#include 

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);

头文件

C语言进阶(九) - 字符与字符串函数 - 5 - 字符函数_第8张图片
点击转到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 例子

#include 
#include 

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);

头文件

C语言进阶(九) - 字符与字符串函数 - 5 - 字符函数_第9张图片

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

5.2 例子

#include 
#include 

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);

头文件

C语言进阶(九) - 字符与字符串函数 - 5 - 字符函数_第10张图片

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

7.2 例子

#include 
#include 

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

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

	return 0;
}

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

8.1 介绍

int toupper(int c);

头文件

C语言进阶(九) - 字符与字符串函数 - 5 - 字符函数_第11张图片

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

8.2 例子

#include 
#include 

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

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

	return 0;
}

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

9.1 介绍

int isalnum(int c);

头文件

C语言进阶(九) - 字符与字符串函数 - 5 - 字符函数_第12张图片

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

9.2 例子

#include 
#include 

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);

头文件

C语言进阶(九) - 字符与字符串函数 - 5 - 字符函数_第13张图片
点击转到cpluscplus.com官网 - iscntrl

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

10.2 例子

#include 
#include 

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

C语言进阶(九) - 字符与字符串函数 - 5 - 字符函数_第14张图片


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

11.1 介绍

int isprint(int c);

头文件

C语言进阶(九) - 字符与字符串函数 - 5 - 字符函数_第15张图片
点击跳转到cpluscplus.com官网 - isprint

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

11.2 例子

#include 
#include 

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);

头文件

C语言进阶(九) - 字符与字符串函数 - 5 - 字符函数_第16张图片

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

12.2 例子

#include 
#include 

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);

头文件

C语言进阶(九) - 字符与字符串函数 - 5 - 字符函数_第17张图片

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

13.2 例子

#include 
#include 

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);

头文件

C语言进阶(九) - 字符与字符串函数 - 5 - 字符函数_第18张图片

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

14.2 例子

#include 
#include 

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

结语

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


END

你可能感兴趣的:(C语言学习之路,c语言)