【字符函数】

图片来源于网络

✨博客主页:小钱编程成长记
博客专栏:进阶C语言
相关博文:字符串函数(一)、字符串函数(二)

字符函数

  • 字符函数
  • 1.字符分类函数
    • 1.1 iscntrl - 判断是否是控制字符
    • 1.2 isspace - 判断是否是空白字符
    • 1.3 isdigit - 判断是否是十进制数字0~9
    • 1.4 isxdigit - 判断是否是十六进制数字
    • 1.5 islower - 判断是否是小写字母
    • 1.6 isupper - 判断是否是大写字母
    • 1.7 isalph - 判断是否是字母
    • 1.8 isalnum - 判断是否是字母或数字
    • 1.9 ispunct - 判断是否是标点符号
    • 1.10 isgraph - 判断是否是任何图形字符(除了控制字符和空格)
    • 1.11 isprint - 判断是否是任何可打印字符
  • 2.字符转换函数
    • 2.1 tolower - 大写字母转小写字母
    • 2. 2 toupper - 小写字母转大写字母
  • 总结

字符函数

1. 字符函数分为 字符分类函数和字符转换函数。
2. 函数一次只能访问一个字符。
3. 头文件是ctype.h

1.字符分类函数

函数 如果它的参数符合下列条件就返回真
iscntrl 任何控制字符
isspace 空白字符:空格‘ ’,换页‘\f’,换行’\n’,回车‘\r’,制表符’\t’或者垂直制表符’\v’
isdigit 十进制数字 0~9
isxdigit 十六进制数字,包括所有十进制数字,小写字母af,大写字母AF
islower 小写字母a~z
isupper 大写字母A~Z
isalpha 字母az或AZ
isalnum 字母或者数字,az,AZ,0~9
ispunct 标点符号,任何不属于数字或者字母的图形字符(可打印)
isgraph 任何图形字符
isprint 任何可打印字符,包括图形字符和空白字符

输出非0,则说明结果为真

1.1 iscntrl - 判断是否是控制字符

具体介绍链接

int iscntrl ( int c );

控制字符是ASCII编码中,不可显示的字符。它们通常用于控制打印机、终端等设备的行为,例如换行、回车、光标移动等。控制字符包括在ASCII码表中ASCII码为0到31和127的字符

#include 
#include 

int main()
{
	char ch = '\n'; //控制字符
	int i = iscntrl(ch);
	printf("%d\n", i);

	return 0;
}

1.2 isspace - 判断是否是空白字符

具体介绍链接

int isspace ( int c );
#include 
#include 

int main()
{
	char ch = ' '; //空白字符
	int i = isspace(ch);
	printf("%d\n", i);

	return 0;
}

1.3 isdigit - 判断是否是十进制数字0~9

具体介绍链接

int isdigit ( int c );
#include 
#include 

int main()
{
	char ch = '3'; 
	int i = isdigit(ch); //判断是否是十进制数字0~9
	printf("%d\n", i);

	return 0;
}

1.4 isxdigit - 判断是否是十六进制数字

具体介绍链接

int isxdigit ( int c );
#include 
#include 

int main()
{
	char ch = 'a';
	int i = isxdigit(ch); //判断是否是十进制数字0~9
	printf("%d\n", i);

	return 0;
}

1.5 islower - 判断是否是小写字母

具体介绍链接
和大写类似

1.6 isupper - 判断是否是大写字母

具体介绍链接

int isupper ( int c );
#include 
#include 

int main()
{
    char ch = 'A';
    int result = isupper(ch); // 判断ch是否为大写字母

    if (result != 0)
    {
        printf("是大写字母\n");
    }
    else
    {
        printf("不是大写字母\n");
    }

    return 0;
}

1.7 isalph - 判断是否是字母

具体介绍链接

int isalpha ( int c );
#include 
#include 

int main()
{
    char ch = 'A';
    int result = isalpha(ch); // 判断ch是否为字母

    if (result != 0)
    {
        printf("是字母\n");
    }
    else
    {
        printf("不是字母\n");
    }

    return 0;
}

1.8 isalnum - 判断是否是字母或数字

具体介绍链接

int isalnum ( int c );
#include 
#include 

int main()
{
    char ch = 'A';
    int result = isalnum(ch); // 判断ch是否为字母或数字

    if (result != 0)
    {
        printf("是字母或数字\n");
    }
    else
    {
        printf("不是字母或数字\n");
    }

    return 0;
}

1.9 ispunct - 判断是否是标点符号

具体介绍链接

int ispunct ( int c );
#include 
#include 

int main()
{
    char ch = '.';
    int result = ispunct(ch); // 判断ch是否为标点符号

    if (result != 0)
    {
        printf("是标点符号\n");
    }
    else
    {
        printf("不是标点符号\n");
    }

    return 0;
}

1.10 isgraph - 判断是否是任何图形字符(除了控制字符和空格)

具体介绍链接

int isgraph ( int c );
#include 
#include 

int main()
{
    char ch = 'A';
    int result = isgraph(ch); // 判断ch是否为可打印字符但不包括空格

    if (result != 0)
    {
        printf("是可打印字符(不包括空格)\n");
    }
    else
    {
        printf("不是可打印字符或是空格\n");
    }

    return 0;
}

1.11 isprint - 判断是否是任何可打印字符

具体介绍链接

int isprint ( int c );
#include 
#include 

int main()
{
    char ch = 'A';
    int result = isprint(ch); // 判断ch是否为可打印字符

    if (result != 0)
    {
        printf("是可打印字符\n");
    }
    else
    {
        printf("不是可打印字符\n");
    }

    return 0;
}

2.字符转换函数

2.1 tolower - 大写字母转小写字母

具体介绍链接

int tolower ( int c );
//C语言规定参数和返回类型是int类型:是因为在字符在内存中存储的是整型(ASCII码),并且char类型小范围数据可以正常传给int类型的大范围数据。
#include 
#include 

int main()
{
	char arr1[10] = { 0 };
	scanf("%[^\n]s", arr1);//[^\n]的意思是一直读取到\n才停止(不包括\n)
	int i = 0;
	while (arr1[i++] = toupper(arr1[i]))
	{
		;
	}
	printf("%s\n", arr1);
	return 0;
}

2. 2 toupper - 小写字母转大写字母

具体介绍链接

int tolower ( int c );
#include 
#include 

int main()
{
	char arr2[10] = { 0 };
	int i = 0;
	//gets(arr2);
	int ch = 0;
	while ((ch = getchar())!= '\n')//getchar的返回类型是整型
	{
		arr2[i++] = (char)ch;//(char)不写也行
	}

	i = 0;
	while (arr2[i++] = tolower(arr2[i]))
	{
		;
	}
	printf("%s\n", arr2);
	return 0;
}

总结

这篇文章我们一起学习了字符函数。
感谢大家的阅读,大家一起进步!如果有错误的地方,可以在评论区指正。

点赞收藏加关注,C语言学习不迷路!
图片来源于网络

你可能感兴趣的:(进阶C语言,c语言,学习,软件工程,笔记,开发语言)